UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA SISTEMAS OPERATIVOS UNIDAD 3 PLANIFICACION DE PROCESOS Einstein afirmaba que deben haber explicaciones simples de la naturaleza, porque Dios no es arbitrario ni caprichoso. Tal fe no consuela a un ingeniero de software. Frederick Brooks, Jr. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 1 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ESTADO DE LOS PROCESOS Nuevo Nuevo Expedir Listo/ suspendido Listo Ejecución Ejecuci Fin de plazo ón Terminado Terminado suceso suceso Suspender Salir Bloqueado/ suspendido Bloqueado Bloquea Suspender do Con dos estados de suspensión Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 2 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PROCESOS: CAUSAS DE SUSPENSION Intercambio El sistema operativo necesita liberar suficiente memoria principal para cargar un proceso que está listo para ejecutarse. Otra razón del SO El sistema operativo puede suspender a un proceso subordinado o de utilidad, o a un proceso que se sospecha que sea el causan te de un problema. Solicitud de un usuario interactivo Un usuario puede querer suspender la ejecución de un programa con fines de depuración o en conexión con el uso de un recurso. Temporización Un proceso puede ejecutarse periódicamente (por ejemplo, un proceso de contabilidad o de supevisión del sistema) y puede ser suspendido mientras espera el siguiente intervalo de tiempo. Solicitud del proceso padre Un proceso padre puede querer suspender la ejecución de un descendiente para examinar o modificar el proceso suspendido o para coordinar la actividad de varios descendientes. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 3 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PROCESOS: ASIGNACION DE RECURSOS Memoria virtual Recursos del computador Procesador E/S E/S E/S Memoria principal Figura 3.9. Procesos y recursos (asignación de recursos en un instante de tiempo). Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4 Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 4 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PROCESOS: CAUSAS DE CONTEXT SWITCH •Interrupción de reloj: –El proceso en ejecución ha consumido la fracción máxima de tiempo permitida. •Interrupción de E/S. •Fallo de memoria: –La dirección de memoria se encuentra en la memoria virtual, por lo tanto debe ser llevada a la memoria principal. •Cepos: –Se ha producido un error. –Puede hacer que el proceso que se estaba ejecutando pase al estado de Terminado. •Llamada del supervisor: –Como la operación de abrir una archivo. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 5 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PROPOSITOS DE LA PLANIFICACION •Tiempo de respuesta. •Productividad. •Eficiencia del procesador. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 6 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA TIPOS DE PLANIFICACION Planificación a largo plazo Decisión de añadir procesos al conjunto de procesos a ejecutar Planificación a medio plazo Decisión de añadir procesos al conjunto de procesos que se encuentran parcial o completamente en la memoria Planificación a corto plazo Planificación de E/S Unidad 3: Planif de Procesos Decisión sobre qué proceso disponible será ejecutado en el procesador Decisión sobre qué solicitud de E/S pendiente será tratada por un dispositivo de E/S disponible Ing. Sergio Omar Aguilera 7 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA Ejecutando Listo Bloqueado Corto plazo Bloqueado suspendido Listo suspendido Medio plazo Nuevo Salida NIVELES DE PLANIFICACION Figura 9.1. Niveles de planificación. Unidad 3: Planif de Procesos Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4 Ing. Sergio Omar Aguilera 8 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA TIPOS DE PLANIFICACION Nuevo Planificación Planificación a largo plazo a largo plazo Listo/ suspendido Bloqueado/ suspendido Listo Planificación Planificación a medio plazo a corto plazo Ejecutando Salida Bloqueado Planificación a medio plazo Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4 Figura 9.1. Planificación y transiciones de estado de los procesos. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 9 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA TIPOS DE PLANIFICACION •Determina cuáles son los programas admitidos en el sistema. LARGO PLAZO MEDIANO PLAZO •Controla el grado de multiprogramación. •Cuantos más procesos se crean, menor es el porcentaje de tiempo en el que cada proceso se puede ejecutar. •Forma parte de la función de intercambio. •Se basa en la necesidad de controlar el grado de multiprogramación. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 10 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA •También conocido como distribuidor. CORTO PLAZO •Es el de ejecución más frecuente. •Se ejecuta cuando ocurre un suceso: –Interrupciones del reloj. CRITERIOS DE LA PLANIFICACION A CORTO PLAZO –Interrupciones de E/S. –Llamadas al sistema operativo. –Señales. •Orientados al usuario: –Tiempo de respuesta: •Periodo de tiempo transcurrido desde que se emite una solicitud hasta que la respuesta aparece en la salida. •Orientados al sistema: –Uso efectivo y eficiente del procesador. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 11 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA OTROS CRITERIOS DE PLAN. CORTO PLAZO •Relativos al rendimiento del sistema: –Cuantitativos. –Pueden evaluarse fácilmente. Algunos ejemplos son el tiempo de respuesta y la productividad. •No relativos al rendimiento del sistema: –Cualitativos. –Previsibilidad. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 12 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA Planificación a largo plazo Trabajos por lotes Tiempo de guarda Cola de listos Planificación a corto plazo Terminación Procesador Planificación a medio plazo Usuarios interactivos Cola de listos suspendidos PLANIFICACION: DIAGRAMA DE COLAS Planificación a medio plazo Cola de bloqueados suspendidos Cola de bloqueados Ocurre un suceso Espera de un suceso Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4 Figura 9.3. Diagrama de colas de planificación. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 13 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PLANIFICACION POR PRIORIDADES •El planificador seleccionará siempre a un proceso de mayor prioridad antes que a los de menor prioridad. •Tiene múltiples colas de Listos para representar cada nivel de prioridad. •Los procesos de prioridad más baja pueden sufrir inanición: –Permite que un proceso cambie su prioridad en función de su edad o su historial de ejecución. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 14 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PLANIFICACION POR PRIORIDADES Terminar Expedir Procesador Entrar Expulsión Espera de suceso Ocurre un suceso Cola de bloqueados Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4 Figura 9.4. Colas de prioridad. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 15 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA MODOS DE DECISION (por tipo de multitarea) •No preferente (No-Preemptiva): –Una vez que el proceso pasa al estado de Ejecución, continúa ejecutando hasta que termina o se bloquea en espera de una E/S. •Preferente (Preemptiva): –El proceso que se está ejecutando actualmente puede ser interrumpido y pasado al estado de Listos por el sistema operativo. –Permiten dar un mejor servicio ya que evitan que un proceso pueda monopolizar el procesador durante mucho tiempo. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 16 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA Proceso Instante de llegada Tiempo de servicio EJEMPLO DE APLICACION (Teorico) Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 17 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA FCFS (PRIMERO EN LLEGAR PRIMERO EN SERVIRSE) 0 5 10 15 20 1 2 3 4 5 • Cada proceso se incorpora a la cola de listos. • Cuando el proceso actual cesa su ejecución,se selecciona el proceso más antiguo de la cola. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 18 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA FCFS: CONCLUSIONES •Puede que un proceso corto tenga que esperar mucho tiempo antes de que pueda ser ejecutado. •Favorece a los procesos con carga de CPU: –Los procesos con carga de E/S tienen que esperar a que se completen los procesos con carga de CPU. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 19 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN (TURNO ROTATIVO) 0 5 10 15 20 1 2 3 4 5 • Utiliza la apropiación dependiente de un reloj. • Se determina una cantidad de tiempo que permite a cada proceso utilizar el procesador durante este periodo de tiempo. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 20 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN: CARACTERISTICAS •Periódicamente, se genera una interrupción de reloj. •Cuando se genera la interrupción, el proceso que está en ejecución se sitúa en la cola de Listos: –Se selecciona el siguiente trabajo. •Se conoce también como fracciones de tiempo. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 21 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA SPN ( PRIMERO EL PROCESO MAS CORTO) 0 5 10 15 20 1 2 3 4 5 • Es una política no preferente. • Se selecciona el proceso con menor tiempo esperado de ejecución. • Un proceso corto saltará a la cabeza de la cola, sobrepasando a trabajos largos. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 22 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA SPN: CONCLUSIONES •Se reduce la previsibilidad de los procesos largos. •Si la estimación de tiempo del proceso no es correcta, el sistema puede abandonar el trabajo. •Posibilidad de inanición para los procesos largos. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 23 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA SRT (MENOR TIEMPO RESTANTE) 0 5 10 15 20 1 2 3 4 5 • Es una versión preferente de la política de primero el proceso más corto. • Debe estimar el tiempo de proceso. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 24 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA SRT (MENOR TIEMPO RESTANTE) 0 5 10 15 20 1 2 3 4 5 • Es una versión preferente de la política de primero el proceso más corto. • Debe estimar el tiempo de proceso. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 25 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA REALIMENTACION 0 5 10 15 20 1 2 3 4 5 • Penaliza a los trabajos que han estado ejecutándose durante más tiempo. • No se conoce el tiempo de ejecución restante del proceso. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 26 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA Terminación Entrada Procesador Terminación Procesador Terminación Procesador Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-205-3177-4 REALIMENTACION Figura 9.10. Planificación con realimentación. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 27 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN CON PRIORIDADES: Condiciones 1. Sistema Multitarea No preferente (No-Preemptiva) 2. Sistema Multiprogramado 3. Sistema Mononúcleo – Monoprocesador. 4. Armado de colas con política FIFO. 5. Las IRQs se procesan con prioridad. 6. Existe un Tiempo Excluido (Texc) / Tproc >= Quantum. 7. Tdespach corresponde al OverTime / Tov <= Quantum. 8. Existe IRQs internas al Proceso e IRQs externas a los Procesos en competencia. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 28 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN CON PRIORIDADES: Condiciones 9. Hay distintos tipos de IRQs: IRQnm – IRQm – IRQsw 10. No se considera el Proceso INIT (Pinit) – Tiempo de Cambio de Contexto (Tctxt) – Tiempo de IRQ de Tiempo Excluido (Texc). 11. Prioridad de Acceso al Estado de Listo: Proceso que viene de Nuevo – Proceso que viene de Texc – Proceso que viene de Bloqueo. 12. Se pasan procesos desde Listo o Bloqueo a Suspendido en función del espacio en la RAM. 13. La ejecución de las IRQs maneja con prioridades de origen. 14. La peor condición: Sin procesos en Listo. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 29 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN CON PRIORIDADES Proceso Instante de llegada Tiempo de Servicio Tiempo de I/O A 0 5 IRQ final 1C/4C B 2 3 -- C 5 4 IRQ final 2C/2C D 7 2 -- E 8 6 -- •Delay = 1C (Por Overtime del Despachador) •Quantum = 2C •Llega una IRQ de I/O por una llamada de ejecución RCP, durante el inicio del Ciclo 14, y tiene una duración de 4C. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 30 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN CON PRIORIDADES Planilla de Resolución de Planificación de Procesos Procesos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 LISTO BLOQUEO EJECUCION FINAL Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 31 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ROUND ROBIN CON PRIORIDADES IRQ de C IRQ de A E D C B A OV 0 Listo EXE Bloque o 1 2 3 A I de A I de A, B OV A OV A 4 B 5 B I de A I de A A FIN Unidad 3: Planif de Procesos A 6 I de A, B, C OV A B, C 7 8 B, C, D B, C, D, E, C, D, E, C, D, E, C, D, E, D, E, A, D, E, A, I de C, D, E, D, E, A, D, E, A, A A A A, B B B A, B B B I de A I de A A 9 OV 10 B 11 B A 12 OV 13 C 14 C 15 OV C 16 I de C I de C C C I de A Ing. Sergio Omar Aguilera 32 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA PLANIFICACION EN UNIX Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 33 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA BANDAS DE PRIORIDAD EN UNIX •En orden decreciente de prioridad: –Intercambio. –Control de dispositivos de E/S de bloques. –Gestión de archivos. –Control de dispositivos de E/S de caracteres. –Procesos de usuario. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 34 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ESTADOS DE UN PROCESO EN UNIX/LINUX Ejecución en modo de usuario Ejecutando en modo de usuario. Ejecución en modo del núcleo Ejecutando en modo de núcleo. Listo para ejecutar y en memoria como el núcleo lo planifique. Dormido y en memoria Listo para ejecutar tan pronto Incapaz de ejecutar hasta que se produzca un suceso; el proceso está en memoria principal. Listo para ejecutar y descargado El proceso está listo para ejecutar, pero se debe cargar el proceso en memoria principal antes de que el núcleo pueda planificarlo para la ejecución. Dormido y descargado El proceso está esperando un suceso y ha sido expulsado al almacenamiento secundario. Expulsado El proceso retorna del modo delnúcleo al modo de usuario, pero el núcleo lo expulsa y realiza un cambio de contexto para planificar otro proceso. Creado El proceso está recién creado y aún no está listo para ejecutar. Zombie El proceso ya no existe, pero deja un registro para que lo recoja el proceso padre. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 35 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA ESTADOS DE UN PROCESO EN UNIX/LINUX Creado Creado Expulsado Expulsado Ejecución Ejecución en enmodo modo de usuario usuario de Volver a planificar el proceso Listo para ejecutar y en memoria Sin memoria suficiente (sólo sistema de intercambio) Listo para ejecutar y descargado Ejecución Ejecución en enmodo modo del núcleo del núcleo Dormir Interrupción, retorno de interrupción Despertar Despertar Terminar Zombie Dormido Dormido en en memoria memoria Dormido y descargado Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4 Figura 3.16. Diagrama de transición de estados de los procesos en UNIX. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 36 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA RELACIONES ENTRE PROCESOS TIPOS PADRE - HIJO GRUPO DE PROCESOS SESIONES MANIPULACION DE PROCESOS OPERACIONES Unidad 3: Planif de Procesos CREACION (system, fork, exec). MUERTE (kill) SUICIDIO (exit, abort) ESPERA DE FIN HIJO (wait) Ing. Sergio Omar Aguilera 37 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA INFORMACION DE USUARIO FUNCION getlogin: Retorna nombre del Usr que accede Librería: unistd.h FUNCION times & getursage: Retorna los tiempos de los procesos Librería: sys/times.h TIEMPOS T normal (T transcurrido) T de CPU del USR (T servicio Modo USR) T de CPU del Sistema (T ejecución de Codigo Kernel) Struct rusage: Almacena el conjunto de recursos usados Librería: sys/ resource.h Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 38 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA RECURSOS USADOS Struct rusage Unidad 3: Planif de Procesos T USR usado T Sistema usado Máx. Tamaño para residentes. Tamaño Memoria compartida. Tamaño Memoria de datos no compartidos. Tamaño de pila no compartida. Referencias a páginas. Fallos de Página. Permutaciones. Operaciones de entrada en Bloque. Operaciones de salida en Bloque Mensajes enviados. Mensajes recibidos. Especificaciones voluntarias de contexto. Especificaciones involuntarias de contexto. Ing. Sergio Omar Aguilera 39 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA Bibliografia 1. Programación en Linux, con ejemplos. Kurt Wall. QUE, Prentice Hall. Madrid. 2000. 2. Sistemas Operativos. 5ta Ed. William Stalling. Pearson Prentice Hall. Madrid. 2006 3. Sistemas Operativos. 7ma Ed. William Stalling. Pearson Prentice Hall. Madrid. 2012 4. Sistemas Operativos Modernos. Andrew. S. Tanenbaum. Prentice-Hall. Interamericana S.A. Madrid, 2009. 5. Unix, Sistema V Versión 4. Rosen,Rozinsky y Farber.McGraw Hill. NY 2000. 6. Lunix, Edición especial. Jack Tackett, David Guntery Lance Brown. Ed. Prentice Hall. 1998. 7. El Libro de Linux. Syed M. Sarwar, Robert Koretsky y Syed. A. Sarwar. Ed. Addison Wesley. 2007. España. Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 40 UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA FIN UNIDAD 3 PLANIFICACION DE PROCESOS May the force be with you Unidad 3: Planif de Procesos Ing. Sergio Omar Aguilera 41