Wrap text
Report abuse
|
|
/*
* 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;
}
|