1. UNIDAD II (continuación) Administración del Procesador Niveles de planificación Objetivos de la planificación Criterios de planificación Scheduler(scheduling) Estrategias de planificación del procesador
2. 1. Niveles de Planificación El Administrador (Planificador) del Procesador define cuándo y a quéprocesosasignar el CPU. Se considerantresnivelesimportantes de planificación:
3. Trabajos esperando entrada ENTRADA DE TRABAJOS Trabajos esperando iniciación INICIACIÓN DE TRABAJOS Trabajos suspendidos en espera de activación SUSPENDER ACTIVAR Procesos activos BLOQUEO O TIEMPO EXCEDIDO DESPACHO Procesos en ejecución TERMINAR Proceso terminado 1. Niveles de Planificación Planificación de alto nivel Planificación nivel intermedio Planificación de bajo nivel
4. 2. Objetivos de Planificación Se debe buscar que los procesos obtengan sus turnos de ejecución apropiadamente, conjuntamente con un buen rendimiento y minimización de la sobrecarga (overhead) del planificador mismo.
5. 3. Criterios de Planificación Para poder realizar los objetivos de la planificación, los mecanismos de planificación deben considerar:
7. 4. Scheduler(Scheduling) Programa dentro del sistema operativo que administra de manera eficiente el procesador. Funciones principales: a) Dar de alta el PCB b) Hacer actualizaciones al PCB c) Dar de baja el PCB d) Asigna tiempos de ejecución a cada proceso e) Organiza la fila de listos y bloqueado
8. 5. Estrategias de Planificación del Procesador (Estrategias de turno de asignación) PROCESO 1 CPU PROCESO 2 PROCESO 3 PROCESO 4 PROCESO 5 ¿Qué proceso pasa a ejecutarse al procesador? “Fila de procesos listos” Por prioridad El trabajo más corto primero. FIFO Round Robin Por política
9. a. Por prioridad Cada proceso tiene asociada una prioridad y el proceso ejecutable con máxima prioridad es el que tiene permiso de ejecución. Si existen varios procesos de mayor prioridad que otros, pero entre ellos con la misma prioridad, pueden ejecutarse éstos de acuerdo a su orden de llegada u otro algoritmo de planificación. Ventaja: Es flexible al permitir que ciertos procesos se ejecuten primero, e incluso, por más tiempo. Desventajas: Puede provocar aplazamiento indefinido en los procesos de baja prioridad. Provoca que el sistema sea impredecible para los procesos de baja prioridad.
10. a. Por prioridad Por ejemplo, entran procesos al sistema con las siguientes prioridades: Prioridad 20: Prioridad 10: Prioridad 5: Prioridad 1: 7 4 5 6 1 NO PUEDEN ENTRAR AL MISMO TIEMPO A EJECUTARSE, EL SISTEMA OPERATIVO APLICA OTRA ESTRATEGIA 2 3
11. b. El trabajo más corto primero Se ejecutan primero aquellos trabajos que necesitan menos tiempo de ejecución, y de esta manera se obtiene el mejor tiempo de respuesta promedio para los procesos. Ventaja: Se ejecuta un mayor número de procesos. Desventaja: Es difícil llevar a cabo porque se requiere saber o tener una estimación de cuánto tiempo necesita el proceso para terminar.
12. b. El trabajo más corto primero Por ejemplo, entran procesos al sistema con los siguientes tiempos de ejecución, en la tercer columna se muestra el orden de ejecución de los procesos. Proceso A B C D E Tiempo de ejecución 26 u. 18 u. 24 u. 12u. 4 u. ORDEN DE EJECUCIÓN E – 4 u. D – 12 u. B – 18 u. C – 24 u. A – 26 u.
13. c. FIFO (primero en llegar, primero en ejecutarse) c) FIFO (primero en llegar, primero en ejecutarse) Los procesos reciben su turno de ejecución conforme llegan. Ventaja: Es justo y no provoca aplazamiento. Desventajas: No aprovecha ninguna característica de los procesos. Puede no servir para un proceso de tiempo real. ... termina CPU 3 1 2 4 n
14. d. Round Robin (RR) Los procesos se despachan en FIFO, pero se les otorga una cantidad limitada de tiempo de cpu conocida como quantum o time slice. Los procesos están ordenados en una cola circular. Si un proceso no termina antes que expire su tiempo en CPU, se le quita la CPUyse asigna al siguiente proceso en espera. El proceso que sale del CPU se coloca al final de la fila de procesos Listos. Ventaja: es simple y justo. No provoca aplazamiento indefinido. Tiempo de ejecución termina CPU 3 1 2 4 1
15. e. Por política Una forma de asignar el turno de ejecución es por política, en la cual se establece algún reglamento específico que el planificador debe obedecer. Ejemplo: “Que todos los procesos reciban el mismo tiempo de uso de CPU en cualquier momento”.
16. Por ejemplo, tenemos dos procesos que han pasado a cpu a ejecutarse, recibiendo un total de 20 u de tiempo cada uno, en intervalos de 5 u. 1 2 3 5 20 5 5 5 5 5 5 5 5 5 5 Cuando el Proceso 2 se estaba terminando de ejecutar y completa sus 20 unidades de tiempo, llega el proceso 3 y pasa al procesador. Inmediatamente el cpu le da 20 unidades para ejecutarse, para que se cumpla la política y después sigue asignando unidades de tiempo de 5.