Вы находитесь на странице: 1из 8

Sistemas Operativos

Intercambio del CPU

Proceso 1 Sistema Operativo Proceso 2


En ejecución
Salvar registros Inactivo

Sistemas Operativos Profesor: Interrupción o


Dispatcher
Planificador
Your picture here llamada al sistema

Ciclo 2018-1 Diaz Muñante Jorge Restaurar registros

Inactivo En ejecución

Salvar registros

Dispatcher Interrupción o
Planificacion del Procesador Planificador
llamada al sistema
Restaurar registros Inactivo
En ejecución

Planificador  políticas
Dispatcher  mecanismos

Planificador / Despachador Objetivos

 Planificador. 1. Ser justa


 Selecciona cual de todos los procesos cargados en 2. Elevar al máximo la producción o rendimiento
memoria se encuentra listo para ejecutarse, con la 3. Aumentar al máximo el número de usuarios interactivos
intención de asignarle el procesador. 4. Ser predecible
 Despachador.
5. Reducir al mínimo el gasto extra
 Es el módulo encargado de dar el control del CPU al
proceso seleccionado por el planificador, lo que involucra: 6. Equilibrar el aprovechamiento de recursos
 Cambio de contexto. 7. Lograr equilibrio entre la respuesta y el aprovechamiento
 Cambio a modo usuario. 8. Evitar esperas infinitas
 Saltar a una punto específico del programa de usuario para
continuar con la ejecución. 9. Imponer prioridades
 Latencia de despacho. 10. Dar preferencia a procesos que ocupan recursos decisivos
 Tiempo invertido por el despachador en detener un proceso y reiniciar
otro. 11. Dar mejor trato a procesos que muestren un comportamiento deseable.
12. Degradarse paulatinamente de cargas pesadas

Objetivos Objetivos

 1. Ser justa  2. Elevar al máximo la productividad o rendimiento.


 Debe tratar a todos los procesos de la misma forma y no aplazar Maximizar el numero de trabajos procesados por unidad de tiempo.
indefinidamente ningun proceso. Se evita mediante alguna técnica
de envejecimiento.

Diaz Muñante Jorge 1


Sistemas Operativos

Criterios de planificación Modelos de evaluacion


 Suponer que tenemos los procesos A, B, y C, que llegan en el
 Uso CPU: % tiempo que la CPU está ocupada tiempo 0
– Tipicamente entre 40 a 90 %  Nosotros deseas calcular el tiempo de respuesta, tiempo de
 Productividad (Throughput): Cantidad de trabajo completada por unidad espera y tiempo de retorno del proceso A
de tiempo
– Depende la duracion de los procesos
 Tiempo de retorno: Tiempo desde que se lanza un proceso para su
ejecución hasta que termina
– Es la suma del tiempo que esta en la cola de listo, ejecución y 31
bloqueado T. Retorno
 Tiempo de espera. Tiempo que un proceso pasa esperando en la cola de 11 8 3 = 22
T. Espera + +
procesos listos para ejecutar.
 Tiempo medio de espera. Tiempo medio que todos los procesos deben 4 6 5 2 3 5 2 3 1 7
T. Respuesta = 0 A B C A B C A C A C
esperar. Tiempo
 Tiempo de respuesta. Para proceso interactivo es el tiempo que pasa
desde que se emite una petición hasta que se produce la primera Diagrama de Gantt : visualiza como los procesos se ejecutan
respuesta

Modelos de evaluacion Modelos de evaluacion

 Ahora deseamos calcular el tiempo de respuesta, tiempo de espera y  Ahora deseamos calcular el tiempo de respuesta, tiempo de espera y
tiempo de retorno del proceso B tiempo de retorno del proceso C

T. Retorno T. Retorno
T. Espera + T. Espera + + +
T. respuesta T. Respuesta
4 6 5 2 35 2 3 1 7 4 5 2 3 1 7
6 5 2 3
A B C A B C A C A C Tiempo A B C A B C A C A C Tiempo

