Redictado - Introducción a los Sistemas Operativos 2016
Trabajo Práctico Nro. 4 Procesos – Scheduling Scheduling Multiprocesamiento 1.- Responda en forma forma sintética sobre sobre los siguientes siguientes conceptos: a) Prog Progra rama ma y Pro Proce ceso so.. b) Defina Defina Tiempo Tiempo de retorno retorno TR) TR) y Tiempo Tiempo de espera espera T!) para para un "ob. c) Defi Defina na Tiemp iempo o Prom Promed edio io de Reto Retorn rno o TPR TPR)) y Tiemp iempo o prom promed edio io de espe espera ra TP!) para un lote de "#$S d) %&ué %&ué es el &uan &uantu tum' m' e) %&ué signifi significa ca (ue un algoritmo algoritmo de schedu scheduling ling sea apropia apropiatio tio o no apropiati apropiatio o Preemptie o *on+Preemptie)' *on+Preemptie)' f) %&ué %&ué tare tareas as real reali, i,an an' '
Short Term Scheduler
-ong Term Scheduler
Medium Term Scheduler g) %&ué %&ué tareas tareas reali, reali,a a el Dispat Dispatche cher' r'
2.- Procesos: a) %u/l %u/l es la informaci0 informaci0n n m1nima (ue (ue el S# debe tener tener sobre sobre un proceso'% proceso'%!n !n (ue estructura de datos asociada almacena dicha informaci0n' b) %&ué signi significa fica (ue (ue un proceso proceso sea sea 2P3 $ound $ound44 y 256# $ound $ound4' 4' c) %u/les %u/les son los estado estados s posibles posibles por los los (ue puede puede atraesar atraesar un proceso proceso' ' d) !7pli(ue mediante un diagrama diagrama las posibles posibles transiciones transiciones entre los los estados. estados. 1f) se encarga de las transiciones' e) %&ue schedule schedulerr de los menciona mencionados dos en 1f) se 3.- Para 3.- Para los siguientes algoritmos de scheduling: 88S 8isrt oome 8irst Sered) S"8 Shortest "ob 8irst) Round Robin Prioridades a) !7pli(u !7pli(ue e su funciona funcionamien miento to mediante mediante un un e9emplo. e9emplo. b) %lguno %lguno de ellos ellos re(uiere re(uiere alg;n par/met par/metro ro para su funcionam funcionamient iento' o' c) ual es es el mas mas adecuado adecuado seg;n seg;n los tipos tipos de proces procesos os y6o S#. S#. d) ite enta9as enta9as y desen desenta9as ta9as de su su uso. uso. 4.- Para 4.- Para el algoritmo Round Robin< e7isten = ariantes: Timer 8i9o Timer >ariable a) %&ué %&ué signi signific fican an estas estas = arian ariantes tes' ' b) !7pli(u !7pli(ue e mediante mediante un un e9emplo e9emplo sus difere diferencia ncias. s. c) !n cada cada ariante ariante %D0nde %D0nde deber1a deber1a resid residir ir la informac informaci0n i0n del del &uantum' &uantum' 5.- Se tiene el siguiente lote de procesos (ue arriban al sistema en el instante ? cero) Job @ = C B
Unidades de CPU A @B @= E P/gina @ de E
Redictado - Introducción a los Sistemas Operativos 2016
a) Realice los diagramas de Fantt seg;n los siguientes algoritmos de Scheduling: 88S 8irst ome< 8irst Sered)
S"8 Shortest "ob 8irst)
Round Robin con (uantum G y Timer 8i9o.
Round Robin con (uantum G y Timer >ariable.
b) Para cada algoritmo calcule el TR y T! para cada 9ob as1 como el TPR y el TP!. c) !n base a los tiempos calculados compare los diferentes algoritmos. 6.- Se tiene el siguiente lote de procesos:
a)
b) c) d) e)
Job Le!ada Unidades de CPU @ ? = = H C C H B B I = Realice los diagramas de Fantt seg;n los siguientes algoritmos de Scheduling: 88S 8irst ome< 8irst Sered) S"8 Shortest "ob 8irst) Round Robin con (uantum G @ y Timer >ariable Round Robin con (uantum G H y Timer >ariable Para cada algoritmo calcule el TR y T! para cada 9ob as1 como el TPR y el TP!. !n base a los tiempos calculados compare los diferentes algoritmos. !n el algoritmo Round Robin< (ue conclusi0n se puede sacar con respecto al alor del (uantum. %Para el algoritmo Round Robin< en (ue casos utili,ar1a un alor de (uantum alto y (ue enta9as y desenta9as obtendr1a'
".- 3na ariante al algoritmo S"8 es el algoritmo S"8 apropiatio o SRT8 Shortest Remaining Time 8irst). a) Realice el diagrama del Fantt para este algoritmo seg;n el lote de traba9os del e9ercicio H). b) %*ota alguna enta9a frente a otros algoritmos' #.- Suponga (ue se agregan las siguientes prioridades al lote de procesos del e9ercicio 6: Job Prioridad @ C = C = @ B = donde un menor n;mero indica mayor prioridad. a) Realice el diagrama de Fantt correspondiente al algoritmo de planificaci0n por prioridades seg;n las ariantes: *o propiatia propiatia b) alcule el TR y T! para cada 9ob as1 como el TPR y el TP!.
P/gina = de E
Redictado - Introducción a los Sistemas Operativos 2016
c) %*ota alguna enta9a frente a otros algoritmos' $a9o (ue circunstancias lo utili,ar1a y ante (ue situaciones considera (ue la implementaci0n de prioridades podr1a no ser de mayor releancia' $.- 5nanici0n Staration) a) %&ué significa' b) %u/l6es de los algoritmos istos puede proocarla' c) %!7iste alguna técnica (ue eite la inanici0n para el6los algoritmos mencionados en b)' 1%.- -os procesos< durante su ciclo de ida< pueden reali,ar operaciones de 56# como lecturas o escrituras a disco< cintas< uso de impresoras< etc. !l S# mantiene para cada dispositio< (ue se tiene en el e(uipo< una cola de procesos (ue espera por la utili,aci0n del mismo al igual (ue ocurre con la ola de -istos y la P3< ya (ue la P3 es un dispositio mas). uando un proceso en e9ecuci0n reali,a una operaci0n de 56# el mismo es e7pulsado de la P3 y colocado en la cola correspondiente a el dispositio inolucrado en la operaci0n. !l S# dispone también de un 256# Scheduling4 (ue administrada cada cola de dispositio a traés de alg;n algoritmo 88S< Prioridades< etc.). Si al colocarse un proceso en la cola del dispositio< la misma se encuentra ac1a el mismo ser/ atendido de manera inmediata< caso contrario< deber/ esperar a (ue el S# lo seleccione seg;n el algoritmo de scheduling establecido. -os mecanismos de 56# utili,ados hoy en d1a permiten (ue la P3 no sea utili,ada durante la operaci0n< por lo (ue el S# puede e9ecutar otro proceso (ue se encuentre en espera una e, (ue el proceso blo(ueado por la 56# se coloca en la cola correspondiente. uando el proceso finali,a la operaci0n de 56# el mismo retorna a la cola de listos para competir nueamente por la utili,aci0n de la P3. Para los siguientes algoritmos de Scheduling: 88S Round Robin con (uantum G = y timer ariable. J suponiendo (ue la cola de listos de todos los dispositios se administra mediante 88S< realice los diagramas de Fantt seg;n las siguientes situaciones: a) Suponga (ue al lote de procesos del e9ercicio 6) se agregan las siguientes operaciones de entrada salida: Job @ =
&'( rec*r+inst+d*r) R@< =< @) R=< C< @) R=< B< =) RC< @< =) RC< C< @)
b) Suponga (ue al lote de procesos del e9ercicio 6) se agregan las siguientes operaciones de entrada salida:
P/gina C de E
Redictado - Introducción a los Sistemas Operativos 2016
Job
&'( rec*r+inst+d*r) R@< =< C) R@< C< =) R=< C< =) R=< =< C) R@< @< =)
@ = C
11.- lgunos algoritmos pueden presentar ciertas desenta9as cuando en el sistema se cuenta con procesos ligados a P3 y procesos ligados a entrada salida. nalice las mismas para los siguientes algoritmos: a) Round Robin b) SRT8 Shortest Remaining Time 8irst) 12.- Para e(uiparar la desenta9a planteada en el e9ercicio 11)< se plantea la siguiente modificaci0n al algoritmo: lgoritmo >RR >irtual Round Robin): !ste algoritmo funciona igual (ue el Round Robin< con la diferencia (ue cuando un proceso regresa de una 56# se coloca en una cola au7iliar. uando se tiene (ue tomar el pr07imo proceso a e9ecutar< los procesos (ue se encuentra en la cola au7iliar tienen prioridad sobre los otros. uando se eli9e un proceso de la cola au7iliar se le otorga el procesador por tantas unidades de tiempo como le falto e9ecutar en su r/faga de P3 anterior< esto es< se le otorga la P3 por un tiempo (ue surge entre la diferencia del (uantum original y el tiempo usado en la ;ltima r/faga de P3. a) nalice el funcionamiento de este algoritmo mediante un e9emplo. Mar(ue en cada instante en (ue cola se encuentran los procesos. b) Realice el e9ercicio 1%)a) nueamente considerando este algoritmo< con un (uantum de = unidades y Timer >ariable. 13.- Suponga (ue un S# utili,a un algoritmo de >RR con Timer >ariable para el planificar sus procesos. Para ello< el (uantum es representado por un contador< (ue es decrementado en @ unidad cada e, (ue ocurre una interrupci0n de relo9. %$a9o este es(uema< puede suceder (ue el (uantum de un proceso nunca llegue a ? cero)' "ustifi(ue su respuesta. 14.- !l algoritmo S"8 y SRT8) tiene como problema su implementaci0n< dada la dificultad de conocer la duraci0n de la pr07ima r/faga de P3. !s posible reali,ar una estimaci0n de la pr07ima< utili,ando la media de las r/fagas de P3 para cada proceso. s1< por e9emplo< podemos tener la siguiente formula: Sn
1 =
+
1 n
T n
+
n −1 n
S n 8@)
Donde: T i G duraci0n de la r/faga de P3 i+ésima del proceso. Si G alor estimado para el i+ésimo caso S1 G alor estimado para la primer r/faga de P3. *o es calculado. a) Suponga un proceso cuyas r/fagas de P3 reales tienen como duraci0n:H< < H< < @C< @C< @C alcule (ue alores se obtendr1an como estimaci0n para las r/fagas de P3 del proceso si se utili,a la formula 8@)< con un alor inicial estimado de S @G@?. P/gina de E
Redictado - Introducción a los Sistemas Operativos 2016
-a formula anterior 8@) le da el mismo peso a todos los casos siempre calcula la media). !s posible reescribir la formula permitiendo darle un peso mayor a los casos mas recientes y menor a casos ie9os o iceersa). Se plantea la siguiente formula: S n +1
.
= α T n +
(1 − α ) S n 8=)
con ? K L K @ b) nalice para (ue alores de L se tienen en cuenta los casos mas recientes. c) Para la situaci0n planteada en a) calcule (ue alores se obtendr1an si se utili,a la formula 8=) con LG?<= LG?
&nst. Le!ada
CPU
@
?
E
=
@
B
C
= C
B A
B
B
B
&'( rec*r+inst+d*r) R@< < =) R=< H< C) R@< I< C) RC< C< =) RC< < =) R@< < @) R=< @< =) R=< B< C) R@< =< C) RC< < C)
Prioridad @
= C = @
Suponiendo (ue las colas de cada dispositio se administran a trabes de 88S y (ue cada cola de procesos listos se administra por medio de un algoritmo RR con un (uantum de C unidades y Timer >ariable< realice un diagrama de Fantt: a) sumiendo (ue *# hay apropiaci0n entre los procesos. P/gina B de E
Redictado - Introducción a los Sistemas Operativos 2016
b) sumiendo (ue hay apropiaci0n entre los procesos. 1".- !n el es(uema de olas Multiniel< cuando se utili,a un algoritmo de prioridades para administrar las diferentes colas los procesos pueden sufrir staration. -a técnica de ene9ecimiento se puede aplicar a este es(uema< haciendo (ue un proceso cambie de una cola de menor prioridad a una de mayor prioridad< después de cierto periodo de tiempo (ue el mismo se encuentra esperando en su cola. -uego de llegar a una cola en la (ue el proceso llega a ser atendido< el mismo retorna a su cola original. Por e9emplo: 3n proceso con prioridad C esta en cola su cola correspondiente. -uego de O unidades de tiempo< el proceso se muee a la cola de prioridad =. Si en esta cola es atendido< retorna a su cola original< en caso contrario luego de sucederse otras O unidades de tiempo el proceso de muee a la cola de prioridad @. !sta ;ltima acci0n se repite hasta (ue el proceso obtiene la P3< situaci0n (ue hace (ue el mismo uela a su cola original. a) Para los casos a) y b) del e9ercicio 16) realice el diagrama de Fantt considerando adem/s (ue se tiene un ene9ecimiento de unidades. 1#.- -a situaci0n planteada en el e9ercicio 1")< donde un proceso puede cambiar de una cola a otra< se la conoce como olas Multiniel con Realimentaci0n. Suponga (ue se (uiere implementar un algoritmo de planificaci0n (ue tenga en cuenta el tiempo de e9ecuci0n consumido por el proceso< penali,ando a los (ue m/s tiempo de e9ecuci0n tienen. Similar a la tarea del algoritmo S"8 (ue tiene en cuenta el tiempo de e9ecuci0n (ue resta). 3tili,ando los conceptos istos de olas Multiniel con Realimentaci0n indi(ue (ue colas implementar1a< (ue algoritmo usar1a para cada una de ellas as1 como para la administraci0n de las colas entre s1. Tenga en cuenta (ue los procesos no deben sufrir inanici0n. 1$.- 3n caso real: 2Unix Clasico 2 S>RC y $SD .C) !stos sistemas estaban dirigidos principalmente a entornos interactios de tiempo compartido. !l algoritmo de planificaci0n estaba diseado para ofrecer buen tiempo de respuesta a usuarios interactios y asegurar (ue los traba9os de menor prioridad en segundo plano) no sufrieran inanici0n. -a planificaci0n tradicional usaba el concepto de colas multiniel con realimentaci0n< utili,ando RR para cada uno de las colas y reali,ando el cambio de proceso cada un segundo (uantum). -a prioridad de cada proceso se calcula en funci0n de la clase de proceso y de su historial de e9ecuci0n. Para ello se aplican las siguientes funciones: CPU j (i − 1) CPU j (i ) = 2 P j (i )
=
Base j +
CPU j (i)
2
+
nice j
donde: CPU !i" G Media de la utili,aci0n de la P3 del proceso 9 en el interalo i. P !i" G Prioridad del proceso 9 al principio del interalo i los alores inferiores indican prioridad mas alta). #ase G Prioridad base del proceso 9 $ice G 8actor de a9uste -a prioridad del proceso se calcula cada segundo y se toma una nuea decisi0n de planificaci0n. !l prop0sito de la prioridad base es diidir los procesos en bandas fi9as de prioridad. -os alores de P3 y nice est/n restringidos para impedir (ue un
P/gina H de E
Redictado - Introducción a los Sistemas Operativos 2016
proceso salga de la banda (ue tiene asignada. -as bandas definidas< en orden decreciente de prioridad< son: 5ntercambio ontrol de Dispositios de 56# por blo(ues Festi0n de archios ontrol de Dispositios de 56# de caracteres Procesos de usuarios. >eamos un e9emplo: Supongamos C procesos creados en el mismo instante y con prioridad base H? y un alor nice de ?. !l relo9 interrumpe al sistema H? eces por segundo e incrementa un contador para el proceso en e9ecuci0n. -os sectores en celeste representan el proceso en e9ecuci0n.
a) nali,ando la 9erar(u1a descripta para las bandas de prioridades: %&ue tipo de actiidad considera (ue tendr/ m/s prioridad' %Por (ué piensa (ue el scheduler priori,a estas actiidades' b) Para el caso de los procesos de usuarios< y anali,ando las funciones antes descriptas: %&ué tipo de procesos se encarga de penali,ar' o e(uialentemente se faorecen). "ustifi(ue c) -a utili,aci0n de RR dentro de cada cola: %>erdaderamente faorece al sistema de Tiempo ompartido' "ustifi(ue. 2%.- cu/les de los siguientes tipos de traba9os: a) cortos acotados por P3 b) cortos acotados por !6S c) largos acotados por P3 d) largos acotados por !6S benefician las siguientes estrategias de administraci0n: P/gina A de E
Redictado - Introducción a los Sistemas Operativos 2016
a) prioridad determinada est/ticamente con el método del m/s corto primero S"8). b) prioridad din/mica inersamente proporcional al tiempo transcurrido desde la ;ltima operaci0n de !6S. 21.- !7plicar por(ué si el (uantum Q(Q en Round+Robin se incrementa sin l1mite< el método se apro7ima a 858#. 22.--os sistemas multiprocesador pueden clasificarse en: oo!/neos: -os procesadores son iguales. *ing;n procesador tiene enta9a f1sica sobre el resto. etero!/neos0 ada procesador tiene su propia cola y algoritmo de planificaci0n. •
•
#tra clasificaci0n posible puede ser: *tirocesador d/biente acoados0 ada procesador tiene su propia memoria principal y canales Procesadores eseciaiados0 !7iste uno o m/s procesadores principales de prop0sito general y arios especiali,ados controlados por el primero e9emplo procesadores de !6S< procesadores "aa< procesadores riptogr/ficos< etc.). *tirocesador f*erteente acoado0 onsta de un con9unto de procesadores (ue comparten una memoria principal y se encuentran ba9o el control de un Sistema #peratio •
•
•
a) %on cual6es de estas clasificaciones asocia a las Ps de escritorio habituales' b) %&ue significa (ue la asignaci0n de procesos se realice de manera simétrica' c) %&ué significa (ue se traba9e ba9o un es(uema Maestro6esclao'
23.-sumiendo el caso de procesadores homogéneos a) %u/l ser1a el método de planificaci0n m/s sencillo para asignar P3s a los procesos' b) ite enta9as y desenta9as del método escogido
23.-5ndi(ue breemente a (ue hacen referencia los siguientes conceptos: a) Nuella de un proceso en un procesador b) finidad con un procesador c) %Por (ué podr1a ser me9or en algunos casos (ue un proceso se e9ecute en el mismo procesador' d) %Puede el usuario en indos cambiar la afinidad de un proceso' %y en linu7' e) 5nestigue el concepto de balanceo de carga load balancing). f) ompare los conceptos de afinidad y balanceo de carga y como uno afecta al otro.
P/gina I de E
Redictado - Introducción a los Sistemas Operativos 2016
24.-Si a la tabla del e9ercicio 6 la modificamos de la siguiente manera: Job
Le!ada
1 2 3 4 5
% 2 3 6 #
Unidades de CPU 4 6 4 5 2
Procesador referido CPU% CPU% CPU1 CPU1 CPU%
J considerando (ue el scheduler de los Sistemas #peratios de la familia indos utili,a un mecanismo denominado preferred processor procesador preferido) . !l scheduler usa el procesador preferido a modo de afinidad cuando el proceso esta en estado ready. De esta manera el sheduler asigna este procesador a la tarea si este est/ libre. a) !9ecute el es(uema anterior utili,ando el algoritmo anterior b) !9ecute el es(uema anterior. Pero ahora si el procesador preferido no est/ libre es asignado a otro procesador. -uego el procesador preferido de cada 9ob es el ;ltimo en el cual e9ecuto. c) Para cada uno de los casos calcule el tiempo promedio de retorno y el tiempo promedio de espera d) %u/l de las dos alternatias planteadas es mas performante'
P/gina E de E