Tema del día: Implementación de Procesos y Planificación
Objetivos <ul><li>En esta clase trataremos de: </li></ul><ul><ul><li>Repasar el concepto de proceso e hilo. </li></ul></ul...
Repaso <ul><li>Qué es un proceso? </li></ul><ul><li>Qué es un hilo? </li></ul>
Repaso <ul><li>Estados de un Proceso: </li></ul>Modelo de Cinco Estados Nuevo Listo Ejecutando Bloqueado Terminado
Repaso <ul><li>Estados de un Proceso: </li></ul>Modelo con Estados Suspendidos Nuevo Listo Ejecutando Bloqueado Terminado ...
Implementación <ul><li>Atributos de un proceso: </li></ul><ul><li>Bloque de control de procesos (PCB). </li></ul><ul><ul><...
Planificación de la CPU <ul><li>Ejecución de un Proceso </li></ul>(a) Proceso CPU intensivo. (b) Proceso E/S intensivo.
Planificación de la CPU <ul><li>Terminología: </li></ul><ul><li>Throughput : # de procesos ejecutados por unidad de tiempo...
Planificación de la CPU <ul><li>Objetivos: </li></ul><ul><li>Reparto equitativo de la CPU. </li></ul><ul><li>Eficiencia (m...
Planificación de la CPU <ul><li>Tipos de Planificación: </li></ul>Nuevo Listo Ejecutando Bloqueado Terminado Listo y Suspe...
Planificación de la CPU <ul><li>Ejemplo: </li></ul>Proceso Tiempo CPU P1 24 P2  3 P3   3  <ul><li>Orden de llegada: P1, P2...
Planificación de la CPU <ul><li>FCFS (First Come First Served) </li></ul><ul><li>Orden de llegada: P2, P3, P1 </li></ul><u...
Planificación de la CPU <ul><li>SJF/SJN (Shortest Job First/Next): </li></ul><ul><li>Asocia a cada proceso la longitud del...
Planificación de la CPU <ul><li>SJF (Sin Expulsión) </li></ul>Proceso Arribo  CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 Tiem...
Planificación de la CPU <ul><li>SRTF (SJF con Expulsión) </li></ul>Proceso Arribo  CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4...
Planificación de la CPU <ul><li>SJF/SJN (Shortest Job First/Next): </li></ul><ul><li>Es muy complejo calcular la longitud ...
Planificación de la CPU <ul><li>Planificación por prioridades: </li></ul><ul><li>A cada proceso se asocia una prioridad N....
Planificación de la CPU <ul><li>Cola Circular (Round Robin): </li></ul><ul><li>A cada proceso se le cede la CPU durante un...
Planificación de la CPU <ul><li>Ejemplo  q =20: </li></ul>Proceso Tiempo CPU P1 53 P2 17 P3 68 P4   24 <ul><li>Normalmente...
Bibliografía <ul><li>Esta clase  debe  ser ampliada viendo: </li></ul><ul><ul><li>Carretero (S.O. Visión Aplicada) (1ra. e...
Gracias !   Ing. Gabriel E. Arellano [email_address] http://www.gabriel-arellano.com.ar/so/ (2008) Gabriel E. Arellano Per...
Próxima SlideShare
Cargando en…5
×

Procesos y Planificación de la CPU

19.640 visualizaciones

Publicado el

Presentación sobre Planificación de la CPU de la cátedra Sistemas Operativos - UTN, FRCU.

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
19.640
En SlideShare
0
De insertados
0
Número de insertados
85
Acciones
Compartido
0
Descargas
308
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Procesos y Planificación de la CPU

  1. 1. Tema del día: Implementación de Procesos y Planificación
  2. 2. Objetivos <ul><li>En esta clase trataremos de: </li></ul><ul><ul><li>Repasar el concepto de proceso e hilo. </li></ul></ul><ul><ul><li>Analizar las cuestiones de implementación de procesos e hilos. </li></ul></ul><ul><ul><li>Conocer las problemáticas de la planificación del uso del procesador así como las diversas estrategias propuestas para solucionarlas. </li></ul></ul><ul><ul><li>Evaluar las ventajas y desventajas de cada estrategia de implementación. </li></ul></ul>
  3. 3. Repaso <ul><li>Qué es un proceso? </li></ul><ul><li>Qué es un hilo? </li></ul>
  4. 4. Repaso <ul><li>Estados de un Proceso: </li></ul>Modelo de Cinco Estados Nuevo Listo Ejecutando Bloqueado Terminado
  5. 5. Repaso <ul><li>Estados de un Proceso: </li></ul>Modelo con Estados Suspendidos Nuevo Listo Ejecutando Bloqueado Terminado Listo y Suspendido Bloqueado y Suspendido
  6. 6. Implementación <ul><li>Atributos de un proceso: </li></ul><ul><li>Bloque de control de procesos (PCB). </li></ul><ul><ul><li>Process ID. </li></ul></ul><ul><ul><li>Estado. </li></ul></ul><ul><ul><li>Registros y PC. </li></ul></ul><ul><ul><li>Información de Memoria. </li></ul></ul><ul><ul><li>Descriptores de Archivos Abiertos. </li></ul></ul><ul><ul><li>Información de Contabilidad. </li></ul></ul><ul><ul><li>Punteros a otras estructuras de datos del S.O. </li></ul></ul>
  7. 7. Planificación de la CPU <ul><li>Ejecución de un Proceso </li></ul>(a) Proceso CPU intensivo. (b) Proceso E/S intensivo.
  8. 8. Planificación de la CPU <ul><li>Terminología: </li></ul><ul><li>Throughput : # de procesos ejecutados por unidad de tiempo (de principio a fin). </li></ul><ul><li>Tiempo de retorno : tiempo que tarda en completar su ejecución un proceso. </li></ul><ul><li>Tiempo de espera : tiempo total que pasa un proceso en la cola de listos. </li></ul><ul><li>Tiempo de respuesta : tiempo transcurrido desde que se hace una solicitud hasta recibir la respuesta. </li></ul>
  9. 9. Planificación de la CPU <ul><li>Objetivos: </li></ul><ul><li>Reparto equitativo de la CPU. </li></ul><ul><li>Eficiencia (maximizar uso de la CPU). </li></ul><ul><li>Minimizar tiempo de respuesta (interactivo). </li></ul><ul><li>Minimizar tiempo de retorno (batch). </li></ul><ul><li>Maximizar throughput (batch). </li></ul><ul><li>Cumplir con tiempos límites (tiempo real). </li></ul>
  10. 10. Planificación de la CPU <ul><li>Tipos de Planificación: </li></ul>Nuevo Listo Ejecutando Bloqueado Terminado Listo y Suspendido Bloqueado y Suspendido Planificación a Largo Plazo Planificación a Mediano Plazo Planificación a Corto Plazo
  11. 11. Planificación de la CPU <ul><li>Ejemplo: </li></ul>Proceso Tiempo CPU P1 24 P2 3 P3 3 <ul><li>Orden de llegada: P1, P2, P3 </li></ul><ul><li>Tiempo de espera: P1 = 0; P2 = 24; P3 = 27 </li></ul><ul><li>Tiempo Medio de Espera: (0 + 24 + 27)/3 = 17 </li></ul>P 1 P 2 P 3 24 27 30 0
  12. 12. Planificación de la CPU <ul><li>FCFS (First Come First Served) </li></ul><ul><li>Orden de llegada: P2, P3, P1 </li></ul><ul><li>Tiempo de espera: P1 = 6; P2 = 0; P3 = 3 </li></ul><ul><li>Tiempo Medio de Espera: (6 + 0 + 3)/3 = 3 </li></ul><ul><li>Bastante Mejor que en el caso anterior... </li></ul>P 1 P 3 P 2 6 3 30 0
  13. 13. Planificación de la CPU <ul><li>SJF/SJN (Shortest Job First/Next): </li></ul><ul><li>Asocia a cada proceso la longitud del mismo (en uso de la CPU). </li></ul><ul><li>Selecciona el que tenga menor longitud. </li></ul><ul><li>Existen dos variantes: </li></ul><ul><ul><li>Sin expulsión. </li></ul></ul><ul><ul><li>Con expulsión (Shortest Remaining Time First). </li></ul></ul><ul><li>Es óptimo (minimiza el tiempo de espera) </li></ul><ul><li>La dificultad está en calcular la longitud.... </li></ul>
  14. 14. Planificación de la CPU <ul><li>SJF (Sin Expulsión) </li></ul>Proceso Arribo CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 Tiempo de espera medio = (0+6+3+7)/4 = 4 P 1 P 3 P 2 7 3 16 0 P 4 8 12
  15. 15. Planificación de la CPU <ul><li>SRTF (SJF con Expulsión) </li></ul>Proceso Arribo CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 Tiempo de espera medio = (9+1+0+2)/4 = 3 P 1 P 3 P 2 4 2 11 0 P 4 5 7 P 2 P 1 16
  16. 16. Planificación de la CPU <ul><li>SJF/SJN (Shortest Job First/Next): </li></ul><ul><li>Es muy complejo calcular la longitud por adelantado.... </li></ul><ul><li>Puede provocar inanición ante gran cantidad de procesos cortos. </li></ul><ul><li>Sin expulsión no es adecuado para ambientes de tiempo compartido. </li></ul><ul><li>Con expulsión penaliza a los procesos largos, con lo cual puede empeorar la inanición. </li></ul>
  17. 17. Planificación de la CPU <ul><li>Planificación por prioridades: </li></ul><ul><li>A cada proceso se asocia una prioridad N. </li></ul><ul><li>El planificador asigna la CPU al menor N. </li></ul><ul><ul><li>Sin expulsión. </li></ul></ul><ul><ul><li>Con expulsión (preemptive). </li></ul></ul><ul><li>Problema: inanición. </li></ul><ul><li>Solución: envejecimiento (aging). </li></ul>
  18. 18. Planificación de la CPU <ul><li>Cola Circular (Round Robin): </li></ul><ul><li>A cada proceso se le cede la CPU durante un periodo de tiempo q (quantum de tiempo). </li></ul><ul><li>Si hay n procesos, entonces la espera máxima es w = ( n -1)* q </li></ul><ul><li>Desempeño: </li></ul><ul><ul><li>q grande: FCFS. </li></ul></ul><ul><ul><li>q pequeño: si q es demasiado pequeño respecto del tiempo de cambio de contexto, el overhead puede ser demasiado alto... </li></ul></ul>
  19. 19. Planificación de la CPU <ul><li>Ejemplo q =20: </li></ul>Proceso Tiempo CPU P1 53 P2 17 P3 68 P4 24 <ul><li>Normalmente tiempo de retorno mayor que SJF, pero menor tiempo de respuesta. </li></ul>P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P 3 0 20 37 57 77 97 117 121 134 154 162
  20. 20. Bibliografía <ul><li>Esta clase debe ser ampliada viendo: </li></ul><ul><ul><li>Carretero (S.O. Visión Aplicada) (1ra. ed.): </li></ul></ul><ul><ul><ul><li>Capítulo 3: “Procesos”. </li></ul></ul></ul><ul><ul><li>Nutt (Sistemas Operativos): </li></ul></ul><ul><ul><ul><li>Capítulo 6: “Impl. Procesos, Hilos y Recursos”. </li></ul></ul></ul><ul><ul><ul><li>Capítulo 7: “Planificación”. </li></ul></ul></ul>
  21. 21. Gracias ! Ing. Gabriel E. Arellano [email_address] http://www.gabriel-arellano.com.ar/so/ (2008) Gabriel E. Arellano Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. The GNU Free Documentation License as applicable to this document can be found at: http://www.gnu.org/copyleft/fdl.html

×