Vous êtes sur la page 1sur 30

Sistemas Operativos

Curso 2013 Planificacin

Agenda
Introduccin. Despac ador. Clases de procesos. !s"uemas de planificacin. Criterios de planificacin. #l$oritmos de planificacin.
%C%S. S&%. Prioridad. 'ound('o)in. *ultilevel(+ueue. *ultilevel(%eed)ac,(+ueue.

Sistemas multiprocesadores.

Sistemas Operativos | Curso 2013 | Planificacin

2/30

Introduccin
-a planificacin .scheduling/ es la )ase para lo$rar la multipro$ramacin. 0n sistema multipro$ramado tendr1 varios procesos "ue re"uerir1n el recurso procesador a la ve2. !sto sucede cuando los procesos est1n en estado ready .pronto/. Si e3iste un procesador disponi)le 4 e3isten procesos en estado ready5 se de)e ele$ir el "ue ser1 asi$nado al recurso para e6ecutar. !l componente del sistema operativo "ue reali2a la eleccin del proceso es llamada planificador .scheduler/.

Sistemas Operativos | Curso 2013 | Planificacin

3/30

Introduccin
Despachador8 mdulo del SO "ue da el control de la CP0 al proceso seleccionado por el planificador de corto pla2o !sto implica
Cam)io de conte3to8 Salvar re$istros del procesador en PC9 del proceso saliente. Car$ar los re$istros con los datos del PC9 del proceso entrante. Cam)iar el )it de modo a usuario. Saltar a la instruccin adecuada "ue a):a "uedado el proceso "ue se asi$no a la CP0 .re$istro program counter/.

-a latencia del despac ador de)e ser la menor posi)le !l planificador "ue corre en el despac ador es el responsa)le de seleccionar el pr3imo proceso a e6ecutarse.

Sistemas Operativos | Curso 2013 | Planificacin

7/30

ipos de planificador
-ar$o pla2o
Determina "u< pro$ramas son admitidos al sistema para e6ecucin Controla el $rado de multipro$ramacin *ientras m1s procesos son admitidos5 cada uno tendr1 un porcenta6e menor de uso del procesador

*ediano pla2o
Determina si a$re$ar m1s pro$ramas a los "ue 4a est1n parcialmente o totalmente en memoria principal

Corto pla2o
Determina "u< proceso es e6ecutado en el procesador Se e6ecuta frecuentemente de)e ser eficiente !vento t:picos "ue desencadena al despac ador8 Interrupciones del relo6 ."uantum/5 interrupciones de I/O5 llamados al sistemas5 se=ales5 etc.

Sistemas Operativos | Curso 2013 | Planificacin

;/30

Clases de procesos
!3isten distintas pol:ticas de planificacin "ue ser1n e3itosas se$?n la clase de procesos "ue e6ecuten. !n $eneral5 los procesos tienden a ser o m1s intensivos en el uso de procesador5 o m1s intensos en el uso de operaciones de !/S. -os procesos tienen ciclos de r1fa$as de e6ecucin . CPU-burst/ 4 ciclos de r1fa$as de espera de operaciones de !/S .I/O burst/
Procesos CPU-bound8 -os procesos "ue contienen un alto uso de procesador son llamados CPU-bound o compute-bound. Procesos I/O-bound8 -os procesos "ue reali2an muc os accesos a operaciones de !/S son llamados I/O-bound.

-a prioridad "ue ten$a un proceso frente a los dem1s para acceder al recurso ser1 inversamente proporcional al uso "ue a$a del recurso.

Sistemas Operativos | Curso 2013 | Planificacin

>/30

Clases de procesos

Sistemas Operativos | Curso 2013 | Planificacin

@/30

!s"uemas de planificacin
-a momentos en "ue el planificador es invocado son8
1. Cuando un proceso se )lo"uea en una operacin de !/S o espera a "ue termine un i6o5 etc. 2. Cuando un proceso cam)ia del estado ejecutando al estado pronto. Por e6emplo al ocurrir una interrupcin. 3. Cuando ocurre una interrupcin de !/S 4 un proceso pasa del estado bloqueado a pronto. 7. Cuando se crea un proceso ;. Cuando un proceso finali2a su e6ecucin.

