0% encontró este documento útil (0 votos)
116 vistas33 páginas

Planificación de Procesos en Sistemas Operativos

El documento describe los conceptos básicos de la planificación de procesos en sistemas operativos de núcleo único. Explica que los procesos son administrados por el sistema operativo mediante la asignación del procesador y la gestión de diferentes estados. Además, introduce los objetivos y criterios de la planificación a corto, mediano y largo plazo, como mejorar la eficiencia, el rendimiento y la equidad en la asignación de recursos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
116 vistas33 páginas

Planificación de Procesos en Sistemas Operativos

El documento describe los conceptos básicos de la planificación de procesos en sistemas operativos de núcleo único. Explica que los procesos son administrados por el sistema operativo mediante la asignación del procesador y la gestión de diferentes estados. Además, introduce los objetivos y criterios de la planificación a corto, mediano y largo plazo, como mejorar la eficiencia, el rendimiento y la equidad en la asignación de recursos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Sistemas Operativos:

Planificación
Planificación de procesos en un procesador con núcleo único
Planificación: Repaso de Procesos

▪ Son programas en ejecución administrados por el SO


▪ “Viven” en memoria y se les va asignando el procesador (de a uno) para que
ejecuten sus instrucciones
▪ Pueden liberar (o deben liberar) el procesador cuando:
– Son expulsados (El SO pone límite al tiempo de ejecución –Temporización o Time Out)
– Liberan el procesador voluntariamente
▪ El Sistema Operativo los conoce y los administra
▪ Transitan diferentes Estados (Nuevo, Listo, Bloqueado, Suspendido, etc.)
▪ Overhead: Son las acciones administrativas realizadas por el SO para gestionar
procesos
▪ Desde hoy, vamos a decir también que los procesos son unidades de planificación
Planificación: Objetivos

Recordemos... ¿qué hace un SO? El planificador (o scheduler) tiene


Entre otras cosas, gestiona los como objetivo asignar procesos para
recursos y busca optimizarlos. ser ejecutados en la CPU
(administrando diferentes colas: Listos
¿Qué recursos? - Bloqueado) de forma que cumplan
Entre otros: sus objetivos bajo el control del SO.
- El o los procesadores
- Los dispositivos de E/S

¿Qué se quiere priorizar?

Eficiencia del CPU Rendimiento


Planificación: Criterios de Corto Plazo

Criterios de
Planificación a
Corto Plazo

Orientados al Sistema

Orientados al Usuario

Tiempo de Retorno Tiempo de Respuesta


(Turnaround Time) (Response Time) Equidad
Rendimiento

Prioridades
Fecha Tope (Deadlines) Previsibilidad Utilización del
Procesador

Equilibrio / Balance
Planificación: Criterio orientados al
usuario

▪ Tiempo de Retorno(Turnaround Time): Criterio a minimizar. Es el tiempo


transcurrido desde que se lanza un proceso hasta que finaliza (incluyendo
tiempos de ejecución y espera)
▪ Tiempo de Respuesta (Response Time): Criterio a minimizar. Para un
proceso inactivo, es el tiempo que transcurre desde que se lanza una
petición hasta que comienza a recibir la respuesta.
▪ Previsibilidad: Criterio a minimizar. El tiempo y trabajo de un proceso
debería tomar siempre el mismo tiempo en ser finalizado. Una gran variación
en el tiempo de respuesta o en el tiempo de retorno es malo desde el punto
de vista del usuario. (Afectado por la sobrecarga del sistema)
Planificación: Criterio orientados al
sistema

▪ Rendimiento: Criterio a maximizar. Se busca utilizar el procesador para completar


la mayor cantidad de procesos por unidad de tiempo (Ej.: 20 procesos en 1 min)
▪ Utilización del Procesador: Criterio a maximizar. Es el porcentaje de tiempo que el
procesador está ocupado.
▪ Equidad: Criterio a maximizar. Se espera que el sistema operativo planifique los
procesos en forma justa sin provocar inanición.
▪ Imposición de Prioridades: Criterio a maximizar. Si se asignan prioridades al los
procesos, la política del planificador debería favorecer a los procesos con
prioridades más altas.
▪ Equilibrado de Recursos: Criterio a maximizar. Ocupar los recursos lo máximo
posible, favoreciendo su uso por procesos que los requieran poco cuando tengan
mayor ocupación (Implica planificación de mediano y largo plazo también)
Planificación: Índices y Fórmulas de cálculo

