Está en la página 1de 30

Sistemas Operativos

Curso 2014
Planifcacin
Sistemas Operativos | Curso 2014 | Planifcacin 2/30
Agenda

Introduccin.

espac!ador.

Clases de procesos.

"s#uemas de planifcacin.

Criterios de planifcacin.

$l%oritmos de planifcacin.
&C&S.
S'&.
Prioridad.
(ound)(o*in.
+ultilevel),ueue.
+ultilevel)&eed*ac-),ueue.

Sistemas multiprocesadores.
Sistemas Operativos | Curso 2014 | Planifcacin 3/30
Introduccin

.a planifcacin /scheduling0 es la *ase para lo%rar la multipro%ramacin.

1n sistema multipro%ramado tendr2 varios procesos #ue re#uerir2n el


recurso procesador a la ve3.

"sto sucede cuando los procesos est2n en estado ready /pronto0.

Si e4iste un procesador disponi*le 5 e4isten procesos en estado ready6 se


de*e ele%ir el #ue ser2 asi%nado al recurso para e7ecutar.

"l componente del sistema operativo #ue reali3a la eleccin del proceso es
llamada planifcador /scheduler0.
Sistemas Operativos | Curso 2014 | Planifcacin 4/30
Introduccin

Despachador8 mdulo del SO #ue da el control de la CP1 al proceso


seleccionado por el planifcador de corto pla3o

"sto implica
Cam*io de conte4to8 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%n a
la CP1 /re%istro program counter0.

.a latencia del despac!ador de*e ser la menor posi*le

"l planifcador es el responsa*le de seleccionar el pr4imo proceso a


e7ecutarse.
Sistemas Operativos | Curso 2014 | Planifcacin ;/30
ipos de planifcador

.ar%o pla3o
etermina #u< pro%ramas son admitidos al sistema para e7ecucin
Controla el %rado de multipro%ramacin
+ientras m2s procesos son admitidos6 cada uno tendr2 un porcenta7e menor de
uso del procesador

+ediano pla3o
etermina si a%re%ar m2s pro%ramas a los #ue 5a est2n parcialmente o
totalmente en memoria principal

Corto pla3o
etermina #u< proceso es e7ecutado en el procesador
Se e7ecuta =recuentemente 5 de*e ser efciente
"vento t:picos #ue desencadena al despac!ador8 interrupciones del relo7
/#uantum06 interrupciones de I/O6 llamados al sistemas6 se>ales6 etc.
Sistemas Operativos | Curso 2014 | Planifcacin ?/30
Clases de procesos

"4isten distintas pol:ticas de planifcacin #ue ser2n e4itosas se%@n la clase


de procesos #ue e7ecuten.

"n %eneral6 los procesos tienden a ser o m2s intensivos en el uso de


procesador6 o m2s intensos en el uso de operaciones de "/S.

.os procesos tienen ciclos de r2=a%as de e7ecucin /CPU-burst0 5 ciclos de


r2=a%as de espera de operaciones de "/S /I/O burst0
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 reali3an muc!os accesos a
operaciones de "/S son llamados I/O-bound.

.a prioridad #ue ten%a un proceso =rente a los dem2s para acceder al


recurso ser2 inversamente proporcional al uso #ue !a%a del recurso.
Sistemas Operativos | Curso 2014 | Planifcacin A/30
Clases de procesos
Sistemas Operativos | Curso 2014 | Planifcacin B/30
!s"uemas de planifcacin

.os momentos en #ue el planifcador es invocado son8


1. Cuando un proceso se *lo#uea8 por e7emplo cuando inicia una operacin de
"/S o espera a #ue termine un !i7o6 etc.
2. Cuando un proceso cam*ia del estado ejecutando al estado pronto. Por e7emplo
al ocurrir una interrupcin.
3. Cuando ocurre una interrupcin de "/S 5 un proceso pasa del estado
bloqueado a pronto.
4. Cuando se crea un proceso
;. Cuando un proceso fnali3a su e7ecucin.

Cuando ocurre 1 o ;6 el planifcador es invocado de*ido a #ue el proceso


en e7ecucin li*era el procesador.

Si el planifcador es invocado cuando ocurre 26 3 o 46 se dice #ue este es


