You are on page 1of 35

Planificacin en Servidores de Informacin

Multimedia
Servidores de Informacin Multimedia
2 Ingeniero de Telecomunicacin (Esp. Sonido e Imagen)
Departamento de Ingeniera Telemtica
Universidad Carlos III de Madrid
Servidores de informacin multimedia
2 ndice
Recordatorio
Estados de los procesos
Conceptos en planificacin de procesos
Algoritmos de planificacin de procesos
Servidores de informacin multimedia
3 Bibliografa
A. Silberschatz, P. B. Galvin. sistema Operativos. 5 ed. [Tema 4 y 5
(Hilos) ]
W. Stallings. sistema Operativos, 4 ed. [Tema 3, 4 y 9]
Servidores de informacin multimedia
4 Recordatorio
Concepto de Proceso:
Primeros sistemas slo permitan la ejecucin de un programa a la
vez que tena disponibles todos los recursos del ordenador
Hoy, los sistemas operativos permiten cargar varios programas en
memoria y ejecutarlos concurrentemente
proceso
Programa en Ejecucin
Unidad de trabajo de un SO
Puede haber dos procesos asociados al mismo programa: 2 copias
en ejecucin del mismo programa Son secuencias de ejecucin
independientes
Servidores de informacin multimedia
5 Recordatorio
Componentes necesarios para gestionar un proceso:
Contenido del programa en ejecucin
Seccin de Cdigo: seccin de texto
Seccin de Datos: variables globales
Seccin de Pila: variables locales, paso de parmetros y
direccin de retorno
Estado de la CPU: PC y registros de datos/direcciones
Recursos del sistema: ficheros, dispositivos E/S
Servidores de informacin multimedia
6 Estados de un proceso
Un proceso, a lo largo de su existencia, pasa por diferentes
estados
El estado actual de un proceso depende de la actividad
realizada hasta ahora y del entorno
A medida que se ejecuta un proceso, cambia su estado
Estados de un proceso (modelo bsico):
Ejecutndose: Proceso ejecutando instrucciones (tiene asignado
la CPU)
Listo: El proceso est listo para recibir el procesador para iniciar o
continuar su ejecucin
En Espera: El proceso deja de competir por el procesador,
esperando un evento externo (p.e. terminacin de una operacin de
E/S, sincronizacin con otro proceso, una seal, etc.)
Servidores de informacin multimedia
7 Estados de un proceso
Modelo bsico:
Cada vez que un proceso cambia de estado se implica al
planificador.
Servidores de informacin multimedia
8 Transiciones entre estados
En ejecucin Bloqueado: Se produce cuando un proceso
no puede continuar su ejecucin porque debe esperar un
evento
En ejecucin Listo: El planificador decide que el proceso
ya ha agotado el tiempo de ejecucin que le corresponde y lo
sustituye
Listo En ejecucin: El planificador selecciona al proceso
para ser cargado en la CPU y ejecutado
Bloqueado Listo: El evento que estaba esperando el
proceso bloqueado ha sucedido. El proceso pasa al estado
listo para continuar su ejecucin cuando lo indique el
planificador
Servidores de informacin multimedia
9 Procesos suspendidos
Los 3 estados principales (Listo, Ejecucin, Bloqueado) pueden
no ser suficientes
Justificacin:
Si todos los procesos estn en bloqueados esperando un suceso y
no hay memoria disponible para nuevos procesos el procesador
estar desocupado
Una solucin:
Procesos suspendidos
Servidores de informacin multimedia
10 Procesos suspendidos (I)
Solucin al problema anterior: Permitir la ejecucin de ms
procesos
Requisito: Ampliar la memoria principal o suspender procesos
a disco duro
Implementacin prctica:
Intercambio de procesos entre memoria y disco
Nuevos estados de un proceso: Listo suspendido y Bloqueado
suspendido
Listo suspendido: el proceso est suspendido, pero se
encuentra listo para ejecutarse
Bloqueado suspendido: el proceso est suspendido y
adems est esperando que suceda un evento
Servidores de informacin multimedia
11 Procesos suspendidos (II)
Mtodo (intercambio o swapping):
El sistema operativo puede suspender un proceso y
transferirlo a disco duro
El espacio liberado en la memoria principal es usado
para traer otro proceso
Qu proceso elegir para cargar en memoria?
Uno proceso nuevo
Uno previamente suspendido (debemos elegir los que se
encuentran en listo suspendido y no en bloqueado suspendido)
Servidores de informacin multimedia
12 Estados de un proceso
Servidores de informacin multimedia
13 Nuevas transiciones
En ejecucin Suspendido listo: Se suspende el proceso actual en
ejecucin
Listo Suspendido listo: Se produce la suspensin del proceso en
estado listo por parte del sistema operativo
Bloqueado Suspendido bloqueado: Se suspende el proceso que se
encontraba a la espera de un evento
Suspendido listo Listo: El proceso es reanudado por el sistema
operativo y pasa a la cola de procesos listos para ejecucin
Suspendido bloqueado Bloqueado: El proceso es reanudado antes
de que el evento que espera suceda. Esta transicin no se da en algunos
sistemas, cuando un proceso bloqueado se suspende no se reanuda hasta
que el evento suceda, y entonces pasa a Suspendido listo
Suspendido bloqueado Suspendido listo: El evento que se
esperaba sucede. El proceso no se reanuda sino que se queda en
Suspendido listo. Cuando se reanude ya no estar bloqueado
Servidores de informacin multimedia
14 Otras razones para suspender un proceso
Otras razones por las que un proceso puede pasar a
suspendido:
El sistema est en riesgo de fallo. El sistema suspende todos los
procesos activos para poder corregir errores y volver a activarlos
cuando el sistema funcione correctamente
Un proceso sospechoso de mal funcionamiento puede ser
suspendido hasta verificar su correcto funcionamiento
El planificador puede suspender los proceso de baja prioridad en
momento de carga excesiva del sistema
Servidores de informacin multimedia
15 Contexto de un proceso (I)
Tabla de procesos y Bloque de control de
Proceso
El sistema operativo gestiona los procesos a travs
de una tabla que contiene informacin sobre todos
los procesos en el sistema
Esa tabla es una estructura de datos localizada en
una zona de memoria perteneciente al ncleo del
sistema operativo
Cada proceso se representa mediante una
estructura de datos llamada (en Linux) PCB
(Bloque de Control de Proceso)
En Unix se llama process structure que apunta a un
user structure entre otros datos que tambin
contiene datos del PCB
En Windows se tienen varios objetos:
Executive Process Block (EPROCESS)
Kernel Process Block (KPROCESS)
Process Environment Block (PEB)
Servidores de informacin multimedia
16 Contexto de un proceso (II)
Bloque de control de proceso (PCB):
Identificacin del Proceso (nmero nico: PID)
Estado del Proceso (Ejecutndose, listo, bloqueado, etc.)
Contador de programa PC (Dir. prxima instruccin a ejecutar)
Registros de CPU (para guardar los registros de datos/direcciones)
Planificacin de CPU (prioridades, punteros a colas de planificacin y
otros parmetros)
Administracin de Memoria (registros base y lmite, informacin sobre
como se organiza la memoria, etc.)
Estadsticas (CPU usada, lmites de tiempo, etc.)
Estado de recursos (Lista de recursos asignados y estado: ficheros,
dispositivos de E/S)
Servidores de informacin multimedia
17 Contexto de un proceso (III)
PCB
Servidores de informacin multimedia
18 Contexto de un proceso (IV)
En Linux por ejemplo se tiene definido el PCB en el fichero sched.h:
/* memory management info */
struct mm_struct *mm;
/* open file information */
struct files_struct *files;
/* tss for this task */
struct thread_struct tss;
int pid;
volatile long state; /* -1
unrunnable, 0 runnable, >0 stopped
*/
long priority;
unsigned short uid,euid,suid,fsuid;
#ifdef __SMP__
int processor;
#endif
struct task_struct *p_opptr, *p_pptr,
*p_cptr, *p_ysptr, *p_osptr;
/* limits */
struct rlimit rlim[RLIM_NLIMITS];
long utime, stime, cutime, cstime,
start_time;
Servidores de informacin multimedia
19 Cambios de contexto (recordemos)
Cuando un proceso esta ejecutndose, los valores del PC, otros registros
de datos/direcciones, puntero a pila, etc., es decir, su contexto, estn
cargados en los registros de la CPU
Cuando el SO detiene la ejecucin de un proceso, salva su contexto en su
PCB
La accin de conmutar la CPU de un proceso a otro se denomina cambio
de contexto
Los sistemas de tiempo compartido realizan de cientos/miles de cambios
de contexto por segundo.
Un cambio de contexto suele tardar de 1 a 1000 [seg]
El cambio de contexto no correponde a trabajo productivo, sino que es
burocracia (overhead)
Servidores de informacin multimedia
20 Cambios de contexto (recordemos)
Servidores de informacin multimedia
21 Tipos de cambio de contexto
Cambio de contexto voluntario :
Proceso realiza llamada al sistema que implica esperar por evento
Transicin de en ejecucin a bloqueado
Ejemplos: iniciar una operacin de E/S
Motivo: Eficiencia en el uso del procesador
Cambio de contexto involuntario :
SO le quita la CPU al proceso
Transicin de en ejecucin a listo
Ejemplos: fin del tiempo de ejecucin
Motivo: Reparto del procesador
Servidores de informacin multimedia
22 Ejemplo - UNIX
Estados de un Proceso en Unix
Se amplan los posibles estados a nueve:
Ejecutando en modo usuario
Ejecucin en modo Kernel
Listo (tras dejar CPU de forma voluntaria)
Expulsado/Expropiado (deja la CPU de forma NO voluntaria)
Dormido: (Bloqueado)
Listo Descargado (listo suspendido)
Dormido Descargado: (Bloqueado suspendido)
Creado
Zombie
Servidores de informacin multimedia
23 Ejemplo - UNIX
Servidores de informacin multimedia
24 Cambios de estado en UNIX
Ejecutando en modo Usuario Ejecutando en modo Kernel: El
proceso ejecuta una llamada al Sistema (se produce un trap) o se produce
un interrupcin
Ejecutando en modo Kernel Ejecutando en modo Usuario: Tras
la llamada al sistema se continua ejecutando el proceso en modo Usuario
Ejecutando en modo Kernel Expropiado: Tras el fin de una llamada
al sistema el planificador puede decidir que el proceso actual no debe
continuar ejecutandose. Es un estado similar a listo para ejecutar.
Ejecutando en modo Kernel Zombie: Un proceso quiere finalizar
con la llamada exit(). Pasa a modo kernel y se finaliza el proceso
Ejecutando en modo Kernel Dormido: El proceso queda a la espera
de un evento (p.e. Operacin de E/S)
Servidores de informacin multimedia
25 Cambios de estado en UNIX
Ejecutando en modo Kernel Ejecutando en modo Kernel:
Durante la ejecucin del proceso en modo Kernel se puede producir una
interrupcin. No es un cambio de estado sino un cambio de proceso
Listo Ejecutando en modo Kernel: Un proceso listo para ejecutar
vuelve a tomar el control del procesador y lo hace en modo Kernel para
terminar la llamada al sistema que estaba realizando y fue interrumpida
por la espera de un evento.
Listo Listo Descargado: El sistema tiene demasiados proceso y todos
no caben en memoria. Lo descarga a disco (swapping)
Dormido Listo: El evento que esperaba el proceso se ha producido
Dormido Dormido Descargado: Un proceso que espera un evento es
descargado a disco para liberar espacio en memoria para otros procesos
Listo Descargado Listo: Se carga el proceso descargado en la
memoria
Servidores de informacin multimedia
26 Cambios de estado en UNIX
Dormido Descargado Listo Descargado: El evento que esperaba un
proceso descargado se ha producido, pasa a listo, pero todava sigue
descargado
Expropiado Ejecutando en modo Usuario: El planificador decide
devolver el control a un proceso expropiado
Creado Listo: Cuando el proceso se crea y hay memoria para cargarlo
en memoria pasa a Listo
Creado Listo Descargado: Si cuando se crea un proceso no hay
memoria suficientes este se crea descargado
Servidores de informacin multimedia
27 Regiones de un proceso en UNIX
Unix considera que un proceso consta de tres partes o
regiones:
Text (bloque de texto) : contiene instrucciones
Data (bloque de datos): contiene datos
Stack (bloque de pila): pila para llamadas a funciones y
procedimientos
Servidores de informacin multimedia
28 Ejemplo - Linux
Estados de un proceso en Linux
Servidores de informacin multimedia
29 Estados de un proceso en Linux
TASK_RUNNING: Proceso listo o en ejecucin
TASK_ INTERRUPTIBLE: Proceso "dormido" que puede despertar por
alguna seal o interrupcin
TASK_ UNINTERRUPTIBLE: Similar al anterior, pero que no puede ser
despertado inmediatamente, espera a una interrupcin y no puede ser
despertado por una seal (el proceso est suspendido)
TASK_ ZOMBIE: Proceso-hijo terminado pero que no ha sido liberado por
su proceso padre
TASK_ STOPPED: Proceso detenido, generalmente por una seal
(SIGSTOP). til para depuracin
Servidores de informacin multimedia
30 Ejemplos Windows 2000
Servidores de informacin multimedia
31 Estados de un hilo de ejecucin en Win2K
Ready: El hilo listo para ejecutarse
Running: El hilo se est ejecutando
Standby: El hilo ha sido seleccionado para ser ejecutado en
un procesador particular
Waiting: Se encuentra bloqueado esperando un evento
Transition: El hilo se encuentra preparado para ejecutarse,
pero los recursos necesarios no estn disponibles
Terminated: Finalizacin del hilo
Servidores de informacin multimedia
32 Planificacin de procesos
Objetivos de la Planificacin de Procesos:
Multiprogramacin: Tener siempre un proceso en ejecucin con el
propsito mejorar utilizacin CPU y otros recursos
Tiempo Compartido: Cambiar rpidamente la CPU entre procesos para
mantener buena interactividad
No pueden existir ms procesos en ejecucin simultnea que el nmero de
procesadores
Sistemas con ms de un procesador permiten tener ms de un proceso en
ejecucin simultnea
Servidores de informacin multimedia
33 Colas de planificacin (I)
Cola de trabajos: a medida que los procesos entran en el sistema se le
aade a esta cola
Aquellos procesos en memoria y esperando ejecutarse se mantienen en
una cola llamada Cola de procesos listos
Implementada normalmente como una Lista Enlazada: El encabezado
contiene punteros al primero y ltimo PCB. Cada PCB contiene un puntero
al siguiente PCB de la lista de procesos listos
Servidores de informacin multimedia
34 Colas de planificacin (II)
Existen otras colas en el sistema
Para la gestin de dispositivos de E/S se implementa una cola
para evitar que varios procesos accedan a la vez a un
dispositivo. Se aaden a la cola y el proceso debe esperar a
que el dispositivo se le asigne.
Estas colas se conocen como Colas de Dispositivo
hay una cola por cada dispositivo
Servidores de informacin multimedia
35 Planificacin de procesos
Diagrama de colas (ejecucin de un proceso)
Servidores de informacin multimedia
36 Planificador a largo plazo
Planificador de largo plazo: Crea procesos nuevos
Acta con poca frecuencia (normalmente cuando termina un
proceso), creando un proceso y cargndolo en la memoria
Controla el grado de multiprogramacin
Determina una buena mezcla de procesos de uso intensivo de
CPU y de E/S
Algunos sistemas no tienen este planificador
Servidores de informacin multimedia
37 Planificador a corto plazo
Planificador de corto plazo: Asegura la Interactividad
(Planificador de la CPU)
Selecciona procesos de la cola de procesos listos para asignarles la
CPU
Se ejecuta con alta frecuencia, cada vez que ocurre un suceso:
Expiracin de ranuras (timer) de CPU
Interrupciones de E/S
Llamadas al sistema operativo
Por terminacin de un proceso (exit)
Existen diferentes algoritmos de asignacin de CPU
Servidores de informacin multimedia
38 Planificador a medio plazo
Planificador a medio plazo: Mueve procesos entre M.Principal
y M.Secundaria
Permite regular la carga reduciendo o aumentando el grado de
multiprogramacin, usando tcnica de swapping (intercambio)
Un factor de decisin importante es la demanda por memoria de los
procesos
Se usa en sistemas de tiempo compartido
Servidores de informacin multimedia
39 Planificacidores
Todo junto:
Servidores de informacin multimedia
40 Niveles de planificacin
Corto Plazo: Blanco
Medio Plazo: Gris claro
Largo Plazo: Gris oscuro
Servidores de informacin multimedia
41 Planificacin de la CPU
Planificacin de la CPU:
Realiza la Planificacin a corto Plazo
Selecciona el prximo proceso/hilo listo que debe recibir el
procesador
Existen diferentes algoritmos de planificacin
Es invocado cada vez que un proceso/hilo abandona el procesador
(voluntariamente o no)
Servidores de informacin multimedia
42 Rfagas de CPU
Rfagas de CPU
Podemos considerar que la vida activa de un proceso es una
sucesin de:
rfagas de CPU -> el proceso ejecuta instrucciones
rfagas de E/S -> el proceso utiliza o espera por la E/S
Segn la utilizacin de los recursos, se observan:
Procesos intensivos en CPU: se pasan la mayor parte de su existencia
en CPU
Procesos intensivos en E/S: se pasan la mayor parte de su existencia
realizando/esperando operaciones de E/S
Servidores de informacin multimedia
43 Objetivos de la planificacin
Los ms importantes son:
Justicia en el reparto de procesador
Maximizar la productividad
Ser predecible (minimizar la varianza)
Balancear el uso de los recursos
Lograr un equilibrio entre tiempo de respuesta y utilizacin
Evitar inanicin (o postergacin indefinida)
Asegurar prioridades de los procesos
Favorecer a procesos/hilos que utilizan recursos claves
Degradar suavemente el rendimiento ante cargas pesadas
Servidores de informacin multimedia
44 Polticas de planificacin
El planificador de la CPU puede intervenir si:
1. Un proceso/hilo pasa voluntariamente a Bloqueado (p.e. E/S,
sincronizacin, etc...)
2. Pasa a estado Listo por expiracin de tiempo (timeout)
3. Cuando un proceso/hilo pasa de estado Bloqueado a Listo
4. Cuando un proceso/hilo termina
Es decir, siempre que un proceso/hilo abandona la CPU, o se
inserta un proceso/hilo en la cola de Listos
Servidores de informacin multimedia
45 Polticas de planificacin
Planificacin expropiativa:
El SO puede quitar (expropiar) la CPU al proceso/hilo
Planificacin no expropiativa:
No se puede retirar el proceso/hilo de la CPU, este la libera
voluntariamente al bloquearse o finalizar
La expropiacin (preemption) nos asegura que un trabajo no
bloquea a otro igualmente importante
La planificacin no expropiativa (non preemption) requiere
que los trabajos devuelvan el control al SO (Al planificador)
Servidores de informacin multimedia
46 Polticas de planificacin
Despachador (Dispatcher)
Mdulo que cede el control de la CPU al proceso/hilo seleccionado
por el planificador a corto plazo
Funciones:
Cambia de contexto
Cambia a modo usuario
Saltar al punto apropiado del programa de usuario
Debe ser muy rpido para reducir el tiempo de latencia (overhead)
Servidores de informacin multimedia
47 Criterios de planificacin
Utilizacin: mantener la CPU tan ocupada posible
Productividad: n de procesos/hilos que completan su
ejecucin por unidad de tiempo
Tiempo de retorno: cantidad de tiempo necesaria para
ejecutar (completar) un proceso/hilo dado
Tiempo de espera: tiempo que un proceso/hilo ha estado
esperando en la cola de Listos
Tiempo de respuesta: tiempo que va desde que se remite
una solicitud hasta que se produce la primera respuesta (no
salida)
Servidores de informacin multimedia
48 Algoritmos de planificacin
Tipos de Algoritmos de planificacin
Expropiacin (preemption). Existen algoritmos con y sin
expropiacin de la CPU
Intervalos de tiempo. El proceso/hilo puede recibir la CPU por un
cierto lapso de tiempo
Prioridades. A los procesos/hilos se les pueden asociar
prioridades, las cuales pueden ser estticas o dinmicas
Tiempos lmites (deadlines). Existen tiempo lmites para que
termine un proceso/hilo. Cuanto ms cerca se est de ese lmite,
ms urgente se hace su planificacin
Servidores de informacin multimedia
49 Algoritmos de planificacin
Algoritmos de planificacin
Sin Expropiacin
FCFS (First Come, First Serve)
SJF (Shortest Job First)
Prioridades (estticas y dinmicas)
Con Expropiacin
Round-Robin FCFS (First Come, First Serve)
SRTF (Shortest Remaining Time First)
Prioridades (estticas y dinmicas)
Servidores de informacin multimedia
50 FCFS (Primero en llegar, Primero en ser servido)
FCFS (Primero en llegar, Primero en ser servido)
Es el algoritmo ms simple de implementar
La cola de Listos se gestiona como una cola FIFO (First Input First
Output)
Muy sensible al orden de llegada de los procesos/hilos
Puede producir grandes tiempos de espera
Servidores de informacin multimedia
51 Algoritmo FCFS. Ejemplo
Proceso Duracin
P1 9
P2 4
P3 2
Calcular el tiempo de espera, tiempo de retorno y tiempo medio de espera
si aplicamos el algoritmo FCFS suponiendo que llegan en el mismo instante
en el siguiente orden: P1, P2, P3
Tiempos de Espera: P1=0; P2=9; P3=13
Tiempos de Retorno: P1=9; P2=13; P3=15
T. espera Medio: (0+9+13)/3= 7.3
Productividad: 3/15=0.2
Realizar los mismos clculos suponiendo que llegan en el siguiente orden:
P2, P3 y P1
T. espera Medio: (0+4+6)/3= 3.3
Servidores de informacin multimedia
52 Algoritmo FCFS. Efecto Convoy
Se produce cuando se tiene una mezcla de un proceso/hilo
ligado a CPU y varios procesos/hilos ligados a E/S
Estos ltimos tendern a ubicarse en la cola de Listos, donde
sern frenados por el proceso/hilo que usa mucha CPU,
quedando los recursos de E/S libres
Por el otro lado, cuando el proceso/hilo ligado a CPU libera el
procesador, los dems pasan rpido a E/S, quedando la CPU
ociosa
Por lo tanto, se produce baja utilizacin de CPU y de los
dispositivos de E/S
Una solucin requerira una planificacin no FCFS.
Servidores de informacin multimedia
53 SJF (primero el ms corto)
Entra en CPU el proceso con la rfaga de CPU ms breve
Minimiza el tiempo de espera medio
Riesgo de inanicin de los procesos/hilos de larga duracin
Se pueden estimar las prximas rfagas de CPU de los
procesos/hilos segn su historia reciente
Versin expulsiva (SRTF): el proceso en CPU es desalojado si
llega a la cola un proceso/hilo con duracin ms corta (SRTF :
Primero se trata el proceso de tiempo restante menor)
Servidores de informacin multimedia
54 SJF (primero el ms corto)
Cmo se estima la duracin de la siguiente rfaga de CPU?
La siguiente rfaga de CPU se predice como una media exponencial de las
longitudes medias en anteriores rfagas
Sea:
t
n
: longitud de la n-sima rfaga de CPU