Índice ID ¿Qué representa? Fórmula


Tiempo Inicial Ti Tiempo en que un proceso es admitido --
Tiempo Final Tf Tiempo en que el proceso finaliza --
Tiempo de Retorno Tt Tiempo que un proceso permanece en el sistema Tt = Tf - Ti
Tiempo de Servicio Ts Tiempo dedicado a tareas productivas (CPU, E/S) Ts = Tcpu + TE/S
Tiempo de Espera Te Tiempo que un proceso pasa en colas de espera Te = Tt – Ts
Tiempo transcurrido entre la primera solicitud de
Tiempo de Respuesta Tr --
un proceso y la respuesta del SO
Tiempo de Retorno
Tn Indica el retardo experimentado Tn = Tt / Ts
Normalizado
Planificación: Planificadores según el plazo

▪ Planificador a Corto Plazo (Dispatcher): Toma


la decisión sobre cuál será el siguiente proceso a
ejecutar, como también cuál se debe expulsar Ejecutando

▪ Planificador a Mediano Plazo: Decide qué Listo


imágenes de procesos traerá o quitará de la
memoria principal. Utiliza el intercambio
Bloqueado
(Swapping) para ejecutar su rol.
▪ Planificador de Largo Plazo: Decide qué Bloqueado/
Suspendido

procesos serán Admitidos en el sistema. Listo/


Controla el Grado de Multiprogramación del Suspendido

sistema.
Nuevo Salida
Planificación: Planificador de Largo Plazo

Nuevo

Admisión Admisión

Listo /
Suspendido
Listo Ejecutando Salida Saliente

Bloqueado /
Suspendido
Bloqueado
Planificación: Planificador de Largo Plazo
● Debe tomar la decisión de si se agregará un Proceso finaliza -> disminuye grado multiprogramación
nuevo proceso al conjunto de procesos que
están Admitidos
Monitoreo uso CPU -> cierto tiempo CPU IDLE
● Se ejecuta cuando un nuevo proceso es creado.
o Decide en qué momento se puede cargar
un nuevo proceso Trabajo de Alta Prioridad
○ Decide qué trabajo será aceptado y
convertido en proceso (o procesos)
CPU
Según prioridad de Trabajo BOUND

Buena mezcla de procesos


IO BOUND

Optimizar performance
Planificación: Planificador de Largo Plazo

● Controla el grado de multiprogramación del sistema

Grado de multiprogramación bajo ● CPU ociosa

● CPU no ociosa
Grado de multiprogramación alto ● Menor % CPU para
cada proceso

Brindar un servicio satisfactorio a los procesos


LISTOS
Planificación: Planificador de Mediano Plazo

Nuevo

Suspensión
Reactivación
Listo /
Suspendido
Listo Ejecutando Saliente

Suspensión
Sucede
Evento

Reactivación

Bloqueado /
Suspendido
Bloqueado

Suspensión
Planificación: Planificador de Mediano Plazo

● Debe realizar operaciones de swapping (intercambio) -> IN/OUT


● Debe tomar la decisión de si es necesario suspender un proceso ->
almacenamiento secundario.
● Modifica el grado de multiprogramación -> tratando de lograr una buena
mezcla de procesos CPU/IO BOUND
○ SWAP IN -> aumento
○ SWAP OUT -> disminución
P1 P2
P1

P2
NOTA: El almacenamiento secundario
NO es memoria principal, es en disco. RAM SWAP
Se ve en la unidad de Memoria Virtual
con más detalle.
Planificación: Planificador de Mediano Plazo
Ejemplos:

Muchos procesos Todos bloqueados -> Suspender procesos + cargar


IO BOUND CPU IDLE procesos CPU BOUND desde swap

Suspender procesos + cargar


Muchos procesos
Mal uso dispositivos procesos IO BOUND desde
CPU BOUND
swap

Proceso mayor Suspender un proceso y


prioridad + sin RAM cargar al de > prioridad

Proceso suspendido se está por Cargar proceso en RAM para acelerar


desbloquear + RAM libre su vuelta en ejecución
Planificación: Planificador de Corto Plazo

Nuevo

Listo /
Suspendido
Listo Activación Ejecutando Saliente

Temporización
Sucede
Evento

Espera
Bloqueado /
Bloqueado por evento
Suspendido
(Bloqueo)
Planificación: Planificador de Corto Plazo