e#propiativo /preemptive06 5a #ue puede #uitar el procesador al proceso
#ue esta*a en e7ecucin.
Sistemas Operativos | Curso 2014 | Planifcacin C/30
!s"uemas de planifcacin

Sistemas operativos con planifcadores no e#propiativos /non-


preemptive0 son los #ue asi%nan el recurso procesador a un proceso 5
!asta #ue este no lo li*ere6 5a sea por#ue fnali3a su e7ecucin o se
*lo#uea6 no se vuelve a e7ecutar el planifcador.

Sistemas operativos con planifcadores e#propiativos /preemptive0 son


#ue los #ue pueden e4propiar el recurso procesador a un proceso cuando
otro proceso entra en estado pronto /5a sea por#ue es nuevo o por#ue se
des*lo#ue0 o por#ue se le impone un l:mite de tiempo para e7ecutar.
Sistemas Operativos | Curso 2014 | Planifcacin 10/30
!s"uemas de planifcacin

.os es#uemas de planifcacin son @tiles se%@n el am*iente donde sean


aplicados8
Sistemas por lotes8 Como no e4iste interaccin con usuarios6 los
planifcadores no e4propiativos son ideales.
Sistemas interactivos8 e*ido a #ue e4isten procesos de usuarios e7ecutando
a la ve36 los planifcadores e4propiativos son ideales para mantener un *uen
tiempo de respuesta para los usuarios.
Sistemas de tiempo real8 Do es necesario un planifcador e4propiativo 5a #ue
los procesos puede #ue no e7ecuten por un *uen tiempo6 pero cuando lo !acen
es por un per:odo mu5 corto.
Sistemas Operativos | Curso 2014 | Planifcacin 11/30
Criterios de planifcacin

.os al%oritmos de planifcacin tendr2n distintas propiedades 5 =avorecer2n


cierta clase de procesos.

"s necesario defnir criterios para poder evaluar los al%oritmos de


planifcacin8
$tili%acin de CP$ /CPU utilization08 "s el porcenta7e de uso /en cuanto a
e7ecucin de tareas de usuario o del sistema #ue son consideradas @tiles0 #ue
tiene un procesador.
&endimiento /Throughput08 "s el n@mero de procesos #ue e7ecutaron
completamente por unidad de tiempo /una !ora p.e7.0.
iempo de retorno /Turnaround time08 "s el intervalo de tiempo desde #ue un
proceso es car%ado !asta #ue este fnali3a su e7ecucin.
iempo de espera /aiting time08 "s la suma de los intervalos de tiempo #ue
un proceso estuvo en la cola de procesos listos /ready queue0.
iempo de respuesta /!esponse time08 "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 2014 | Planifcacin 12/30
'irst Come 'irst Served ('C'S)

.os procesos son e7ecutados en el orden #ue lle%an a la cola de procesos


listos.

.a implementacin es =2cil a trav<s de una cola &I&O.

"s adecuado para sistemas por lotes /batch0.

"s un al%oritmo no e4propiativo8 una ve3 #ue el procesador le es asi%nado


a un proceso este lo mantiene !asta #ue termina o se *lo#uea /por e7emplo
al %enerar un pedido de "/S0.

"l tiempo de espera promedio por lo %eneral es alto.


Sistemas Operativos | Curso 2014 | Planifcacin 13/30
'irst Come 'irst Served

Eiempo de espera8 P1 F 0G P2 F 24G P3 F 2A

Eiempo de espera promedio8 /0 H 24 H 2A0/3 F 1A


3 P3
3 P2
24 P1
Burst
Time
Proceso
P
1
P
2
P
3
24 27 30 0
Sistemas Operativos | Curso 2014 | Planifcacin 14/30
Shortest *o+ 'irst (S*')

"l al%oritmo asocia a los procesos el lar%o de su pr4imo 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 =orma.

Su =uncionamiento depende de conocer los tiempos de e7ecucin lo cual en


la ma5or:a de los casos no sucede.

"s adecuado para sistemas por lotes /batch0.


Sistemas Operativos | Curso 2014 | Planifcacin 1;/30
Shortest *o+ 'irst (S*')