n
: valor predicho para la n-sima rfaga de CPU
: parmetro de ajuste ( 0 <= <= 1)

n+1
= t
n
+ (1-)
n
Si =0 La historia reciente no tiene efecto, se supone que las condiciones
actuales son transitorias.
n+1
=
n
Si =1 No se tiene en cuenta la historia, slo tiene importancia la rfaga ms
reciente de CPU.
n+1
= t
n
Es habitual que =1/2 por lo que la historia reciente y antigua se pondera de
igual manera
Servidores de informacin multimedia
55 Algoritmo SJF. Ejemplo
Proceso Llegada Duracin
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Calcular el tiempo medio de espera que resulta de aplicar un algoritmo SJF
no expulsivo
espera media: (0+6+3+7)/4=4
Calcular el tiempo medio de espera que resulta de aplicar un algoritmo SJF
expulsivo (SRTF)
espera media: (9+1+0+2)/4=3
Servidores de informacin multimedia
56 SJF (primero el ms corto)
Ventajas:
SJF es ptimo en cunto a reducir el tiempo de espera
Problemas:
Es necesario conocer a priori o predecir el tiempo de servicio del
trabajo
Existe posibilidad de inanicin para trabajos largos
Servidores de informacin multimedia
57 SRTF
Corresponde a SJF con expropiacin
Se planifica como siguiente el que tenga menor tiempo de
proceso hasta su trmino
Si llega un trabajo con menor tiempo de proceso que el actual
en ejecucin, lo saca del procesador (expropiacin)
Se debe recordar el tiempo remanente de proceso para cada
trabajo desplazado
Servidores de informacin multimedia
58 Round Robin (Turno rotatorio - circular)
Es FCFS con expropiacin
Adecuado para implementar tiempo compartido
Cada proceso/hilo dispone de un cuanto de tiempo mximo q
Si cuando expira el cuanto de tiempo el proceso contina en CPU, el
planificador lo desaloja y lo ingresa al final de la cola de Listos
La cola de Listos se gestiona como una cola FIFO
Se usa en sistemas interactivos
Evita o reduce el efecto convoy
Si hay n procesos, cada uno obtiene 1/n del tiempo de la CPU en intervalos
de q unidades, como mximo.
Servidores de informacin multimedia
59 Round Robin - Ejemplo
Servidores de informacin multimedia
60 Influencia del valor del quanto
Round Robin. Influencia del cuanto de tiempo (q)
En general, si n es el nmero de procesos, entonces un
proceso debe esperar a lo ms:
(n-1)* q para el prximo cuanto de tiempo
Regla para un rendimiento ptimo:
El 80% de las rfagas de CPU deben ser menores que el cuanto
Servidores de informacin multimedia
61 Planificacin por Prioridades
Cada proceso tiene una prioridad; entra en CPU aquel con
mayor prioridad
la poltica puede ser expulsiva o no
Prioridades definidas de forma interna (por el S.O.) o externa (por
los usuarios)
El SJF/SRTF son casos de planificacin por prioridades donde la
prioridad se establece en base a la duracin estimada de la tarea)
Riesgo de inanicin de los procesos con menos prioridad
Servidores de informacin multimedia
62 Planificacin por Prioridades - Ejemplo
Servidores de informacin multimedia
63 Planificacin con Multicolas
Los procesos se pueden clasificar fcilmente en distintos grupos
interactivos, por lotes, etc.)
Varias colas de Listos, cada una gestionada con una poltica diferente
Las colas se reparten la CPU segn alguna poltica:
por prioridad absoluta
un % de tiempo para cada cola
Ejemplo:
Trabajos interactivos: Round-Robin y mxima prioridad
Trabajos de fondo (lotes): FCFS y mnima prioridad
El tiempo de CPU se puede dividir en los grupos (p.e. 80% procesos
interactivos y 20% proceso por lotes)
Debe existir un algoritmo de planificacin entre colas
Servidores de informacin multimedia
64 Multicolas - Ejemplo
Prioridades estrctas: Los procesos en cola con menor
prioridad no se ejecutan mientras haya procesos en cola con
mayor prioridad. Posibilidad de inanicin
Cuotas de tiempo: Cada cola est asignada a un porcentaje
del tiempo de CPU. Ejemplo: el 80% a trabajos interactivos y
el 20% a trabajos por lotes.
Prioridades dinmicas: en funcin del tamao de la cola
Servidores de informacin multimedia
65 Multicolas con Realimentacin
Existen diferentes colas de procesos preparados.
Cada cola posee:
Poltica de planificacin: para los procesos que estn en esa cola
Una prioridad asignada: frente a otras colas
Un proceso puede cambiar de cola de acuerdo con un
esquema de actualizacin de prioridades
Los procesos con un tiempo de espera acumulado elevado son
promocionados a una cola con prioridad superior
Los procesos con un tiempo de utilizacin de la CPU elevado son
degradados a una cola con prioridad inferior.
Servidores de informacin multimedia
66 Multicolas con Realimentacin
Servidores de informacin multimedia
67 Multicolas con Realimentacin
Multicolas con Realimentacin
Procesos ligados a E/S tienen alta prioridad (pasan rpido por la
CPU)
Procesos ligados a CPU disminuyen su prioridad (bajan a colas de
mayor cuanto)
Para evitar inanicin, procesos que esperan mucho pueden subir
una cola (envejecimiento)
Servidores de informacin multimedia
68 Planificacin de la CPU en Linux
Linux utiliza dos algoritmos de planificacin
Algoritmo de tiempo compartido con expropiacin
Algoritmo para tareas en tiempo real por prioridades
Tiempo Compartido
Linux usa un algoritmo de prioridades basado en crditos
Cada proceso posee un cierto nmero de crditos
El planificador selecciona el proceso con ms crditos de ejecucin
Cada interrupcin el proceso que est en ejecucin pierde un
crdito
Si creditos = 0, entonces el proceso es suspendido
Este sistema otorga prioridad a procesos interactivos o limitados por
E/S para los que es importante un tiempo de respuesta rpido
Servidores de informacin multimedia
69 Planificacin de la CPU en Linux
Tareas de tiempo real
Linux implementa dos clases de planificacin FIFO y Round Robin
Los procesos adems tienen una prioridad
Siempre corre el proceso con mayor prioridad
Servidores de informacin multimedia
Autora del material
(c) Mario Muoz Organero

You might also like