● Se ejecuta con mayor frecuencia que el resto -> debe tomar buenas
decisiones + el overhead debe ser mínimo

Eventos a tener en cuenta

Siempre a tener en cuenta:


➔ Proceso finaliza ( Ejecutando -> Saliente) CPU
➔ Proceso se bloquea (Ejecutando -> Bloqueado) LIBERADA
➔ Proceso cede voluntariamente CPU ( Ejecutando -> Listo)

Pueden ser considerados


➔ Proceso recibe evento esperado (Bloqueado -> Listo) Puede convenir
➔ Proceso nuevo (Syscall : Nuevo -> Listo) elegir otro proceso
➔ Interrupción por timer
Planificación: Consecuencias cuando es mala

“Cualquier similitud
con la realidad, es pura
coincidencia.”
Planificación: ¿Preguntas?

El profe de explicando
Planificación y vos
tipo…
Políticas de Planificación
Detalle de las políticas de Planificación a corto plazo y sus diferencias
Planificación: Tipos de Planificadores

Dependiendo de qué eventos tenga en cuenta un algoritmo de planificación de


corto plazo se clasificará en :

Los planificadores que no permiten la expulsión del proceso que se encuentra


actualmente usando el CPU son llamados Sin desalojo / Apropiativos / Non-
preemptive ya que esperan a que el proceso le devuelva el control al SO para elegir
otro proceso a ejecutar.

Los planificadores permiten la expulsión del proceso que se encuentra actualmente


usando el CPU son llamados Con desalojo / No-Apropiativo / Preemptive ya que
pueden interrumpir la ejecución de un proceso (desalojarlo de CPU -> vuelta a Listos)
para ejecutar otro más prioritario, o el siguiente en la cola de Listos
Planificación: Políticas de Planificación

1. Primero en llegar primero en ser servido (FCFS)/(FIFO)


2. Turno rotativo (Round Robin o RR)
3. Turno rotativo virtual (Virtual Round Robin o VRR)
4. Primero el proceso más corto (SJF sin desalojo o SPN)
5. Menor tiempo restante (SJF con desalojo o SRT)
6. Mayor tasa de respuesta (HRRN)
7. Realimentación (Feedback)
8. Prioridades (con y sin desalojo)

SJF: Shortest Job First | SPN: Shortest Process Next | SRT: Shortest Remaining Time
Planificación: Ejemplo de Ejercicio
¿Cómo encarar los ejercicios? Se brindará una tabla como la siguiente:

Proceso T. Llegada T. CPU


• Se representa en una línea las ejecuciones de tu proceso X.
A 0 3
• Se asume un único CPU a menos que el enunciado lo afirme.
B 2 6
• Se van ejecutando los procesos según la duración de la
C 4 4
tabla, la llegada del mismo, y el algoritmo utilizado.
D 6 5
E 8 2
Tus procesos:

IMPORTANTE:
Prioridad ante una simultaneidad de
eventos en ej. de planificación:
1. Interrupción por temporización. Uso de CPU en el Tiempo
2. Interrupción por E/S.
3. Excepciones tipo (Trap)
(Salvo que el ejercicio indique otro orden)
1) Política FCFS: First Come First Served
Atención por orden de llegada (FIFO)

Proceso T. Llegada T. CPU • Política sin desalojo


A 0 3 • Todos los proceso entran a la cola de listos.
B 2 6 • Cuando el proceso actual deja de correr, el siguiente
C 4 4 proceso en la cola de listos es seleccionado.
D 6 5 • Un pequeño grupo de procesos puede esperar largos
E 8 2 periodos de tiempo antes de ser ejecutados.
• Favorece los proceso con carga del procesador en lugar
los que tienen carga de E/S.

(tiempos de llegada de los procesos)


2) Política RR: Round Robin o Turno
Rotatorio

Proceso T. Llegada T. CPU • Prevención del uso basada en un reloj.


A 0 3 • Cada quantum de tiempo un proceso usa la CPU
B 2 6 • Las interrupciones de reloj se generan en intervalos fijos
C 4 4 • Cuando ocurre una interrupción, el proceso en ejecución es
D 6 5 colocado en la cola de listos y el siguiente proceso es
E 8 2 seleccionado.
Quantum = Q = 1
3) Política VRR: Virtual Round Robin o Turno
Rotatorio Virtual

• Planifica similar a Round Robin,