os es#uemas8
,o e#propiativo8 una ve3 #ue se le asi%na el procesador a un proceso no se le
podr2 #uitar.
!#propiativo8 Si un nuevo proceso aparece en la lista de procesos listos con
menor CPU-burst6 se le #uita la CP1 para asi%narla al nuevo proceso.

"ste al%oritmo es ptimo para el tiempo de espera6 pero re#uiere #ue todos
los procesos participantes est<n al comien3o /si no es e4propiativo0 5
adem2s !a5 #ue sa*er el tiempo del pr4imo CPU-burst.

"s usado para planifcacin de lar%o pla3o m2s #ue para planifcacin de
corto pla3o.
Sistemas Operativos | Curso 2014 | Planifcacin 1?/30
Shortest *o+ 'irst (S*') - ,o e#propiativo

Eiempo de espera promedio8 /0 H ? H 3 H A0/4 F 4


5.0
4.0
2.0
0.0
Tiempo
de
arribo
1 P3
4 P4
4 P2
7 P1
Burst
Time
Proceso
P
1
P
3
P
2
7 3 16 0
P
4
8 12
Sistemas Operativos | Curso 2014 | Planifcacin 1A/30
Shortest *o+ 'irst (S*') - !#propiativo

Eiempo de espera promedio8 /C H 1 H 0 H 20/4 F 3


5.0
4.0
2.0
0.0
Tiempo
de
arribo
1 P3
4 P4
4 P2
7 P1
Burst
Time
Proceso
P
1
P
3
P
2
4 2
11 0
P
4
5 7
P
2
P
1
16
Sistemas Operativos | Curso 2014 | Planifcacin 1B/30
.asados en Prioridad

$ cada proceso se le asi%na un n@mero entero #ue representa su prioridad.

"l planifcador asi%na el procesador al proceso con la m2s alta prioridad.

Se utili3a en %eneral un es#uema e4propiativo 5a #ue si un proceso con


ma5or prioridad #ue el #ue esta e7ecutando arri*a a la lista de procesos
listos /ready queue06 ser2 asi%nado al procesador.

S'& se puede ver como un al%oritmo de prioridad donde la prioridad esta


dada por el pr4imo CPU-burst.

"s adecuado para sistemas interactivos.


Sistemas Operativos | Curso 2014 | Planifcacin 1C/30
.asados en Prioridad

Su=re de posposicin indefnida 5a #ue un proceso de *a7a prioridad #ui32s


no pueda e7ecutar nunca.

.a solucin es utili3ar prioridades din2micas de enve7ecimiento8


incrementar la prioridad se%@n pasa el tiempo sin e7ecutar.

.a prioridad de un proceso para el uso del recurso procesador de*er2 ser


inversamente proporcional al uso #ue el proceso !a%a del mismo.

Por lo tanto un proceso tipo I/O-bound de*er2 tener6 en %eneral6 ma5or


prioridad #ue uno tipo CPU-bound.
Sistemas Operativos | Curso 2014 | Planifcacin 20/30
&ound &o+in (&&)

$ cada proceso se le *rinda un intervalo de tiempo para el uso del


procesador /time quantum0.

$l fnali3ar el tiempo6 el procesador le es e4propiado 5 vuelve al estado


pronto /ready0 al fnal de la cola.

"s =2cil de implementar 5a #ue solamente es necesario una cola de


procesos listos. Cuando un proceso consume su quantum es puesto al fnal
de la cola.

"l quantum de*e ser *astante ma5or a lo #ue lleva reali3ar un cam*io de
conte4to6 sino se tendr2 muc!o overhead. $ su ve36 el tiempo de quantum
incide en los tiempos de retorno.

"s ideal para sistemas de tiempo compartido.

Do !a5 posposicin indefnida


Sistemas Operativos | Curso 2014 | Planifcacin 21/30
&ound &o+in (&&)

Por lo %eneral6 tiene un ma5or tiempo de retorno #ue el "#$6 pero me7ora el
tiempo de respuesta.
68 P3
24 P4
17 P2
53 P1
Burst
Time
Proceso
#uantum F 20
P
1
P
2
P
3
P
4
P
1
P
3
P
4
P
1
P
3
P
3
0 20 37 57 77 97 117 121 134 154 162
Sistemas Operativos | Curso 2014 | Planifcacin 22/30
&ound &o+in (&&)

