Vous êtes sur la page 1sur 24

Analista Universitario en Sistemas

Sistemas Operativos
Instituto Politcnico Superior

PLANIFICACIN DE PROCESOS
(Sc e!ulin"#
1

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Intro!ucci&n'

Sc e!ulin"

Estados de un proceso

Crea!o

(ermina!o

-emoria Principal

E)ecuci&n

Espera E/S

Listo
Fin espera E/S Reactivacin / Suspensin

*lo+uea!o

-emoria .irtual

Listo , suspen!i!o

*lo+uea!o , suspen!i!o
2

suspendido = swapeado

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Intro!ucci&n'

Sc e!ulin"

Conjunto de polticas y mecanismos construidos dentro del sistema operativo que gobiernan la forma de ejecutar los procesos Es el concepto central para los sistemas operativos multitarea En espaol: planificacin El mdulo del sistema operativo que lleva a cabo la planificacin se denomina scheduler o planificador ermitir la ejecucin !simult"nea# de muc$os m"s procesos que recursos de cmputo disponibles Consiste en la definicin de cual proceso se ejecuta en cada momento y durante cuanto tiempo %eleccionar uno o m"s procesos de estado &'%() y ejecutarlos *n sc$eduling ptimo debera dar + m",ima respuesta a los procesos interactivos + m",imo throughput para procesos batc$

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

O/)etivos