pero la cola de bloqueados tiene
prioridad sobre la cola de listos.
• Se implementa a través de una cola
auxiliar.
• Si hay procesos en la Cola Auxiliar,
se ejecutarán antes de volver a
tomar procesos de la Cola de Listos
4) Política SPN: Shotest Process Next
(Equivale a SJF Sin desalojo)

Proceso T. Llegada T. CPU • Política sin desalojo


A 0 3 • Proceso con tiempo esperado más corto es seleccionado.
B 2 6 • Los procesos pequeños saltan delante de los grandes.
C 4 4 • La predictibilidad de los procesos grandes es reducida
D 6 5 (Predictability)
E 8 2 • Si el tiempo estimado es incorrecto, el SO puede
abortarlo
• Posibilidad de inanición de los procesos grandes.
5) Política SRT: Shortest Remaining Time
(Equivale a SJF Con desalojo)

Proceso T. Llegada T. CPU • Política con desalojo


A 0 3 • Versión preventiva de la política el siguiente proceso
B 2 6 más corto
C 4 4 • Elige proceso que le queda menos tiempo esperado de
D 6 5 ejecución
E 8 2 • Existe riesgo de inanición para procesos largos
6) Política HRRN: Highest Ratio Response
Next (Mayor tasa de respuesta)

Proceso T. Llegada T. CPU • Es una adaptación del SJF que permite romper la inanición.
A 0 3 • Se prioriza a los procesos con mayor tasa de respuesta
B 2 6 (Response Ratio): R.R. = (S + W) / S
C 4 4 • S = Tiempo de servicio (próxima ráfaga)
D 6 5 • W = Espera
E 8 2 • Cuanto mayor sea la espera, respecto al tamaño de su
ráfaga, mayor será su prioridad para ejecutar
7) Política Feedback: Retroalimentación de
nivel múltiple

▪ Penaliza los trabajos que han


corrido más tiempo (Q). Nuevo

▪ Si no se conoce el tiempo de
ejecución restante, entonces es Nivel 0: RR Pn Pn-1 P1 CPU
mejor utilizar el tiempo de ejecución
consumido hasta el momento

▪ Mecanismo dinámico de Nivel 1: RR


prioridades: varias colas de listos de Pn Pn-1 P1 CPU
acuerdo a prioridad
Saliente
▪ Entra 1ra vez cola RQ0 Nivel 2: RR
Pn Pn-1 P1 CPU
▪ Luego de la ejecución i a cola
prioridad i – 1
Nivel 0:
▪ Favorece procesos cortos y nuevos FCFS
frente a los mas viejos y largos Pn Pn-1 P1 CPU
8) Política por Prioridades

● Se asocia con cada proceso una prioridad (número entero)


● La CPU se asigna al proceso con la prioridad más alta (consideramos número pequeño ≡
prioridad alta)
● Tenemos dos posibilidades:
● Expropiativo
● No expropiativo
● SJF se puede ver como un algoritmo de planificación por prioridad en el que la prioridad es
la duración predicha para la siguiente ráfaga de CPU
● Problema: Inanición (starvation) – los procesos de más baja prioridad podrían no ejecutarse
nunca
● Solución: Envejecimiento (aging) – conforme el tiempo pasa aumentar la prioridad de los
procesos que esperan mucho en el sistema
Planificación: Resumen de Políticas

# Algoritmo Justicia / Equidad Overhead ¿Con desalojo? Inanición


1 FCFS (FIFO) Poca Poco No No
Depende del
2 Round Robin Alta Sí No
quantum
Depende del
3 Virtual Round Robin Alta Sí No
quantum y E/S
4 Shortest Process Next (SPN) Media Medio No Sí
5 Shortest Remaining Time (SRT) Media / Alta Medio Sí Sí
6 Highest Ratio Response Next (HRRN) Casi RR Medio No No
7 Feedback* -- Medio -- --
8 Prioridades (con desalojo) Poca Medio Si Si
9 Prioridades (sin desalojo) Poca Bajo No Si

* La política de Feedback puede tener distintos planificadores por cada cola. La Justicia/Equidad, el desalojo y la inanición
dependerán de las mismas.
Planificación: Ejemplo complejo
Construir el diagrama de Gannt
de la siguiente secuencia de
Procesos, planificados con RR
Q=2

Pr Admisión CPU Disco CPU Red CPU

A 0 3 2 1 1 1
B 1 1 3 2 2 1
C 2 2 1 3 3 1
Planificación: ¿Preguntas?

También podría gustarte