#ifndef KERNEL_H #define KERNEL_H #include <vector> #include "PhysicalPage.h" #include "PageTable.h" #include "List.h" #include "Process.h" class Kernel { public: List<PhysicalPage> free_pages, busy_pages; PhysicalPage *swapped_page; std::vector<Process> RunQ; Kernel(unsigned int RunQ_max_length, const List<PhysicalPage> &free_pages, const List<PhysicalPage> &busy_pages); void page_fault(PageTable *page_table, unsigned int idx); void stat_update(); }; #endif //KERNEL_H