240 likes | 417 Views
Teoría de Sistemas Operativos Procesos. Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321. Multi programación. Planificación. Varios procesos ejecutándose Maximiza la utilización de la CPU, multiplexándola en el tiempo. Concepto básico.
E N D
Teoría de Sistemas OperativosProcesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321
Multi programación Planificación • Varios procesos ejecutándose • Maximiza la utilización de la CPU, multiplexándola en el tiempo.
Concepto básico t • Si un proceso debe esperar por algo, el SO • lo debe sacar de la CPU (estado running). • La CPU debe ser ocupada inmediatamente por • otro proceso.
Existen 3 tipos de planificadores • A largo plazo • A mediano plazo • A Corto Plazo.
Planificador a largo plazo • Selecciona los procesos y los carga en memoria para su ejecución. • Controla el Grado de Multiprogramación.
Planificador a mediano plazo • Se utiliza cuando un proceso se • bloquea por I/O . • De ser necesario, lleva los procesos • de memoria principal a disco (swap). • Reduce el grado de Multiprogramación
Planificador a corto plazo Se encarga de asignar CPU a los procesos en estado ready.
Una estrategia de planificación debe buscar que: • Los procesos obtengan sus turnos de ejecución apropiadamente • Con un buen rendimiento • Minimización de la sobrecarga (overhead) del planificador mismo
Objetivos: • Imparcialidad. • Maximizar la Producción. • Maximizar el Tiempo de Respuesta. • Evitar el aplazamiento indefinido. • El sistema debe ser predecible.
Utilización de la CPU Promedio de tiempo en que la CPU esta ocupada ==> “debería” ser 100%, pero eso no ocurre. Productividad Cantidad de tareas terminadas por unidad de tiempo. ==> No se pueden comparar distintos tipos de tareas.
Tiempo de Servicio Tiempo que dura la ejecución de un proc. T. de Creación+ T. de Espera+T. de Ejecución Tiempo de respuesta Tiempo transcurrido desde la creación del proceso hasta la primera salida de I/O Tiempo de Espera Tiempo que un proceso espera por un recurso (p.e. CPU, dispositivo)
PCB1 PCB2 PCBN Los algoritmos de planificación de CPU consisten en implementaciones de la cola READY.
Generalmente, la planificación de procesos se representa de la siguiente manera:
Generalmente, la planificación de procesos se representa de la siguiente manera: Cola de Espera Servidor de la cola de espera
Generalmente, la planificación de procesos se representa de la siguiente manera: El Proceso que está RUNNING ..
Generalmente, la planificación de procesos se representa de la siguiente manera: …Pero necesita I/O
Generalmente, la planificación de procesos se representa de la siguiente manera: …el proceso es forzado a salir de la CPU (se le acabó el tiempo)
Generalmente, la planificación de procesos se representa de la siguiente manera: …el proceso creó un hijo y espera por su término.
Este planificador es gatillado en 4 circunstancias. • 1.- Running Waiting • 2.- Running Ready • 3.- Waiting Ready • 4.- Procesos Termina • 5.- New Ready
Planificación Apropiativa • 1.- Running Waiting • 4.- Procesos Termina • El proceso no libera la CPU hasta que termina o porque espera por I/O, p.e.
Planificación No Apropiativa • 2.- Running Ready • 3.- Waiting Ready • Se debe escoger un proceso en la fila READY cuando se producen estos eventos (también 1 y 4)