-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKernel.h
More file actions
38 lines (32 loc) · 730 Bytes
/
Kernel.h
File metadata and controls
38 lines (32 loc) · 730 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//
// Created by roy on 26/03/2023.
//
#ifndef OSFILE_KERNEL_H
#define OSFILE_KERNEL_H
#include "BufferManager.h"
#include "DiskManager.h"
#include "FileSystem.h"
#include "User.h"
#include "FileManager.h"
class Kernel {
public:
Kernel();
~Kernel();
static Kernel& Instance();
BufferManager& GetBufferManager();
DiskDriver& GetDiskDriver();
FileSystem& GetFileSystem();
FileManager& GetFileManager();
User& GetUser();
SuperBlock& GetSuperBlock();
void Reset();
private:
static Kernel instance;
DiskDriver diskDriver;
SuperBlock superBlock;
BufferManager bufferManager;
FileSystem fileSystem;
FileManager fileManager;
User user;
};
#endif //OSFILE_KERNEL_H