-iferentes formas de sc$eduling persiguen distintos objetivos: + *tili.acin de la C * / mantener la0s1 C *0s1 en su m",imo nivel de uso + 2",imo ($roug$put / n3mero de procesos finali.ados por unidad de tiempo + 2nimo (urnaround / tiempo total en que un proceso se presenta y finali.a + 2nimo (iempo de Espera / tiempo total en que un proceso espera en &'%() + 2",imo (iempo de 4espuesta / tiempo en que una solicitud de ejecucin del proceso se presenta y la primer respuesta producida 0procesos interactivos1 + Equidad: 4epartir las C *s iguales cantidades de tiempo para cada proceso + Cumplimiento con deadlines + revenir postergacin indefinida Es fundamental el contexto: batch processing, interactive, real time
4

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

(ipos

!e plani0icaci&n

Preemptive (apropiativo# + uede quitarse el procesador al proceso actual + 'mportante 0necesaria1 para procesos interactivos + %i un proceso se ejecuta por m"s de un tiempo predefinido5 es suspendido + 4equiere un clock interrupt para marcar los intervalos de tiempo con el fin de que el sc$eduler recupere el control de la C * 1 Non2Preemptive (no apropiativo3 cooperativo# + &os procesos se ejecutan $asta su finali.acin o $asta que voluntariamente 0por bloqueo esperando E6%1 entrega el control de la C * + roblema: rocesos !poco importantes# pueden bloquear a los !importantes#

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

El

relo) !e interrupciones

ara que se ejecuten las actividades de planificacin el sistema operativo debe apoderarse de la C * peridicamente El sistema operativo gestiona un reloj de interrupciones que genera interrupciones cada cierto lapso de tiempo El reloj de interrupciones asegura que ning3n proceso de usuario monopolice la C * 7o es el reloj de la m"quina o reloj $ardware El reloj de interrupciones opera a una frecuencia muc$o menor

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Niveles

!e plani0icaci&n 1 Plani0icaci&n a corto pla4o o !e la CPU Dispatcher programa que asigna la C * a uno de los procesos de LISTO siguiendo un algoritmo determinado El dispatc$er conmuta el procesador entre dos procesos mediante un cambio de conte,to El dispatc$er se activa cuando: + el proceso ejecut"ndose termina o no puede continuar $aci8ndolo + el proceso en ejecucin agota su quantum de tiempo asignado El dispatc$er es un proceso de sistema5 que para su ejecucin obviamente emplea la C * %e asignan prioridades a los procesos
7

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Niveles

!e plani0icaci&n 1 Plani0icaci&n a me!io pla4o (-i!!le (erm Sc e!uler# (ambi8n conocido como planificador de swapping %lo un n3mero finito puede estar en memoria en cada momento uede ocurrir que todos o un gran n3mero de procesos se encuentren bloqueados &os procesos con posibilidad de ejecutarse deberan estar en memoria5 mientras que los otros en memoria secundaria 0swap space5 generalmente el disco1 El planificador o sc$eduler a medio pla.o es el que transiciona los procesos de memoria principal a memoria secundaria (ransiciona procesos de memoria a swap space 0 swap-out1 a los procesos bloqueados y ubicando en memoria 0swap-in1 aquellos que se encuentran bloqueados slo por no disponer de memoria El swapping genera sobrecarga en el sistema y generalmente se reali.a cuando 8 e,iste faltante de recursos 04921

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Niveles

!e plani0icaci&n 1 Plani0icaci&n a lar"o pla4o (Lon" (erm Sc e!uler# Conocido como sc$eduler de admisin 9ct3a cuando se crean los procesos -ecide que procesos ser"n admitidos en la cola de procesos LISTO Controla el grado de multiprogramacin en los sistemas multitas:ing regulando la cantidad m",ima de procesos ejecut"ndose concurrentemente en cada momento %e encarga de ingresar y finali.ar a los procesos

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Al"oritmos

!e plani0icaci&n

%implificando5 un proceso puede considerarse como una serie de ciclos de ejecucin en C * y tiempos de espera por E6% &os procesos alternan entre estos dos estados roceso 0r"fagas variables1:
Rfaga de CPU Rfaga E/S - Rfaga de CPU Rfaga E/S - Rfaga de CPU ...

ara estudiar los algoritmos $aremos algunas suposiciones en aras de la simplicidad de los procesos
+ 7o $ay cambios de conte,to + &a C * empleada por el %;); es despreciable + &os procesos slo consisten en r"fagas de C * + 28trica: (iempo de Espera promedio 5, 4, 6, 5 1, 8, 7, 4 Promedio=5, Varianza=0,5 Promedio=5, Varianza=7,5
10

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

First2Come

First2Serve (FCFS#

%ervicio por orden de llegada %e implementa con una cola <'<) El tiempo de espera promedio suele ser largo
Proceso P1 P2 P3 Tiempo (ms) 24 3 6 T. Espera Promedio 27 ms 5 P2, P3, P1 P1 : P1 67 68 P2 P3 99 99

Orden de llegada P1, P2, P3

ros = cons + %imple; <"cil de entender y programar + 'n3til para ambientes interactivos

4 ms 5 9 P2 P3

11

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

ortest ;o/ First (S;F#

(ambi8n es non-preemptive %e ejecutan los procesos en orden ascendente seg3n el tiempo de ejecucin de cada uno %e asigna la C * al proceso m"s corto5 en caso de !empate# se usa <C<% Es ptimo con respecto al tiempo de espera promedio mnimo para un conjunto de procesos 9propiado para procesos batc$ donde los tiempos de ejecucin se conocen de antemano )frece un lmite terico 0para el tiempo de espera promedio1 frente al cual pueden compararse otros algoritmos

12

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Roun!

Ro/in

9lgoritmo Preemptive5 apto para procesos interactivos 9lgoritmo simple5 justo y ampliamente usado 9 cada proceso se le asigna un intervalo de tiempo llamado quantum %i un proceso contin3a su ejecucin superando su quantum5 es preempted y la C * es dada a otro proceso %i un proceso se bloquea o finali.a ante de que e,pire el quantum5 la C * se re+asigna en ese momento Cuando un proceso usa todo su quantum se lo coloca al final de la lista de procesos listos / suposicin: todos los procesos tienen la misma importancia

13

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Roun!

Ro/in

|quantum| = X ms, X? El cambio de conte,to consume tiempo5 supongamos > ms 0?@@@ms = ? segundo1 %i AquantumA = B@ ms B>C de C * para el sistema %i AquantumA = >@@ ms ?C de C * para el sistema
1er 2do 3er ... 9no 10mo usuario espera usuario espera usuario espera 500 ms 1000 ms 1500 ms 5 segundos!!!

usuario espera 4500 ms usuario espera 5000 ms

*n valor aceptado es ?@@ ms En muc$os sistemas operativos es variable


14

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Al"oritmo

/asa!o en priori!a!es

9 cada proceso en el sistema se le asigna un entero bas"ndose en alg3n criterio Deneralmente5 un valor num8rico bajo indica alta prioridad %e favorece a los procesos de alta prioridad al momento de asignar la C * 7o apunta a reducir el tiempo de espera promedio general &os procesos importantes ser"n atendidos sin caer en retardos innecesarios &as prioridades pueden ser est"ticas o din"micas

15

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Priori!a!es

est<ticas vs !in<micas

1 Priori!a!es est<ticas + &a prioridad asignada a un proceso no cambia mientras e,iste + %imple de implementar 0similar a asignar un '-1 + 7o sobrecarga al sistema + roblema: %tarvation5 un proceso de baja prioridad se puede ver perjudicado
http://en.wikipedia.org/wiki/Resource_starvation

1 Priori!a!es !in<micas + &a prioridad cambia durante la ejecucin del proceso + riority aging: aumentar la prioridad de los procesos que esperan muc$o tiempo
http://en.wikipedia.org/wiki/Aging_%28scheduling%29

16

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Caso

Solaris =5

>ernel t rea! mo!el ?ernel t rea!s Es lo que es planificado6ejecutado en un procesador user t rea!s Eilo de ejecucin de un proceso de usuario process El objeto que representa el entorno de ejecucin de un programa li" t@ei" t process (l@p# Conte,to de ejecucin para un t$read de usuario; 9socia un user t$read con un :ernel t$read;

17

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Caso

Solaris =5

18

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Caso

Solaris =5

El :ernel de %olaris es fully preemptible; (odos los t$reads 0incluyendo los que soportan las actividades del :ernel1 pueden ser interrumpidos para dar lugar a un t$read de mayor prioridad (odo proceso de usuario es controlado por una clase de scheduling Cada clase de sc$eduling asigna una prioridad a los procesos que administra &as clases conforman un rango global de prioridades y determinan el orden de ejeucin de los procesos
Process Sc e!ulin" Class

%olaris ?@ reconoce ?F@ prioridades diferentes 0@+?GH1 Estas prioridades de distribuyen en intervalos que corresponden a las distintas clases de sc$eduling;
19

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Clases

!e Sc e!ulin"

(S ((imes are#

+ Clase por defecto para los procesos de usuario y sus :ernel t$reads asociados + 9justa las prioridades en el tiempo + &os procesos aqu usan time+slicing + 4ango de prioridades: @+>H + %imilar a (% que priori.a a los procesos activos en ambiente gr"fico; + 4ango: @+>H

IA (Interactive# SAS (S,stem#

+ Empleada para planificar los :ernel t$reads + 7o se emplea time+slicing5 los procesos inician y se terminan o bloquean + rioridades fijas + sc$ed5 pageout5 fsflus$ + 4ango de prioridades: G@+HH + &os procesos de esta clase tienen la m",ima prioridad5 e,cepto las t$reads de interrupciones + (ime+slicing + Iuantum fijo + 4ango: ?@@+?>H

R( (Real (ime#

FB (FiCe! Priorit,#
+ &os procesos de esta clase tienen prioridades fijas + 4ango: @+>H
20

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Caso

Solaris =52 Coman!os

&a clase 4( no se carga por defecto


?GH ?G@ ?>H ?@H ?@@ HH G@ >H

'nterrupt ($read riorities 4(

H @ >H

'nterrupt ($read riorities %J%

H @ KH @ >H ?@@ HH

@ KH

%J%
G@ >H @ >H

(% 6 '9
@ @ @

(% 6 '9
@

%in clase 4( $abilitada

Con clase 4( $abilitada


21

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Caso

Solaris =52 Coman!os

!ispa!min + ermite inspeccionar y cambiar los par"metros de planificacin para las clases (%5 <L5 <%% 0<air %$are %c$eduler1 y 4(; + 2ostar los par"metros configurados de una clase de sc$eduling + 2ostrar y cambiar la clase de sc$eduling por defecto
# # # # # dispadmin -l dispadmin -d dispadmin -d TS dispadmin -d cat /etc/dispadmin.conf

22

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

(a/la

!e plani0icaci&n
(quantums en ms)

Comando
# dispadmin -c TS -g -r 1000

Cabeceras de la tabla tsD+uantum: quantum asignado por defecto al proceso seg3n su prioridad tsDt+eCp: prioridad asignada al proceso cuando consume todo su quantum tsDslpret: prioridad asignada a un proceso que se bloquea antes de consumir su quantum tsDmaC@ait: si el proceso no recibe C * luego de un intervalo de tiempo tsMma,wait5 su prioridad es elevada a tsDl@ait PRIORI(A LE.EL: indica el nivel de prioridad de estos par"metros;

23

Analista Universitario en Sistemas


Sistemas Operativos
SC$EDULIN%
Instituto Politcnico Superior

Caso

Solaris =52 Coman!os

priocntl + 9dministra los par"metros de sc$eduling para los procesos; + &ista las clases de sc$eduling cargadas + 2uestra los par"metros de sc$eduling de un proceso + 9signa una clase de sc$eduling a un nuevo proceso

24