Proceso B T. respuesta = 4, T Espera = 11, T. Retorno = 20 Proceso C T. respuesta = 10, T Espera = 18, T. Retorno = 38

Criterios de planificación Objetivos

 Concepto de “racha (burst) de CPU” de un proceso: 4. Ser predecible


– tiempo que usará la CPU hasta que se bloquea
– procesos limitados por la CPU (CPU-bound): rachas largas Un proceso debe ejecutarse aproximadamente en el
mismo tiempo y casi al mismo costo con independencia de
– procesos limitados por la E/S (I/0-bound): rachas cortas la carga del sistema.
 Tipos de procesos:
– Interactivos: I/0-bound, interacción con usuarios
– De cómputo: CPU-bound, no interacción
– Con E/S pero no de usuario: I/0-bound, no interacción
– Tiempo real: garantía en tiempo de respuesta de un proceso
 Tendencia general: Favorecer trabajos con rachas cortas
– Se favorece procesos interactivos
– También mejora tiempo de espera medio
• Teoría de colas: servir primero peticiones más cortas
– SS.OO. favorecen proc. con mucha E/S aunque no sea interactivo

Diaz Muñante Jorge 2


Sistemas Operativos

Prioridades estáticas y dinámicas


Administracion Apropiada y No Apropiada

 No apropiada  Prioridades estáticas


– Una vez que el CPU se le asignó al proceso, ya no se le puede  Prioridades estáticas no cambian
arrebatar
 Son fáciles de llevar a la práctica
– Útil sistemas procesos alta prioridad requieren atención inmediata,
(sistemas tiempo real)  No responden a cambios en el ambiente
– Los trabajos largos atrasan a los cortos, pero el tratamiento es más
justo
 Prioridades dinámicas
 Responden a los cambios (inanición es solucionado con una política de
 Apropiada envejecimiento)
– Al proceso se le puede arrebatar el CPU  Prioridad inicial tiene una duración corta, después de lo cual se ajusta a
– Útil sistemas tiempo compartido: garantizar tiempos de respuesta un valor más apropiado
aceptables
- Esquemas más complejos
– Costo: cambio de contexto implica gasto extra
- Gasto extra justificado: aumento en la sensibilidad del sistema

Prioridades compradas
FCFS o PEPS

 First-Come, First-Served (FCFS) o PEPS


- Debe proporcionar un servicio competente y razonable a una gran  Tambien “First In, First Out” (FIFO)
• En los primeros sistemas, un proceso era planificado
comunidad de usuarios. • Hasta que finalizaba (incluyendo I/O)
• Ahora, mantiene el CPU hasta que se bloquea
 Ejemplo: Proceso Tiempo Racha
- Debe manejar las situaciones en las cuales un miembro de la P1 24
comunidad necesite un trato especial P2 3
P3 3
 Suponga que los procesos arriban en este orden: P1 , P2 , P3
Ell diagrama de Gantt es :
- Trabajo urgente => dispuesto a pagar extra:
comprar prioridad
P1 P2 P3

(nivel más alto de servicio) 0 24 27 30


 Tiempo de espera para P1 = 0; P2 = 24; P3 = 27
 Tiempo promedio de espera: (0 + 24 + 27)/3 = 17
- Pago extra obligatorio  Tiempo promedio terminado: (24 + 27 + 30)/3 = 27
puede ser necesario arrebatar recursos a otros usuarios que  Efecto Convoy procesos largos hacen esperara a los pequeños
también pagan

FCFS … Round Robin o por Turnos


 Otro ejemplo:
 Supongamos que este sea el orden de llegada: P2 , P3 , P1
El diagrama de Gantt seria:  Politica
– Cada proceso obtiene una pequeño tiempo para uso del CPU
(Quantum), usualmente 10-100 milisegundos
P2 P3 P1
– Si el quantum expira, el proceso es interrumpido y enviado al final de la
cola.
0 3 6 30

 Tiempo de espera para P1 = 6; P2 = 0; P3 = 3


 Tiempo promedio de espera: (6 + 0 + 3)/3 = 3
 Tiempo promedio de terminado: (3 + 6 + 30)/3 = 13
 En el segundo caso:
 Tiempo promedio de espera es mucho mejor (antes era 17)  Desempeño
 Tiempo promedio de terminado es mejor (antes era 27) – q es grande  FCFS
 Pro y Cons :
