Algoritmo para calendarización de procesos

3
Moisés Ramón Ramírez ID: 1057882 / Mat: 13-0745 ¿Qué es la calendarización por el trabajo más corto primero o SJF? Así como su nombre lo dice esta calendarización planifica la ejecución de los procesos dependiendo de su tiempo de ejecución, el proceso de menor tiempo de ejecución 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 calendarización tomará el de menor tiempo de ejecución y lo llevará a ejecución de primero, luego entre los tres procesos restantes tomará el de menor tiempo de ejecución 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 ejecución de 2 seg, C tiene un tiempo de ejecución de 3 seg y A tiene un tiempo de ejecución de 10 seg. Si estos procesos se ejecutan en el orden de llegada el tiempo será mayor a que si se ejecutan por el más corto primero. Entonces en un caso como este SJF utiliza la información capturada anteriormente acerca de los tiempos de ejecución y los organiza por el tiempo de ejecución de menor a mayor, optimizando el tiempo de espera por ejecución para cada proceso y con esto dando una impresión de mayor velocidad en el sistema. El orden de ejecución sería B, C y por último A. ¿Qué es el método de round-robin? El método de round-robin o método circular es un método que trabaja de la siguiente forma: establece a cada proceso algo llamado quantum (que representa el tiempo de ejecución continua de cada proceso por chance de ejecución), para con este regular el tiempo que consume cada proceso en la CPU, cuando se le acaba el tiempo de ejecución 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 método se llama así. ¿En qué consiste la calendarización por prioridad? Es una calendarización que se basa en prioridades asignadas de manera estática o dinámica y por las cuales decide que proceso debe ejecutarse. Una variación de esta técnica de calendarización 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 calendarización circular (round-robin). Esta calendarización puede toparse con inanición.

description

Respuesta abiertas acerca de algunos algoritmos para la calendarización de procesos.

Transcript of Algoritmo para calendarización de procesos

  • 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)