Cuando ocurre 1 o ;5 el planificador es invocado de)ido a "ue el proceso en e6ecucin li)era el procesador. Si el planificador es invocado cuando ocurre 25 3 o 75 se dice "ue este es e#propiativo .preemptive/5 4a "ue puede "uitar el procesador al proceso "ue esta)a en e6ecucin.

Sistemas Operativos | Curso 2013 | Planificacin

A/30

!s"uemas de planificacin
Sistemas operativos con planificadores no e#propiativos .nonpreemptive/ son los "ue asi$nan el recurso procesador a un proceso 4 asta "ue este no lo li)ere5 4a sea por"ue finali2a su e6ecucin o se )lo"uea5 no se vuelve a e6ecutar el planificador. Sistemas operativos con planificadores e#propiativos .preemptive/ son "ue los "ue pueden e3propiar el recurso procesador a un proceso cuando otro proceso entra en estado pronto .4a sea por"ue es nuevo o por"ue se des)lo"ue/ o por"ue se le impone un l:mite de tiempo para e6ecutar.

Sistemas Operativos | Curso 2013 | Planificacin

B/30

!s"uemas de planificacin
-os es"uemas de planificacin son ?tiles se$?n el am)iente donde sean aplicados8
Sistemas por lotes8 Como no e3iste interaccin con usuarios5 los planificadores no e3propiativos son ideales. Sistemas interactivos8 De)ido a "ue e3isten procesos de usuarios e6ecutando a la ve25 los planificadores e3propiativos son ideales para mantener un )uen tiempo de respuesta para los usuarios. Sistemas de tiempo real8 Co es necesario un planificador e3propiativo 4a "ue los procesos puede "ue no e6ecuten por un )uen tiempo5 pero cuando lo acen es por un per:odo mu4 corto.

Sistemas Operativos | Curso 2013 | Planificacin

10/30

Criterios de planificacin
-os al$oritmos de planificacin tendr1n distintas propiedades 4 favorecer1n cierta clase de procesos. !s necesario definir criterios para poder evaluar los al$oritmos de planificacin8
$tili%acin de CP$ .CPU utilization/8 !s el porcenta6e de uso .en cuanto a e6ecucin de tareas de usuario o del sistema "ue son consideradas ?tiles/ "ue tiene un procesador. &endimiento .Throughput/8 !s el n?mero de procesos "ue e6ecutaron completamente por unidad de tiempo .una ora p.e6./. iempo de retorno .Turnaround time/8 !s el intervalo de tiempo desde "ue un proceso es car$ado asta "ue este finali2a su e6ecucin. iempo de espera . aiting time/8 !s la suma de los intervalos de tiempo "ue un proceso estuvo en la cola de procesos listos .ready queue/. iempo de respuesta .!esponse time/8 !s el intervalo de tiempo desde "ue un proceso es car$ado asta "ue )rinda su primer respuesta. !s ?til en sistemas interactivos. Sistemas Operativos | Curso 2013 | Planificacin 11/30

'irst Come 'irst Served ('C'S)


!l procesos son e6ecutados en el orden "ue lle$an a la cola de procesos listos. -a implementacin es f1cil a trav<s de una cola %I%O. !s adecuado para sistemas por lotes .batch/. !s un al$oritmo no e3propiativo8 una ve2 "ue el procesador le es asi$nado a un proceso este lo mantiene asta "ue termina o $enera un pedido de !/S. !l tiempo de espera promedio por lo $eneral es alto.

Sistemas Operativos | Curso 2013 | Planificacin

12/30

'irst Come 'irst Served


Proceso P1 P2 P3 Burst Time 24 3 3
0 P1 27 P2 2@ P3 30

Diempo de espera8 P1 E 0F P2 E 27F P3 E 2@ Diempo de espera promedio8 .0 G 27 G 2@//3 E 1@

Sistemas Operativos | Curso 2013 | Planificacin

13/30

Shortest *o+ 'irst (S*')


!l al$oritmo asocia a los procesos el lar$o de su pr3imo CPU-burst. Cuando el procesador "ueda disponi)le se le asi$na al proceso "ue ten$a el menor CPU-burst. Si dos procesos tiene el mismo CPU-burst se desempata de al$una forma. Su funcionamiento depende de conocer los tiempos de e6ecucin5 "ue en la ma4or:a de los casos no se conoce. !s adecuado para sistemas por lotes .batch/.

