s.o multiprogramacion (procesos)

27
Práctica 4

Upload: lucascicconi

Post on 12-Dec-2015

55 views

Category:

Documents


3 download

DESCRIPTION

SLIDE: S.OSCHEDULING-MULTIPROGRAMACION

TRANSCRIPT

Page 1: S.O MULTIPROGRAMACION (PROCESOS)

Práctica 4

Page 2: S.O MULTIPROGRAMACION (PROCESOS)

o Programa en ejecucióno Los conceptos de tarea, Job y proceso hacen

referencia a lo mismoo Según su historial de ejecución, los podemos

clasificar:n CPU Bound (ligados a la CPU)n I/O Bound (ligados a entrada/salida)

Page 3: S.O MULTIPROGRAMACION (PROCESOS)

Programa}Es estático}No tiene programcounter}Existe desde que se edita hasta que se borra

ProcesoþEs dinámicoþTiene programcounterþSu ciclo de vida comprende desde que se lo “dispara” hasta que termina

Page 4: S.O MULTIPROGRAMACION (PROCESOS)

þ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

Page 5: S.O MULTIPROGRAMACION (PROCESOS)

En su ciclo de vida, el proceso pasa por diferentes estados

Page 6: S.O MULTIPROGRAMACION (PROCESOS)

o Es la clave de la multiprogramación.o Esta diseñado de manera apropiada para

cumplir las metas de:n Menor Tiempo de Respuestan Mayor rendimienton Uso eficiente del procesador

Page 7: S.O MULTIPROGRAMACION (PROCESOS)

o Long term scheduler: Admite nuevosprocesos a memoria (controla el grado de multiprogramación)

o Medium term scheduler: Swapping (intercambio) entre disco y memoriacuando el SO lo determina (puededisminuir el grado de multiprogramación)

o Short term scheduler: Que proceso listose ejecuta

Page 8: S.O MULTIPROGRAMACION (PROCESOS)
Page 9: S.O MULTIPROGRAMACION (PROCESOS)
Page 10: S.O MULTIPROGRAMACION (PROCESOS)

o Retornon Tiempo que transcurre entre que el proceso llega al

sistema hasta que completa su ejecucióno Espera

n Tiempo que el proceso se encuentra en el sistemaesperando (sin ejecutarse) (TR – Tcpu)

o Promediosn Promedios de los anteriores

Page 11: S.O MULTIPROGRAMACION (PROCESOS)

o Nonpreemptiven Una vez que un proceso esta en estado de

ejecución, continua hasta que termina o se bloqueapor algún evento (por ej. I/O).

o Preemptiven El proceso en ejecución puede ser interrumpido y

llevado a la cola de listos por el SO. n Mayor overhead pero mejor servicion Un proceso no monopoliza el procesador.

Page 12: S.O MULTIPROGRAMACION (PROCESOS)

o Cada proceso se coloca en la cola de listoso Cuando hay que elegir un proceso para

ejecutar, se selecciona el mas viejo en la cola de listos (FIFO).

o No favorece a ningún tipo de procesos, porque se van a ir ejecutando en orden de llegada, pero en principio podríamos decirque los CPU Bound terminan en su primer ráfaga, mientras que los I/O bound necesitan mas ráfagas (por su naturaleza)

Page 13: S.O MULTIPROGRAMACION (PROCESOS)

Job Inst. Llega

da

CPU Prioridad

1 0 9 32 1 5 23 2 3 14 3 7 2

¿Tiempos de Retorno y Espera?

#Ejemplo 1TAREA “1” PRIORIDAD=3 INICIO=0[CPU,9]TAREA “2” PRIORIDAD=2 INICIO=1[CPU,5]TAREA “3” PRIORIDAD=1 INICIO=2[CPU,3]TAREA “4” PRIORIDAD=2 INICIO=3[CPU,7]

Scheduling – Ejemplo 1

Recordemos: En FCFS el criterio de selección es el orden de llegada!

Page 14: S.O MULTIPROGRAMACION (PROCESOS)

o Política nonpreemptive que selecciona el proceso mas corto primero.

o Procesos cortos se colocan delante de procesos largos.

o Los procesos largos pueden sufrir starvation (Inanición).

o Veamos el ejemplo 1 nuevamente

Page 15: S.O MULTIPROGRAMACION (PROCESOS)

o Política basada en un relojo Quantum: Medida que determina cuanto

tiempo podrá usar el procesador cada proceso.n Pequeño: Overhead de Context Switchn Grande: ¿Pensar?

