#ifndef __SCHED_MFQ__ #define __SCHED_MFQ__ #define uint unsigned int #include #include #include "basesched.h" using namespace std; class SchedMFQ : public SchedBase { public: SchedMFQ(std::vector argn); ~SchedMFQ(); virtual void initialize() {}; virtual void load(int pid); virtual void unblock(int pid); virtual int tick(int n, const enum Motivo m); private: enum state { READY, BLOCKED, RUNNING }; struct process { enum state state; uint quantum_count; uint queue; }; uint next_pid(); int switch_task(); uint n_colas; map v_process; vector> v_queues; vector v_queues_quantum; }; #endif