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;
}