Unidad 4:
Planificación de procesos
1
Ing. Patricia Del Valle Morales
4.1. Planificación
Cuando se tiene más de un proceso en estado de listo el sistema
operativo a través de un algoritmo de planificación _____________
__________________________________________. El módulo del
sistema operativo encargado de realizar estas acciones se le
conoce como el ________________ del Sistema Operativo.
Existen tres niveles de planificación:
Planificación a _____________(dispatcher o ____________)
Planificador _____________ (scheduler o ____________)
Planificador a _____________
2
Ing. Patricia Del Valle Morales
4.1 Planificación
Colas de planificación
El Sistema operativo usa estructura de datos “colas” para planificar los
recursos de Memoria, E/S y la CPU.
a) _______________________:
Procesos en almacenamiento secundario esperando memoria principal.
b) _______________________:
Procesos en memoria principal, listo y esperando su ejecución (una lista
ligada).
c) _______________________:
Para cada dispositivo (disco, impresora, etc.) hay una cola de procesos
esperando utilizarlo.
Planificación: es la __________________________del sistema con la
finalidad ___________________y ____________el rendimiento del
mismo. 3
Ing. Patricia Del Valle Morales
4.2 Planificación de procesos
Cuando se realiza la planificación de procesos, el kernel realiza las
siguientes acciones:
1. Salvar el contexto del proceso
2. Planificación del proceso
3. El despacho del proceso
1. Salvar el contexto del proceso:
No se salva todo el contexto del proceso propiamente dicho,
sino solamente la parte dinámica del mismo, que es el
____________________ y _____________________.
2. La planificación de procesos
El planificador de procesos decide a que
_______________________________________________, pero
también decide que ___________________________________
___________ en determinado momento. 4
Ing. Patricia Del Valle Morales
4.2 Planificación de procesos
3. El despacho de procesos
____________________________________________________________
___________________________________________________________:
Comprende las siguientes funciones:
Conmutación de contexto.
Conmutación al modo usuario.
Saltar a la ubicación adecuada en el programa del usuario para
reiniciar el programa. (restaura el contexto del proceso que ha sido
elegido para ser ejecutado)
El tiempo que le lleva al despachador detener un proceso e iniciar la
ejecución de otros se conoce como latencia de despacho.
5
Ing. Patricia Del Valle Morales
Ejercicio
Un SO contiene dos procesos P1 y P2. P2 tiene una prioridad más alta
que P1, el proceso P2 a se bloquea en una operación de E/S y P1 esta
en ejecución.
Describa las acciones que tienen lugar cuando ocurre el evento de
terminación de E/S para del proceso P2.
6
Ing. Patricia Del Valle Morales
4.3 Niveles de planificación
Ing. Patricia Del Valle Morales
4.3.1 Planificador a corto plazo(despachador “dispatcher”)
______________________________________________
_____________________________________________.
Se ejecuta cuando ocurre un suceso que puede conducir a la
interrupción del proceso actual o que ofrece la oportunidad de
expulsar de la ejecución al proceso actual en favor de otro.
Como ejemplos de estos sucesos se tienen:
Interrupciones del reloj
Interrupciones de E/S
Llamadas al sistema operativo
Señales
Decide cómo compartir momento a momento al equipo entre todos los
procesos que requieren de sus recursos, especialmente el procesador. La
planificación a corto plazo se lleva a cabo decenas de veces por segundo
(razón por la cual debe ser código muy simple, eficiente y rápido);
8
Ing. Patricia Del Valle Morales
4.3.2 Planificador a mediano plazo(agendador “scheduler”)
El planificador a medio plazo es el encargado de regir las________________
_____________________________________________________________,
actúa intentando maximizar la utilización de los recursos. Por ejemplo,
transfiriendo siempre a memoria secundaria procesos bloqueados
Decide que procesos son convenientes bloquear en determinado
momento, por saturación de algún recurso (como la memoria primaria) o
porque están realizando alguna solicitud que no puede satisfacerse
momentáneamente; se encarga de tomar decisiones respecto a los
procesos conforme entran y salen del estado de bloqueado (esto es,
típicamente, están a la espera de algún evento externo o de la finalización
de transferencia de datos con algún dispositivo).
Efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos.
Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.
Equilibrar la administración de trabajos en el sistema con la asignación
del CPU a dichos procesos. Nivelar la carga del sistema (procesos activos y
pasivos). 9
Ing. Patricia Del Valle Morales
4.3.3 Planificador a largo plazo(planificador de tareas)
Se encarga del intercambio entre ________________________ y
_______________________. Controla el número de procesos en
memoria (grado de multiprogramación). Seleccionando los
trabajos que deben admitirse en el sistema.
Mantiene las colas de procesos bloqueados y
suspendidos.
Controla la creación de procesos.
Uso eficiente de la memoria entre procesos limitados por
la CPU y por E/S
10
Ing. Patricia Del Valle Morales
4.4 Objetivos de la planificación de procesos
1) Maximizar la utilización de la CPU y la tasa de
procesamiento,
2) Minimizar el tiempo de ejecución, de espera y
de respuesta de los procesos.
3) Maximizar el número de usuarios interactivos
4) Asegurar la prioridad
Ing. Patricia Del Valle Morales
4.5 Criterios de planificación
• Utilización de la CPU
• Tiempo de ejecución
Suma de los periodos que el proceso invierte en espera:
para cargarse en memoria,
en la cola de procesos preparados,
ejecutarse en la CPU y
realizar las operaciones de E/S.
• Tiempo de espera
Suma de los periodos de tiempo que un proceso invierte en esperar en la
cola de los procesos preparados.
• Tiempo de respuesta
Tiempo que tarda desde que envía una solicitud hasta que produce la primera
respuesta.
12
Ing. Patricia Del Valle Morales
Tiempos:
Ejecución
13
Ing. Patricia Del Valle Morales
4.6 Políticas de algoritmos de despacho de procesos
FCFS (First-come, First-Served)
Prioridades monótonas con frecuencia RMS
Round-robin
SJF (Shortest Job First)
Colas multinivel
14
Ing. Patricia Del Valle Morales
Conceptos
Tick
Una fracción de segundo durante la cual se puede realizar
trabajo útil. Es una medida caprichosa y arbitraria; en Linux
(a partir de la versión 2.6.8), un tick dura un milisegundo,
en Windows, entre 10 y 15 milisegundos.
Quantum
El tiempo mínimo que se permitirá a un proceso el uso del
procesador. En Windows, dependiendo de la clase de
proceso que se trate, un quantum durará entre 2 y 12 ticks
(esto es, entre 20 y 180 ms), y en Linux, entre 10 y 200 ticks
(o milisegundos).
15
Ing. Patricia Del Valle Morales
4.6.1 Planificador FCFS (First-come, First-served)
Se asigna la CPU al primer proceso que lo solicite.
1. La gestión se implementa con una cola FIFO
2. Cuando un proceso entra a la cola de procesos Listos, su
BCP se coloca al final de la cola.
3. Cuando la CPU queda libre, se le asigna al proceso que
este el inicio de la cola y éste proceso pasa a ejecutarse
y se elimina de la cola.
16
Ing. Patricia Del Valle Morales