/* * Planificador.c * Noviembre 2008 - Fede Diaz (aka nordri) - http://nordri.blogsome.com */ #include #include #include int main(int argc, char** argv) { int pid = 0; int param = 0; int q = 0; int plan = 0; int max_prioridad; struct timespec sts; struct sched_param ssp = { /* Se inicializa la estructura del */ .sched_priority = 99, /* planificador */ }; /* Saber mi pid */ pid = getpid(); /* Aplicar política */ politica = sched_setscheduler(pid, SCHED_RR, &ssp); if (politica == -1) { perror("sched_setscheduler"); exit(EXIT_FAILURE); } /* Devuelve 0 si éxito */ param = sched_getparam(pid, &ssp); if (param == -1) { perror("sched_getparam:"); exit(EXIT_FAILURE); } /* Queremos saber el intervalor del cuanto */ q = sched_rr_get_interval(pid, &sts); if (q == -1) { perror("sched_rr_get_interval"); exit(EXIT_FAILURE); } /* Queremos saber la prioridad máxima del proceso en la política */ max_prioridad = sched_get_priority_max(SCHED_RR); printf("Mi pid: %d\n", pid); printf("Valor de prioridad: %d\n", ssp.sched_priority); /* Valor numérico del planificador */ printf("Entra con planificador: %d\n", sched_getscheduler(pid)); printf("El cuanto vale: %ld\n", sts.tv_nsec); printf("Maxima prioridad de RR: %d\n", max_prioridad); return 0; }