– q es pequeño  Excesivo gasto extra
 Simple (+)
 Proceso corto tiene que llegar antes (-) – q debe ser lo suficiente grande para que la mayoria de los procesos
interactivos acaben en una sola racha

Diaz Muñante Jorge 3


Sistemas Operativos

Ejemplo con diferentes q


Ejemplo de RB con q = 20
Process Burst Time
P1 53 33 13 0 P2 P4 P1 P3
P2 08
+ FCFS: [8] [24] [53] [68]
0
P3 68 48 28 8 0 0 8 32 85 153
P4 24 4 0 Quantu P1 P2 P3 P4 Promd
Gantt chart: (Time Quantum = 20) m
+ FCFS 32 0 85 8 31¼
Q=1 84 22 85 57 62
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 Tiempo
Q=5 82 20 85 58 61¼
De
0 20 28 48 68 88 108 112 125 145 153 Q=8 80 8 85 56 57¼
Espera
Q = 10 82 10 85 68 61¼
 Tiempo de espera para P1=(68-20)+(112-88)=72
Q = 20 72 20 85 88 66¼
 P2=(20-0)=20
P3=(28-0)+(88-48)+(125-108)=85 - FCFS 68 145 0 121 83½
P4=(48-0)+(108-68)=88 + FCFS 85 8 153 32 69½
 Tiempo Promedio de espera = (72+20+85+88)/4=66¼ Q=1 137 30 153 81 100½
 Tiempo promedio de terminado = (125+28+153+112)/4 = 104½ Tiempo Q=5 135 28 153 82 99½
 Pros and Cons: terminad Q=8 133 16 153 80 95½
 Mejor para los procesos cortos (+) o
Q = 10 135 18 153 92 99½
 Tiempo cambio de contexto hay que sumarlo para los procesos largos (-) Q = 20 125 28 153 112 104½
• Por lo general es 0.1ms – 1ms – alrededor de 1% de sobrecarga
- FCFS 121 153 68 145 121¾

Colas Multinivel Planificación con colas multinivel


Colas multinivel realimentadas

 Objetivo: Diferenciar entre distintos tipos de trabajos  Técnicas adaptativas


 Existen colas separadas en función del tipo de trabajo – Los trabajos cambian de prioridad y de cola
 Cada cola tiene su propio algoritmo de planificación  Consideraciones:
 Debe existir otro algoritmo para elegir la cola en cada momento – El algoritmo de planificación de cada cola
– Métodos para ascender y descender entre colas
Prioridad alta Tareas del sistema
– Dónde poner inicialmente a los trabajos
+ Tareas de TR
Tareas interactivas
Prioridad Quantum = 10
Tareas de edición
Quantum = 20
Prioridad baja Tareas batch

– FCFS

Multicolas Planificación en Android

Diaz Muñante Jorge 4


Sistemas Operativos

Descripción de la prioridad procesos … Descripción de la prioridad procesos