Sistemas Operativos | Curso 2013 | Planificacin

17/30

Shortest *o+ 'irst (S*')


Dos es"uemas8
,o e#propiativo8 una ve2 "ue se le asi$na el procesador a un proceso no se le podr1 "uitar. !#propiativo8 Si un nuevo proceso aparece en la lista de procesos listos con menor CPU-burst5 se le "uita la CP0 para asi$narla al nuevo proceso.

!ste al$oritmo es ptimo para el tiempo de espera5 pero re"uiere "ue todos los procesos participantes est<n al comien2o .si no es e3propiativo/ 4 adem1s a4 "ue sa)er el tiempo del pr3imo CPU-burst. !s usado para planificacin de lar$o pla2o m1s "ue para planificacin de corto pla2o.

Sistemas Operativos | Curso 2013 | Planificacin

1;/30

Shortest *o+ 'irst (S*') - ,o e#propiativo


Proceso Tiempo de arribo 0.0 2.0 4.0 5.0 Burst Time 7 4 1 4

P1 P2 P3 P4

Diempo de espera promedio8 .0 G > G 3 G @//7 E 7


P1 0 3 @ P3 A P2 12 P7 1>

Sistemas Operativos | Curso 2013 | Planificacin

1>/30

Shortest *o+ 'irst (S*') - !#propiativo


Proceso Tiempo de arribo 0.0 2.0 4.0 5.0 Burst Time 7 4 1 4

P1 P2 P3 P4

Diempo de espera promedio8 .B G 1 G 0 G 2//7 E 3


P1 0 2 P2 7 P3 ; P2 @ P7 11 P1 1>

Sistemas Operativos | Curso 2013 | Planificacin

1@/30

.asados en Prioridad
# cada proceso se le asi$na un n?mero entero "ue representa su prioridad. !l planificador asi$na el procesador al proceso con la m1s alta prioridad. Se utili2a en $eneral un es"uema e3propiativo 4a "ue si un proceso con ma4or prioridad "ue el "ue esta e6ecutando arri)a a la lista de procesos listos .ready queue/5 ser1 asi$nado al procesador. S&% se puede ver como un al$oritmo de prioridad donde la prioridad esta dada por el pr3imo CPU-burst. !s adecuado para sistemas interactivos.

Sistemas Operativos | Curso 2013 | Planificacin

1A/30

.asados en Prioridad
Sufre de posposicin indefinida 4a "ue un proceso de )a6a prioridad "ui21s no pueda e6ecutar nunca. -a solucin es utili2ar prioridades din1micas de enve6ecimiento8 incrementar la prioridad se$?n pasa el tiempo sin e6ecutar. -a prioridad de un proceso para el uso del recurso procesador de)er1 ser inversamente proporcional al uso "ue el proceso a$a del mismo. Por lo tanto un proceso tipo I/O-bound de)er1 tener5 en $eneral5 ma4or prioridad "ue uno tipo CPU-bound.

Sistemas Operativos | Curso 2013 | Planificacin

1B/30

&ound &o+in (&&)


# cada proceso se le )rinda un intervalo de tiempo para el uso del procesador .time quantum/. #l finali2ar el tiempo5 el procesador le es e3propiado 4 vuelve al estado pronto .ready/ al final de la cola. !s f1cil de implementar 4a "ue solamente es necesario una cola de procesos listos. Cuando un proceso consume su quantum es puesto al final de la cola. !l quantum de)e ser )astante ma4or a lo "ue lleva reali2ar un cam)io de conte3to5 sino se tendr1 muc o overhead. # su ve25 el tiempo de quantum incide en los tiempos de retorno. !s ideal para sistemas de tiempo compartido. Co a4 posposicin indefinida

Sistemas Operativos | Curso 2013 | Planificacin

20/30

&ound &o+in (&&)


Proceso P1 P2 P3 P4 Burst Time 53 17 68 24
P1 0 20 P2 3@ P3 ;@ P7 @@ P1 P3 B@ 11@ P7 P1 P3 P3

"uantum E 20

121 137 1;7 1>2

