Académique Documents
Professionnel Documents
Culture Documents
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.
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/.
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.
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.
;/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.
>/30
Clases de procesos
@/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.
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.
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.
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
12/30
13/30
17/30
!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.
1;/30
P1 P2 P3 P4
1>/30
P1 P2 P3 P4
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.
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.
1B/30
20/30
"uantum E 20
Por lo $eneral5 tiene un ma4or tiempo de retorno "ue el "#$5 pero me6ora el tiempo de respuesta.
21/30
22/30
23/30
Proceso 1 2 ... B 10
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.
2;/30
/ultilevel 0ueue
2>/30
2@/30
2A/30
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.
30/30