Download - Algoritmo para calendarización de procesos

Transcript
  • Moiss Ramn Ramrez

    ID: 1057882 / Mat: 13-0745

    Qu es la calendarizacin por el trabajo ms corto primero o SJF?

    As como su nombre lo dice esta calendarizacin planifica la ejecucin de los

    procesos dependiendo de su tiempo de ejecucin, el proceso de menor tiempo de

    ejecucin dentro del grupo de los posibles se ejecuta primero y se repite este

    procedimiento con los siguientes.

    Describa el algoritmo utilizado en SJF

    Lo intentar describir mediante dos (2) ejemplos:

    1) Si se presentan 4 procesos, este tipo de calendarizacin tomar el de menor tiempo

    de ejecucin y lo llevar a ejecucin de primero, luego entre los tres procesos restantes

    tomar el de menor tiempo de ejecucin y lo colocar de segundo y as sucesivamente.

    2) Supongamos que se presentan 3 procesos A, B y C respectivamente, que requieren

    ejecutarse en la CPU, pero B tiene un tiempo de ejecucin de 2 seg, C tiene un tiempo

    de ejecucin de 3 seg y A tiene un tiempo de ejecucin de 10 seg. Si estos procesos se

    ejecutan en el orden de llegada el tiempo ser mayor a que si se ejecutan por el ms

    corto primero. Entonces en un caso como este SJF utiliza la informacin capturada

    anteriormente acerca de los tiempos de ejecucin y los organiza por el tiempo de

    ejecucin de menor a mayor, optimizando el tiempo de espera por ejecucin para cada

    proceso y con esto dando una impresin de mayor velocidad en el sistema. El orden de

    ejecucin sera B, C y por ltimo A.

    Qu es el mtodo de round-robin?

    El mtodo de round-robin o mtodo circular es un mtodo que trabaja de la

    siguiente forma: establece a cada proceso algo llamado quantum (que representa el

    tiempo de ejecucin continua de cada proceso por chance de ejecucin), para con este

    regular el tiempo que consume cada proceso en la CPU, cuando se le acaba el tiempo

    de ejecucin el proceso el cambiando por el siguiente (cambio de contexto) y pues en

    la cola al final. Como la forma en que se calendarizan los procesos parece en ronda o

    circulo este mtodo se llama as.

    En qu consiste la calendarizacin por prioridad?

    Es una calendarizacin que se basa en prioridades asignadas de manera esttica

    o dinmica y por las cuales decide que proceso debe ejecutarse. Una variacin de esta

    tcnica de calendarizacin es agrupar los procesos de igual prioridad por clases, en este

    caso se aplican los criterios de prioridad a las clases y a los procesos dentro de las clases

    se la aplica calendarizacin circular (round-robin). Esta calendarizacin puede toparse

    con inanicin.

  • Cmo es diferente la calendarizacin de procesos de thread scheduling?

    Estuve buscando diferencias y no encontr, tambin por mi parte creo que no

    hay diferencia en los mtodos, tcnicas y algoritmos. De existir alguna considero que

    es por las mismas diferencias que encierran los procesos y los thread entre ellos.

    Qu es SMP?

    SMP o multiprocesador simtrico es un modelo de sistemas operativos

    multiprocesador que equilibra los procesos y la memoria de forma dinmica.

    Ilustracin 1 SMP, tomada del libro Sistemas Operativos Modernos por Tanenbaum

    Cmo se realiza la calendarizacin de CPU a tiempo real?

    En general, los sistemas de tiempo real se categorizan como de tiempo real duro, lo cual significa que hay tiempos lmite absolutos que se deben cumplir, y como de

    tiempo real suave, lo cual significa que no es conveniente fallar en un tiempo lmite en

    ocasiones, pero sin embargo es tolerable.

    En ambos casos, el comportamiento en tiempo real se logra dividiendo el programa en

    varios procesos, donde el comportamiento de cada uno de stos es predecible y se conoce

    de antemano. Por lo general, estos procesos tienen tiempos de vida cortos y pueden

    ejecutarse hasta completarse en mucho menos de 1 segundo. Cuando se detecta un

    evento externo, es responsabilidad del planificador planificar los procesos de tal forma que

    se cumpla con todos los tiempos lmite.

    Los eventos a los que puede llegar a responder un sistema de tiempo real se pueden

    categorizar como peridicos (que ocurren a intervalos regulares) o aperidicos (que

    ocurren de manera impredecible). Tal vez un sistema tenga que responder a varios flujos de

    eventos peridicos. Dependiendo de cunto tiempo requiera cada evento para su

  • procesamiento, tal vez ni siquiera sea posible manejarlos a todos. Dependiendo de cunto

    tiempo requiera cada evento para su procesamiento, tal vez ni siquiera sea posible

    manejarlos a todos. Por ejemplo, si hay m eventos peridicos y el evento i ocurre con el

    periodo Pi y requiere Ci segundos de tiempo de la CPU para manejar cada evento, entonces

    la carga slo se podr manejar si

    =1

    1

    Se dice que un sistema de tiempo real que cumple con este criterio es planificable.

    Los algoritmos de planificacin en tiempo real pueden ser estticos o dinmicos. Los

    primeros toman sus decisiones de planificacin antes de que el sistema empiece a

    ejecutarse. Los segundos lo hacen durante el tiempo de ejecucin. La planificacin esttica

    slo funciona cuando hay informacin perfecta disponible de antemano acerca del trabajo

    que se va a realizar y los tiempos lmite que se tienen que cumplir. Los algoritmos de

    planificacin dinmicos no tienen estas restricciones. (Tomado del libro de Sistemas operativos modernos de Tanenbaum)