Por lo $eneral5 tiene un ma4or tiempo de retorno "ue el "#$5 pero me6ora el tiempo de respuesta.

Sistemas Operativos | Curso 2013 | Planificacin

21/30

&ound &o+in (&&)


!s necesario asi$nar un a6ustado tiempo de quantum8
Si es mu4 c ico $enerar1 muc os cam)ios de conte3to. Si es mu4 $rande5 el sistema tender1 a un %C%S.

Sistemas Operativos | Curso 2013 | Planificacin

22/30

&ound &o+in (&&)


!l promedio del tiempo de retorno var:a se$?n el quantum.

Sistemas Operativos | Curso 2013 | Planificacin

23/30

&ound &o+in (&&)


Comparacin con %C%S
10 procesos "ue necesitan 100 unidades de tiempo son e6ecutados a la ve2 Se muestra el tiempo en "ue termina cada uno .despreciando el tiempo perdido en cam)ios de proceso/ !l quantum es de 1 unidad de tiempo

Proceso 1 2 ... B 10

%C%S 100 200 ... B00 1000

'' BB1 BB2 ... BBB 1000

Sistemas Operativos | Curso 2013 | Planificacin

27/30

/ultilevel 0ueue
Si los procesos se pueden clasificar se$?n sus cualidades5 es posi)le dividir la lista de procesos listos .ready queue/ en varias colas .una para cada clasificacin/. -os procesos son asi$nados permanentemente a una de las colas. Cada cola tendr1 su propio al$oritmo de planificacin propio. #dem1s5 se de)e tener una estrate$ia de planificacin entre las diferentes colas. Por e6emplo5 una cola tendr1 prioridad so)re otra.

Sistemas Operativos | Curso 2013 | Planificacin

2;/30

/ultilevel 0ueue

Sistemas Operativos | Curso 2013 | Planificacin

2>/30

/ultilevel 'eed+ac1 0ueue


Se diferencia con el anterior en "ue procesos pueden cam)iar de cola .nivel/. Se )asa en cate$ori2ar los procesos se$?n el uso de CP0 . CPU-burst/ "ue ten$an. -a cola de ma4or prioridad ser1 la de los procesos I/O-bound 4 la de menor la de procesos con alto CPU-bound. De esta forma5 se $aranti2a "ue los procesos con poco uso de procesador ten$an ma4or prioridad5 4 los "ue consumen muc o procesador tendr1n )a6a prioridad. -os procesos5 se$?n el consumo de CP0 "ue a$an5 ser1n promovidos a una cola de ma4or prioridad o re)a6ados a una de menor prioridad.

Sistemas Operativos | Curso 2013 | Planificacin

2@/30

/ultilevel 'eed+ac1 0ueue


0n planificador %ultilevel $eedbac& 'ueue es definido por8
!l n?mero de colas. !l al$oritmo de planificacin para cada cola. !l m<todo utili2ado para promover a un proceso a una cola de ma4or prioridad. !l m<todo utili2ado para )a6ar a un proceso a una cola de menor prioridad. !l m<todo utili2ado para determinar a "ue cola ser1 asi$nado un proceso cuando est< pronto.

Sistemas Operativos | Curso 2013 | Planificacin

2A/30

/ultilevel 'eed+ac1 0ueue

Sistemas Operativos | Curso 2013 | Planificacin

2B/30

Sistemas multiprocesadores
!n un sistema sim<trico cual"uier procesador podr1 e6ecutar procesos de usuario. 0na posi)ilidad es asi$nar una cola de procesos listos para cada procesador 4 de esa forma mantener los procesos asi$nados a un procesador .afinidad de procesador/. !sto es conveniente para aprovec ar los datos "ue est1n frescos en la memoria cac e del procesador5 4a "ue al e6ecutar un proceso en un procesador se nutre su cac e con datos del proceso. De esta forma5 se lo$ra mantener un ma4or :ndice de cache hit 45 por lo tanto5 un ma4or rendimiento en el sistema. 0n pro)lema "ue puede sur$ir es un des)alance en la cantidad de tra)a6o por procesador. !n estos casos se mi$rar1n procesos de cola para lo$rar )alancear nuevamente la car$a.

Sistemas Operativos | Curso 2013 | Planificacin

30/30

Vous aimerez peut-être aussi