SO2015 EP Practica4 UCALP (Procesos)
o
o
o
Programa en ejecución
Los conceptos de tarea, Job y proceso hacen
referencia a lo mismo
Según su historial de ejecución, los podemos
clasificar:
n
n
CPU Bound (ligados a la CPU)
I/O Bound (ligados a entrada/salida)
Programa
Proceso
estático
þEs dinámico
}No tiene program
þTiene program
counter
counter
}Existe desde que se editaþSu ciclo de vida
hasta que se borracomprende desde que
}Es
se lo “dispara” hasta que
termina
þUna por proceso
þTiene información de
cada proceso
þEs lo primero que se crea
cuando se crea un
proceso y lo último que
se borra cuando termina
En su ciclo de vida, el proceso pasa por
diferentes estados
o
o
Es la clave de la multiprogramación.
Esta diseñado de manera apropiada para
cumplir las metas de:
n
n
n
Menor Tiempo de RespuestaMayor rendimiento
Uso eficiente del procesador
o
o
o
Long term scheduler: Admite nuevos
procesos a memoria (controla el grado de
multiprogramación)
Medium term scheduler: Swapping
(intercambio) entre disco y memoria
cuando el SO lo determina (puede
disminuir el grado de multiprogramación)
Short term scheduler: Que proceso listo
se ejecuta
o
Retorno
n
o
Espera
n
o
Tiempo que transcurreentre que el proceso llega al
sistema hasta que completa su ejecución
Tiempo que el proceso se encuentra en el sistema
esperando (sin ejecutarse) (TR – Tcpu)
Promedios
n
Promedios de los anteriores
o
Nonpreemptive
n
o
Una vez que un proceso esta en estado de
ejecución, continua hasta que termina o se bloquea
por algún evento (por ej. I/O).
Preemptive
n
n
n
El proceso en ejecución puedeser interrumpido y
llevado a la cola de listos por el SO.
Mayor overhead pero mejor servicio
Un proceso no monopoliza el procesador.
o
o
o
Cada proceso se coloca en la cola de listos
Cuando hay que elegir un proceso para
ejecutar, se selecciona el mas viejo en la cola
de listos (FIFO).
No favorece a ningún tipo de procesos,
porque se van a ir ejecutando en orden de
llegada, pero en principiopodríamos decir
que los CPU Bound terminan en su primer
ráfaga, mientras que los I/O bound
necesitan mas ráfagas (por su naturaleza)
Scheduling – Ejemplo
Job
1
2
3
4
Inst.
Llega
da
0
1
2
3
CPU
Priori
dad
9
5
3
7
3
2
1
2
¿Tiempos de
Retorno y
Espera?
Recordemos: En FCFS el
criterio de selección es el orden
de llegada!
#Ejemplo 1
TAREA “1” PRIORIDAD=3
[CPU,9]
TAREA “2” PRIORIDAD=2
[CPU,5]TAREA “3” PRIORIDAD=1
[CPU,3]
TAREA “4” PRIORIDAD=2
[CPU,7]
INICIO=0
INICIO=1
INICIO=2
INICIO=3
o
o
o
o
Política nonpreemptive que
selecciona el proceso mas corto
primero.
Procesos cortos se colocan
delante de procesos largos.
Los procesos largos pueden sufrir
starvation (Inanición).
Veamos el ejemplo 1 nuevamente
o
o
o
Política basada en un reloj
Quantum: Medida que determina cuantotiempo podrá usar el procesador cada
proceso.
n Pequeño: Overhead de Context Switch
n Grande: ¿Pensar?
Cuando un proceso es expulsado de la
CPU es colocado al final de la Ready
Queue y se selecciona otro (FIFO
Circular)
o
o
o
Recordar: Cada proceso se ejecuta
durante una fracción de tiempo à
QUANTUM (Q)
Existe “contador” que indica las
unidades de CPU en las que se ejecuto.
Cuando el mismollega a 0 (cero) el
proceso es expulsado.
Existen 2 variantes con respecto al valor
inicial del “contador” cuando un proceso
es asignado a la CPU
n TIMER VARIABLE
n TIMER FIJO
o
o
El “contador” se inicializa en Q
contador := Q
cada vez que un proceso es asignado a la
CPU.
Este Esquema:
n
n
Mas utilizado en los algoritmos RR
Utilizado por el simulador
Veamos el ejemplo 1 nuevamente
o
o
o
El“contador” se inicializa a Q solo cuando su
valor es 0 (cero)
if (contador == 0) contador = Q;
Es como si el “contador” se compartiera entre
los procesos
Ejemplo (Quantum = 4)
n
n
P1 toma la CPU y se ejecuta por 2 unidades
P2 (al dejar P1 la CPU) comienza con el contador = 2
0
Timer
Variable
4
8
4
8
P1
P2
Round Robin, Q=4
= E/S
= Uso de CPU
0
Timer
Fijo
P1
P2
o
o
o
o
o
Cada...
Regístrate para leer el documento completo.