o Cuando un proceso es expulsado de la CPU es colocado al final de la Ready Queue y se selecciona otro (FIFO Circular)

Page 16: S.O MULTIPROGRAMACION (PROCESOS)

o Recordar: Cada proceso se ejecuta durante una fracción de tiempo àQUANTUM (Q)

o Existe “contador” que indica las unidades de CPU en las que se ejecuto. Cuando el mismo llega a 0 (cero) el proceso es expulsado.

o Existen 2 variantes con respecto al valor inicial del “contador” cuando un proceso es asignado a la CPUn TIMER VARIABLEn TIMER FIJO

Page 17: S.O MULTIPROGRAMACION (PROCESOS)

o El “contador” se inicializa en Q contador := Q

cada vez que un proceso es asignado a la CPU.

o Este Esquema:n Mas utilizado en los algoritmos RRn Utilizado por el simulador

Veamos el ejemplo 1 nuevamente

Page 18: S.O MULTIPROGRAMACION (PROCESOS)

o El “contador” se inicializa a Q solo cuando su valor es 0 (cero)if (contador == 0) contador = Q;

o Es como si el “contador” se compartiera entre los procesos

o Ejemplo (Quantum = 4)n P1 toma la CPU y se ejecuta por 2 unidades n P2 (al dejar P1 la CPU) comienza con el contador = 2

Page 19: S.O MULTIPROGRAMACION (PROCESOS)

0 4 8

Timer Variable

0 4 8

TimerFijo

= E/S

= Uso de CPU

Round Robin, Q=4

P1

P2

P1

P2

Page 20: S.O MULTIPROGRAMACION (PROCESOS)

o Cada proceso tiene un valor que representa su prioridad

o Scheduler selecciona el proceso de mayor prioridad de los que se encuentran en la Ready Queue.

o Para simplificar à Una Ready Queue por cada nivel de prioridad

o Procesos de Baja Prioridad pueden sufrir starvation (Inanición)n Solución: Permitir a un proceso cambiar su

prioridad durante su ciclo de vida.o Puede ser preemptiveVeamos el ejemplo 1 nuevamente

Page 21: S.O MULTIPROGRAMACION (PROCESOS)
Page 22: S.O MULTIPROGRAMACION (PROCESOS)

o Versión Preemptive de SJFo Selecciona el proceso al cual le resta

menos tiempo de ejecución. o ¿A que tipo de procesos favorece?

à I/O Bound

Veamos el ejemplo 1 nuevamente

Page 23: S.O MULTIPROGRAMACION (PROCESOS)

o Ciclo de Vida de un proceson Uso de CPU + Operaciones de I/O

o Cada dispositivo tiene su cola de procesos en espera

à I/O Scheduler (FCFS, SJF, etc.)o Vamos a considerar I/O independiente de la

CPUà Uso de CPU + Operaciones de I/O en

simultaneo

Page 24: S.O MULTIPROGRAMACION (PROCESOS)

Job Inst. Llega

da

CPU E/S(Rec, Inst, dur)

1 0 5 (R1, 3, 2)2 1 4 (R2, 2, 2)3 2 3 (R3, 2, 3)

#Ejemplo 2RECURSO “R1”RECURSO “R2”RECURSO “R3”TAREA “1” INICIO=0[CPU,3] [1,2] [CPU,2]TAREA “2” INICIO=1[CPU,2] [2,2] [CPU,2]TAREA “3” INICIO=2[CPU,2] [3,3] [CPU,1]

Page 25: S.O MULTIPROGRAMACION (PROCESOS)

Job Inst. Llega

da

CPU E/S(Rec, Inst, dur)

1 0 5 (R1, 3, 3)2 1 4 (R1, 1, 2)3 2 3 (R2, 2, 3)

#Ejemplo 3RECURSO “R1”RECURSO “R2”TAREA “1” INICIO=0[CPU,3] [1,3] [CPU,2]TAREA “2” INICIO=1[CPU,1] [1,2] [CPU,3]TAREA “3” INICIO=2[CPU,2] [2,3] [CPU,1]

Page 26: S.O MULTIPROGRAMACION (PROCESOS)

o Scheduler actuales à Combinación de algoritmos vistos

o La Ready Queue es dividida en varias colas (Similar a prioridades).

o Cada cola definida posee su propio algoritmo de scheduling.

o Los procesos se colocan en las colas según una clasificación que realice el SO

o A su vez se existe un algoritmo que planifica las colas

o Realimentación à Un proceso puede cambiar de una cola a la otra

Page 27: S.O MULTIPROGRAMACION (PROCESOS)

FIN

¿Consultas?