"s necesario asi%nar un tiempo de quantum a7ustado8


Si es mu5 c!ico %enerar2 muc!os cam*ios de conte4to.
Si es mu5 %rande6 el sistema tender2 a un &C&S.
Sistemas Operativos | Curso 2014 | Planifcacin 23/30
&ound &o+in (&&)

"l promedio del tiempo de retorno medio var:a se%@n el quantum.


Sistemas Operativos | Curso 2014 | Planifcacin 24/30
&ound &o+in (&&)
Proceso FCFS RR
1 100 991
2 200 992
... ... ...
9 900 999
10 1000 1000
Comparacin con &C&S
10 procesos #ue necesitan 100 unidades de tiempo son e7ecutados a la ve3
Se muestra el tiempo en #ue termina cada uno /despreciando el tiempo perdido
en cam*ios de proceso0
"l quantum es de 1 unidad de tiempo
Sistemas Operativos | Curso 2014 | Planifcacin 2;/30
/ultilevel 0ueue

Si los procesos se pueden clasifcar se%@n sus cualidades6 es posi*le


dividir la lista de procesos listos /ready queue0 en varias colas /una para
cada clasifcacin0.

.os procesos son asi%nados permanentemente a una de las colas.

Cada cola tendr2 su propio al%oritmo de planifcacin propio.

$dem2s6 se de*e tener una estrate%ia de planifcacin entre las di=erentes


colas. Por e7emplo6 una cola tendr2 prioridad so*re otra.
Sistemas Operativos | Curso 2014 | Planifcacin 2?/30
/ultilevel 0ueue
Sistemas Operativos | Curso 2014 | Planifcacin 2A/30
/ultilevel 'eed+ac1 0ueue

Se di=erencia con el anterior en #ue procesos pueden cam*iar de cola


/nivel0.

Se *asa en cate%ori3ar los procesos se%@n el uso de CP1 /CPU-burst0 #ue


ten%an.

.a cola de ma5or prioridad ser2 la de los procesos I/O-bound 5 la de menor


la de procesos con alto CPU-bound.

e esta =orma6 se %aranti3a #ue los procesos con poco uso de procesador
ten%an ma5or prioridad6 5 los #ue consumen muc!o procesador tendr2n
*a7a prioridad.

.os procesos6 se%@n el consumo de CP1 #ue !a%an6 ser2n promovidos a


una cola de ma5or prioridad o re*a7ados a una de menor prioridad.
Sistemas Operativos | Curso 2014 | Planifcacin 2B/30
/ultilevel 'eed+ac1 0ueue

1n planifcador %ultilevel $eedbac& 'ueue es defnido por8


"l n@mero de colas.
"l al%oritmo de planifcacin para cada cola.
"l m<todo utili3ado para promover a un proceso a una cola de ma5or
prioridad.
"l m<todo utili3ado para *a7ar a un proceso a una cola de menor prioridad.
"l m<todo utili3ado para determinar a #ue cola ser2 asi%nado un proceso
cuando est< pronto.
Sistemas Operativos | Curso 2014 | Planifcacin 2C/30
/ultilevel 'eed+ac1 0ueue
Sistemas Operativos | Curso 2014 | Planifcacin 30/30
Sistemas multiprocesadores

"n un sistema sim<trico cual#uier procesador podr2 e7ecutar procesos de


usuario.

1na posi*ilidad es asi%nar una cola de procesos listos para cada


procesador 5 de esa =orma mantener los procesos asi%nados a un
procesador /afnidad de procesador0.

"sto es conveniente para aprovec!ar los datos #ue est2n =rescos en la


memoria cac!e del procesador6 5a #ue al e7ecutar un proceso en un
procesador se nutre su cac!e con datos del proceso.

e esta =orma6 se lo%ra mantener un ma5or :ndice de cache hit 56 por lo


tanto6 un ma5or rendimiento en el sistema.

1n pro*lema #ue puede sur%ir es un des*alance en la cantidad de tra*a7o


por procesador. "n estos casos se mi%rar2n procesos de cola para lo%rar
*alancear nuevamente la car%a.

También podría gustarte