#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; }; int ready_at(uint); void mostrar_estados(); uint next_pid(); uint pid_queue(uint); uint n_colas; uint* q_cola; std::vector< std::map > v_cola; typedef std::map::iterator it_type; }; #endif