#include #include #include "sched_rr.h" #include "basesched.h" #include using namespace std; SchedRR::SchedRR(vector argn) { // Round robin recibe la cantidad de cores y sus cpu_quantum por parĂ¡metro nucleos = argn[0]; quantum = argn[1]; cur_pid = IDLE_TASK; } SchedRR::~SchedRR() { p_map.clear(); } void SchedRR::load(int pid) { p_map[pid]=WAITING; } void SchedRR::unblock(int pid) { p_map[pid]=READY; } int SchedRR::next_pid(){ return IDLE_TASK; } int SchedRR::tick(int cpu, const enum Motivo m) { switch(m) { case TICK: p_map[cur_pid]=READY; break; case BLOCK: p_map[cur_pid]=BLOCKED; break; case EXIT: p_map.erase(cur_pid); break; } cur_pid=next_pid(); p_map[cur_pid]=RUNNING; return 0; }