procesos y planificación de la cpu

Download Procesos y Planificación de la CPU

If you can't read please download the document

Upload: gabriel-arellano

Post on 24-Jun-2015

17.299 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

  • 1. Tema del da: Implementacin de Procesos y Planificacin

2. Objetivos

  • En esta clase trataremos de:
    • Repasar el concepto de proceso e hilo.
    • Analizar las cuestiones de implementacin de procesos e hilos.
    • Conocer las problemticas de la planificacin del uso del procesador as como las diversas estrategias propuestas para solucionarlas.
    • Evaluar las ventajas y desventajas de cada estrategia de implementacin.

3. Repaso

  • Qu es un proceso?
  • Qu es un hilo?

4. Repaso

  • Estados de un Proceso:

Modelo de Cinco Estados Nuevo Listo Ejecutando Bloqueado Terminado 5. Repaso

  • Estados de un Proceso:

Modelo con Estados Suspendidos Nuevo Listo Ejecutando Bloqueado Terminado Listo y Suspendido Bloqueado y Suspendido 6. Implementacin

  • Atributos de un proceso:
  • Bloque de control de procesos (PCB).
    • Process ID.
    • Estado.
    • Registros y PC.
    • Informacin de Memoria.
    • Descriptores de Archivos Abiertos.
    • Informacin de Contabilidad.
    • Punteros a otras estructuras de datos del S.O.

7. Planificacin de la CPU

  • Ejecucin de un Proceso

(a) Proceso CPU intensivo. (b) Proceso E/S intensivo. 8. Planificacin de la CPU

  • Terminologa:
  • Throughput : # de procesos ejecutados por unidad de tiempo (de principio a fin).
  • Tiempo de retorno : tiempo que tarda en completar su ejecucin un proceso.
  • Tiempo de espera : tiempo total que pasa un proceso en la cola de listos.
  • Tiempo de respuesta : tiempo transcurrido desde que se hace una solicitud hasta recibir la respuesta.

9. Planificacin de la CPU

  • Objetivos:
  • Reparto equitativo de la CPU.
  • Eficiencia (maximizar uso de la CPU).
  • Minimizar tiempo de respuesta (interactivo).
  • Minimizar tiempo de retorno (batch).
  • Maximizarthroughput(batch).
  • Cumplir con tiempos lmites (tiempo real).

10. Planificacin de la CPU

  • Tipos de Planificacin:

Nuevo Listo Ejecutando Bloqueado Terminado Listo y Suspendido Bloqueado y Suspendido Planificacin aLargo Plazo Planificacin a Mediano Plazo Planificacin aCorto Plazo 11. Planificacin de la CPU

  • Ejemplo:

Proceso Tiempo CPU P1 24 P23 P3 3

  • Orden de llegada: P1, P2, P3
  • Tiempo de espera: P1 = 0; P2 = 24; P3 = 27
  • Tiempo Medio de Espera:(0 + 24 + 27)/3 = 17

P 1 P 2 P 3 24 27 30 0 12. Planificacin de la CPU

  • FCFS (First Come First Served)
  • Orden de llegada: P2, P3, P1
  • Tiempo de espera: P1 = 6; P2 = 0; P3 = 3
  • Tiempo Medio de Espera:(6 + 0 + 3)/3 = 3
  • Bastante Mejor que en el caso anterior...

P 1 P 3 P 2 6 3 30 0 13. Planificacin de la CPU

  • SJF/SJN (Shortest Job First/Next):
  • Asocia a cada proceso la longitud del mismo (en uso de la CPU).
  • Selecciona el que tenga menor longitud.
  • Existen dos variantes:
    • Sin expulsin.
    • Con expulsin (Shortest Remaining Time First).
  • Es ptimo (minimiza el tiempo de espera)
  • La dificultad est en calcular la longitud....

14. Planificacin de la CPU

  • SJF (Sin Expulsin)

Proceso ArriboCPU 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. Planificacin de la CPU

  • SRTF (SJF con Expulsin)

Proceso ArriboCPU 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. Planificacin de la CPU

  • SJF/SJN (Shortest Job First/Next):
  • Es muy complejo calcular la longitud por adelantado....
  • Puede provocar inanicin ante gran cantidad de procesos cortos.
  • Sin expulsin no es adecuado para ambientes de tiempo compartido.
  • Con expulsin penaliza a los procesos largos, con lo cual puede empeorar la inanicin.

17. Planificacin de la CPU

  • Planificacin por prioridades:
  • A cada proceso se asocia una prioridad N.
  • El planificador asigna la CPU al menor N.
    • Sin expulsin.
    • Con expulsin (preemptive).
  • Problema: inanicin.
  • Solucin: envejecimiento (aging).

18. Planificacin de la CPU

  • Cola Circular (Round Robin):
  • A cada proceso se le cede la CPU durante un periodo de tiempoq(quantum de tiempo).
  • Si haynprocesos, entonces la espera mxima esw= ( n -1)* q
  • Desempeo:
    • qgrande: FCFS.
    • qpequeo: siqes demasiado pequeo respecto del tiempo de cambio de contexto, el overhead puede ser demasiado alto...

19. Planificacin de la CPU

  • Ejemploq =20:

Proceso Tiempo CPU P1 53 P2 17 P3 68 P4 24

  • Normalmente tiempo de retorno mayor que SJF, pero menor tiempo de respuesta.

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. Bibliografa

  • Esta clasedebeser ampliada viendo:
    • Carretero (S.O. Visin Aplicada) (1ra. ed.):
      • Captulo 3: Procesos.
    • Nutt (Sistemas Operativos):
      • Captulo 6: Impl. Procesos, Hilos y Recursos.
      • Captulo 7: Planificacin.

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