Tipo Descripción Tipo Descripción
Foreground Actividad ejecutada en primer plano en la pantalla del usuario y con Background Activity que actualmente no es visible por el usuario y que ya no
Process la cuál está interactuando ahora mismo. Por lo regular son pocos Process tienen demasiada importancia. Por ejemplo, los programas que
procesos de este tipo corriendo a la vez y son aquellos que se arrancó el usuario hace tiempo y no los ha vuelto a usar, pasan a
eliminarán como última opción si la memoria es tan baja que ni estar en background. Por eso es importante que cuando nuestra
matando al resto de procesos tenemos los recursos necesarios aplicación pase a Background, el sistema libere, en la medida de lo
Visible Activity que no se está ejecutando en primer plano (es decir, su posible, todos los recursos que pueda para que su rendimiento sea
Process método onPause() ha sido llamado). Un ejemplo puede ser la óptimo
aplicación de correo en la cuál demos click en algún enlace de Empty Es un proceso que no aloja ningún tipo de componente. Su razón
interés, este pasaría a ser el Foreground Process dejando a la Process de ser es el de tener una caché disponible para la próxima
aplicación de correo en el concepto de Visible Process. Se cerrarán aplicación que lance el usuario. Es común que el sistema elimine
únicamente cuando el sistema no tenga los recursos necesarios este tipo de procesos con frecuencia para así poder obtener
para mantener corriendo todos los procesos que estén en primer memoria disponible.
plano
Service Un Service ha sido invocado. Estan hacen cosas en segundo plano
Process que normalmente son importantes para el usuario (conexión con
servidores, actualización del GPS, reproductor de música, etc.), el
sistema nunca va a liquidar un servicio a menos que sea necesario
para mantener vivos todos los Visible y Foreground.

Ejemplo del algoritmo


Proceso mas corto (SJF)
Cuatro tareas:
- Disciplina no apropiada A: tiempo ejecución 8 minutos
- Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado B: tiempo ejecución 4 minutos
de ejecución hasta terminar C: tiempo ejecución 4 minutos
D: tiempo ejecución 4 minutos
- Reduce el tiempo de espera promedio de PEPS
D C B A
- Favorece procesos cortos a expensas de los largos
- Selecciona procesos asegurandose que el siguiente proceso se completará
y saldrá del sistema lo antes posible
Tiempos regreso, ejecución en ese orden:
A: 8 mins, B: 12 mins, C: 16 mins, D: 20 mins
- Conocimiento tiempo de ejecución de un proceso: Promedio: 14 mins
se basa en los tiempos de ejecución estimados por el usuario ( Cambiando el orden, (más corto primero):
PELIGRO!!!!!)
- No resulta útil en sistemas de tiempo compartido A D C B

Tiempos regreso:
B: 4 mins, C: 8 mins, D: 12 mins, A: 20 mins
Promedio: 11 mins

Admon. por el tiempo restante más corto


(SRT) SJF vs SRT

 Proceso Tiempo Llegada Uso CPU


- La contraparte de la anterior
 P1 0 8
- Util en tiempo compartido
 P2 1 4
- El proceso con el menor tiempo estimado de ejecución para terminar es el
primero en ejecutarse, (incluyendo procesos nuevos)  P3 2 9
- Un proceso en ejecución puede ser desposeído por uno nuevo con menor  P4 3 5
tiempo de ejecución estimado
- También requiere estimaciones
- Implica un mayor gasto extra:
pendiente del trabajo en ejecución
manejar apropiaciones ocasionales
- Procesos pequeños se ejecutan casi de inmediato
- Procesos grandes cuentan con un tiempo promedio de espera más grande, y
tiempos de espera más variados que en SJF

Diaz Muñante Jorge 5


Sistemas Operativos

SJF vs SRT SJF vs SRT

SJF (Proceso mas corto) SRT (Tiempo restante mas corto)


P1=8 P2=4 P4=5 P3=9 P1=8 P2=4 P4=5 P1=7 P3=9
0 1 2 3 8 12 17 26 0 1 23 5 10 17 26

P2 Cola de listo = (P2) P2 Cola de listo = (P1)


P3 Cola de listo = (P2,P3) P3 Cola de listo = (P1,P3)
P4 Cola de listo = (P2,P4,P3) P4 Cola de listo = (P4,P1,P3)

TeP1=0 TfP1=8 TeP1=9 TfP1=17


TeP2=7 TfP2=11 TfProm = 14.5 ms TeP2=0 TfP2=4 Tfprom = 13 ms
TeP3=15 TfP3=24 TeP3=15 TfP3=24
TeP4=9 TfP4=14 TeP4=2 TfP4=7

