Moved task management classes to scheduler.hpp
This commit is contained in:
45
src/scheduler.hpp
Normal file
45
src/scheduler.hpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef SCHEDULER_H
|
||||
#define SCHEDULER_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
namespace kernel
|
||||
{
|
||||
|
||||
class Process
|
||||
{
|
||||
public:
|
||||
|
||||
Process();
|
||||
|
||||
size_t priority;
|
||||
|
||||
void* stack;
|
||||
|
||||
};
|
||||
|
||||
class ProcessQueue
|
||||
{
|
||||
public:
|
||||
|
||||
ProcessQueue(Process** array);
|
||||
|
||||
Process* extractMin();
|
||||
|
||||
void insert(Process* n);
|
||||
|
||||
void remove(Process* n);
|
||||
|
||||
private:
|
||||
|
||||
void heapify(size_t index);
|
||||
|
||||
Process** m_array;
|
||||
|
||||
size_t m_size;
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user