Planificación de proceso-SO
Enviado por snndg • 7 de Mayo de 2019 • Apuntes • 1.938 Palabras (8 Páginas) • 296 Visitas
2/10/2018
Agenda ➢Introducción. ➢Despachador. ➢Clases de procesos. ➢Esquemas de planificación. ➢Criterios de planificación. ➢Algoritmos de planificación. ➢FCFS. ➢SJF ➢Prioridades. ➢Round-Robin. ➢Multilevel-Queue. ➢Multilevel-feedback-Queue. ➢Sistemas multiprocesadores.
2/10/2018 2
Introducción
➢La planificación (“scheduling”) es la base para lograr la multiprogramación. ➢Un sistema multiprogramado tendrá varios procesos que requerirán el recurso
procesador a la vez. ➢Esto sucede cuando los procesos están en estado: Listo (“ready”). ➢Si existe un procesador disponible y existen procesos en estado “ready”, se debe elegir el que será asignado al recurso para ejecutar. ➢El componente del sistema operativo que realiza la elección del proceso es llamada planificador (“scheduler”)
2/10/2018 3
Despachador
➢Es el módulo del Sistema Operativo que da el control de la CPU al proceso seleccionado por el planificador de corto plazo. ➢Esto implica:
➢Cambio de contexto: Salvar registros del procesador en PCB del proceso saliente y luego cargar los registros con los datos del PCB del proceso entrante. ➢Cambiar el bit de modo a usuario. ➢Saltar a la instrucción adecuada que había quedado del proceso que se asignó a la CPU (según el registro del “program counter”). ➢La latencia del despachador debe ser la menor posible. ➢El planificador es el responsable de seleccionar el próximo proceso a ejecutarse.
2/10/2018 4
➢Largo plazo:
1. Determina qué programas son admitidos al sistema para ejecución. 2. Controla el grado de multiprogramación. 3. Mientras más procesos son admitidos, cada uno tendrá un porcentaje meno de uso del procesador. ➢Mediano plazo:
1. Determina si agregar más programas a los que ya están parcialmente o totalmente en memoria principal. ➢Corto plazo:
1. Determina que proceso es ejecutado en el procesador. 2. Se ejecuta frecuentemente y debe ser eficiente. 3. Eventos típicos que desencadena al despachador: interrupciones de reloj, interrupciones de I/O, llamados al sistema, señales, etc.
2/10/2018 5
Tipos de Planificador
➢Existen distintas políticas de planificación que serán exitosas según la clase de procesos que ejecuten. ➢En general los procesos tienden a ser: o más intensivos en el uso de procesador, o mas intensos en el uso de operaciones de E/S. ➢Los procesos tienen ciclos de ráfagas de ejecución (CPU-burst) y ciclos de ráfagas de espera de operaciones de E/S (I/O burst). 1. Procesos CPU-bound: Los procesos que contienen un alto uso de procesador son llamados CPU-bound o compute-bound. 2. Procesos I/O-bound: los procesos que realizan muchos accesos a operaciones de E/S son llamados I/O-bound. ➢La prioridad que tenga un proceso frente a los demás para acceder al recurso será inversamente proporcional al uso que haga del recurso.
2/10/2018 6
Clases de procesos
2/10/2018 7
Clases de procesos
➢Los momentos en que el planificador es invocado son:
1. Cuando un proceso se bloquea: por ejemplo cuando inicia una operación de E/S o espera a que termine un hijo, etc. 2. Cuando un proceso cambia del estado ejecutando al estado listo. Por ejemplo al ocurrir una interrupción. 3. Cuando ocurre una interrupción de E/S y un proceso pasa del estado bloqueado a Listo. 4. Cuando se crea un proceso. 5. Cuando un proceso finaliza su ejecución. ➢Cuando ocurre 1 o 5, el planificador es invocado debido a que el proceso en ejecución libera el procesador. ➢Si el planificador es invocado cuando ocurre 2, 3 o 4, se dice que este es “expropiativo” (“preemptive”), ya que puede quitar el procesador al proceso que estaba en ejecución.
2/10/2018 8
Esquemas de planificación
➢ Sistemas operativos con planificadores “no expropiativos” (“nom.preemptive”) son los que asignan el recurso procesador a un proceso y hasta que este no lo libere, ya sea porque finaliza su ejecución o se bloquea, no se vuelve a ejecutar el planificador. ➢Sistemas operativos con planificadores “expropiativos” (“preemptive”) son que los que pueden expropiar el recurso procesador a un proceso cuando otro proceso entra en estado listo (ya sea porque es nuevo o porque se desbloqueó) o porque se le impone un límite de tiempo para ejecutar.
2/10/2018 9
Esquemas de planificación
➢Los esquemas de planificación son útiles según el ambiente donde sean aplicados:
✓Sistemas por lotes:. Como no existe interacción con usuarios, los planificadores no expropitativos son ideales. ✓Sistemas interactivos: Debido a que existen procesos de usuarios ejecutando a la vez, los planificadores expropiativos son ideales para mantener un buen tiempo de respuesta para los usuarios. ✓Sistemas de tiempo real: No es necesario un planificador expropiativo ya que los procesos pueden que no se ejecuten por un buen tiempo, pero cuando lo hacen es por un período muy corto.
2/10/2018 10
Esquemas de planificación
➢Los algoritmos de planificación tendrán distintas propiedades y favorecerán cierta clase de procesos. ➢Es necesario definir criterios para poder evaluar los algoritmos de planificación:.
➢Utilización de CPU (CPU utilization): Es el porcentaje de uso (en cuanto a ejecución de tareas o del sistema que son consideradas útiles) que tiene un procesador. ➢Rendimiento (Throughput): Es el número de procesos que ejecutaron completamente por unidad de tiempo (una hora por ejemplo). ➢Tiempo de retorno (Turnaround time): Es el intervalo de tiempo desde que un proceso es cargado hasta que este finaliza su ejecución. ➢Tiempo de espera (Waiting time): Es la suma de los intervalos de tiempo que un proceso estuvo en la cola de procesos listos (ready queue). ➢Tiempo de respuesta (Response time): Es el intervalo de tiempo desde que un proceso es cargado hasta que brinda su primera respuesta. Es útil en sistemas interactivos.
...