Por loteria Planificación Procesos Unix

 Carácter aleatorio  Diseñado para dar una buena respuesta a los procesos interactivos
 Cada proceso posee un “billete” de lotería  Algoritmo de dos niveles:
 Planificador: escoge billete y selecciona al premiado  bajo nivel : elige dentro del conjunto de procesos en memoria y
 Procesos “importantes” pueden tener varios billetes listos para ejecutarse

 Procesos cooperantes pueden intercambiarse billetes:  alto nivel : desplaza los procesos entre la memoria y el disco,
(procesos tiene oportunidad de estar en memoria y ejecutarse).
– Proceso cliente una vez hecha la petición puede
ceder sus billetes al servidor

Procesos Unix … cont.. Procesos Unix … cont..

 Bajo nivel utiliza varias colas, cada cola esta asociada a un  Admon. busca colas que comienzan en máxima prioridad:
valor de prioridad – - elige primer proceso cola y lo incia
 Procesos a ejecutar en modo usuario tienen valores positivos – - permite ejecución durante un quantum, (~
 Proceso en modo núcleo tienen valores negativos 100mseg)
 Valores negativos tienen máxima prioridad, y positivos  Si proceso agota su quantum:
tienen la mínima – se coloca al final de la cola
 En las colas se encuentran sólo los procesos que estan en – se ejecuta el algoritmo de planificación de nuevo
memoria listos para su ejecución.
– procesos con igual prioridad comparten CPU con
un algoritmo de round-robin

Diaz Muñante Jorge 6


Sistemas Operativos

Procesos Unix … cont.. Procesos Unix … cont..

 Cada segundo se vuelven a calcular prioridades procesos:  Cuando proceso se bloquea porque espera un resultado de una llamada
de sistema, se le elimina de la cola puesto que no se puede ejecutar:
– se dividen entre 2 los contadores de uso CPU (procesos
no tienen castigo por uso anterior CPU) – - ocurre el evento: se le coloca en una cola con
valor negativo
– se calcula la prioridad de cada proceso:
Nueva prioridad = base + uso CPU – - idea: sacar procesos del núcleo de manera
 En general base=0 rápida
– usuario que prefiera un servicio peor que el normal:
asignarle valor positivo mediante llamada nice()
– solo un superusuario puede pedir un servicio mejor

Planificacion del cpu - UNIX Planificador de Solaris


Mínima procesos formados en el Prioridad Quantum Expira Regresa de
prioridad nivel de prioridad 3 Quantum bloqueado
: 0 200 0 50
: 5 200 0 50
procesos en
3 Prioridad del usuario 3 modo usuario 10 160 0 51
2 Prioridad del usuario 2 en espera 15 160 5 51
1 Prioridad del usuario 1 20 120 10 52
0 Prioridad del usuario 0 25 120 15 52
-1 En espera del hijo para concluir 30 80 20 53
-2 En espera de la salida de la terminal 35 80 25 54
-3 En espera de la entrada de la terminal 40 40 30 55
procesos en
-4 En espera del buffer del disco modo núcleo 45 40 35 56
-5 En espera de E/S del disco en espera 50 40 40 57
55 40 45 58
Máxima : 59 20 49 59
prioridad :

Planificación de Solaris Planificacion de Solaris

 Basada en prioridades. 4 clases:


– 1. Tiempo real
– 2. Sistema
– 3. Tiempo compartido
– 4. Interactiva.
 La clase predeterminada es la de tiempo compartido.
– modifica dinámicamente las prioridades y asigna Q de
diferente duración usando colas multinivel realimentadas.
– Existe una relación inversa entre las prioridades y los Q.
Cuando más alta sea la prioridad, más pequeño será el Q y
cuando menor sea la prioridad, más larga será la franja.

Diaz Muñante Jorge 7


Sistemas Operativos

Planificacion de Solaris

 Los procesos interactivos suelen tener la prioridad más alta,


los procesos limitados por al CPU tienen la prioridad más
baja. Esta política de planificación proporciona un buen
tiempo de respuesta para los procesos interactivos y una
buena tasa de procesamiento para la clase de tiempo
compartido.

Diaz Muñante Jorge 8

Вам также может понравиться