Вы находитесь на странице: 1из 9

5.

PLANIFICADOR DEL PROCESADOR (CPU SCHEDULING)

El planificador (en ingls scheduler) es un componente funcional muy importante de los


sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de
tiempo real. Su funcin consiste en repartir el tiempo disponible de un microprocesador entre
todos los procesos que estn disponibles para su ejecucin.

5.1 INTRODUCCIN

Maximizar la utilizacin del CPU obtenida con la multiprogramacin


Ciclo de rfaga CPUI/O. La ejecucin del proceso consiste de un ciclo de CPU y de
una espera de I/O.
Distribucin de las rfagas de CPU

5.2 NIVELES DE PLANIFICACIN

La planificacin de la CPU o procesador, en el sentido de conmutarla entre los


distintos procesos, es una de las funciones del sistema operativo. Este despacho es
llevado a cabo por un pequeo programa llamado planificador a corto plazo o
dispatcher (despachador). La misin del dispatcher consiste en asignar la CPU a uno de
los procesos ejecutables del sistema, para ello sigue un determinado algoritmo. En
secciones posteriores estudiaremos algunos algoritmos posibles. Para que el dispatcher
conmute el procesador entre dos procesos es necesario realizar un cambio de proceso.
Los acontecimientos que pueden provocar la llamada al dispatcher dependen del
sistema (son un subconjunto de las interrupciones), pero son alguno de estos:
El proceso en ejecucin acaba su ejecucin o no puede seguir ejecutndose
(por una E/S, operacin WAIT, etc).
Un elemento del sistema operativo ordena el bloqueo del proceso en
ejecucin (ver estados de un proceso).
El proceso en ejecucin agota su cuantum o cuanto de estancia en la CPU.
Un proceso pasa a estado listo.
Hay que destacar el hecho de que cuanto menos se llame al dispatcher menos
tiempo ocupa la CPU un programa del sistema operativo, y, por tanto, se dedica ms
tiempo a los procesos del usuario (un cambio de proceso lleva bastante tiempo).

As, si slo se activa el dispatcher como consecuencia de los 2 primeros


acontecimientos se estar haciendo un buen uso del procesador. Este criterio es
acertado en sistemas por lotes en los que los programas no son interactivos. Sin
embargo, en un sistema de tiempo compartido no es adecuado, pues un proceso que se
dedicar a realizar clculos, y no realizara E/S, monopolizara el uso de la CPU. En estos
sistemas hay que tener en cuenta el conjunto de todos los procesos, activndose el
dispatcher con la circunstancia tercera y, posiblemente, la cuarta. Los sistema
operativos en que las dos siguientes circunstancias no provocan la activacin del
dispatcher muestran preferencia por el proceso en ejecucin, si no ocurre esto se tiene
ms en cuenta el conjunto de todos los procesos.

Se puede definir el scheduling -algunas veces traducido como -planificacincomo el conjunto de polticas y mecanismos construidos dentro del sistema operativo
que gobiernan la forma de conseguir que los procesos a ejecutar lleguen a ejecutarse.
El scheduling est asociado a las cuestiones de:

Cundo introducir un nuevo proceso en el Sistema.


Determinar el orden de ejecucin de los procesos del sistema.
El scheduling est muy relacionado con la gestin de los recursos. Existen tres
niveles de scheduling, como se ilustra en la figura 1.1, estos niveles son:
Planificador de la CPU o a corto plazo.
Planificador a medio plazo.
Planificador a largo plazo.

Ya hemos hablado del planificador de la CPU, y en los subapartados posteriores se


comentan los dos restantes:

Planificacin a largo plazo


Este planificador est presente en algunos sistemas que admiten adems de
procesos interactivos trabajos por lotes. Usualmente, se les asigna una
prioridad baja a los trabajos por lotes, utilizndose estos para mantener
ocupados a los recursos del sistema durante perodos de baja actividad de
los procesos interactivos. Normalmente, los trabajos por lotes realizan tareas
rutinarias como el clculo de nminas; en este tipo de tareas el programador
puede estimar su gasto en recursos, indicndoselo al sistema. Esto facilita el
funcionamiento del planificador a largo plazo.
El objetivo primordial del planificador a largo plazo es el de dar al
planificador de la CPU una mezcla equilibrada de trabajos, tales como los
limitados por la CPU (utilizan mucho la CPU) o la E/S. As, por ejemplo,
cuando la utilizacin de la CPU es baja, el planificador puede admitir ms
trabajos para aumentar el nmero de procesos listos y, con ello, la
probabilidad de tener algn trabajo til en espera de que se le asigne la CPU.
A la inversa, cuando la utilizacin de la CPU llega a ser alta, y el tiempo de
respuesta comienza a reflejarlo, el planificador a largo plazo puede optar
por reducir la frecuencia de admisin de trabajos.
Normalmente, se invoca al planificador a largo plazo siempre que un proceso
termina. La frecuencia de invocacin depende, pues, de la carga del sistema,
pero generalmente es mucho menor que la de los otros dos planificadores.
Esta baja frecuencia de uso hace que este planificador pueda permitirse
utilizar algoritmos complejos, basados en las estimaciones de los nuevos
trabajos.

Planificacin a Medio Plazo


En los sistemas de multiprogramacin y tiempo compartido varios procesos
residen en la memoria principal. El tamao limitado de sta hace que el
nmero de procesos que residen en ella sea finito. Puede ocurrir que todos

los procesos en memoria estn bloqueados, desperdicindose as la CPU. En


algunos sistemas se intercambian procesos enteros (swap) entre memoria
principal y memoria secundaria (normalmente discos), con esto se aumenta
el nmero de procesos, y, por tanto, la probabilidad de una mayor utilizacin
de la CPU.
El planificador a medio plazo es el encargado de regir las transiciones de
procesos entre memoria principal y secundaria, acta intentando maximizar
la utilizacin de los recursos. Por ejemplo, transfiriendo siempre a memoria
secundaria procesos bloqueados, o transfiriendo a memoria principal
procesos bloqueados nicamente por no tener memoria.

5.3 OBJETIVOS Y CRITERIOS DE PLANIFICACIN


El principal objetivo de la planificacin a corto plazo es repartir el tiempo del
procesador de forma que se optimicen algunos puntos del comportamiento del sistema.
Generalmente se fija un conjunto de criterios con los que evaluar las diversas
estrategias de planificacin. El criterio ms empleado establece dos clasificaciones.
En primer lugar, se puede hacer una distincin entre los criterios orientados a los
usuarios y los orientados al sistema. Los criterios orientados al usuario se refieren al
comportamiento del sistema tal y como lo perciben los usuarios o los procesos. Uno de
los parmetros es el tiempo de respuesta. El tiempo de respuesta es el periodo de
tiempo transcurrido desde que se emite una solicitud hasta que la respuesta aparece en
la salida. Sera conveniente disponer de una poltica de planificacin que ofrezca un buen
servicio a diversos usuarios.
Otros criterios estn orientados al sistema, esto es, se centran en el uso efectivo y
eficiente del procesador. Un ejemplo puede ser la productividad, es decir, el ritmo con el
que los procesos terminan. La productividad es una medida muy vlida del rendimiento
de un sistema y que sera deseable maximizar.
Otra forma de clasificacin es considerar los criterios relativos al rendimiento del
sistema y los que no lo son. Los criterios relativos al rendimiento son cuantitativos y, en
general, pueden evaluarse o ser analizados fcilmente. Algunos ejemplos son el tiempo
de respuesta y la productividad. Los criterios no relativos al rendimiento son, en cambio
cualitativos y no pueden ser evaluados fcilmente. Un ejemplo de estos criterios es la
previsibilidad. Sera conveniente que el servicio ofrecido a los usuarios tenga las
mismas caractersticas en todo momento, independientemente de la existencia de otros
trabajos ejecutados por el sistema.
En particular, una disciplina de planificacin debe:
Ser equitativa: debe intentar hacer una planificacin justa, esto es, se debe
tratar a todos los procesos de la misma forma y no aplazar indefinidamente ningn
proceso. La mejor forma de evitarlo es emplear alguna tcnica de envejecimiento; es
decir, mientras un proceso espera un recurso, su prioridad debe crecer.
Ser eficiente: debe maximizar el uso de los recursos tales como intentar que la
ocupacin de la CPU sea mxima. Al mismo tiempo se debe intentar reducir el gasto

extra por considerar que es trabajo no productivo. Normalmente el idear algoritmos


eficientes supone invertir recursos en gestin del propio sistema.
Lograr un tiempo bueno de respuesta, es decir, que los usuarios
interactivos reciban respuesta en tiempos aceptables.
Lograr un tiempo de proceso global predecible. Esto quiere decir que un
proceso debe ejecutarse aproximadamente en el mismo tiempo y casi al mismo costo
con independencia de la carga del sistema.
Elevar al mximo la productividad o el rendimiento, esto es, maximizar el
nmero de trabajos procesados por unidad de tiempo. Eso supone, por un lado, dar
preferencia a los procesos que ocupan recursos decisivos y, por otro, favorecer a los
procesos que muestran un comportamiento deseable. En el primer caso conseguimos
liberar el recurso cuanto antes para que est disponible para un proceso de mayor
prioridad. Con el segundo criterio escogemos a los procesos que no consumen muchos
recursos dejndole al sistema mayor capacidad de actuacin.

Estos criterios son dependientes entre s y es imposible optimizar todos de forma


simultnea. Por ejemplo, obtener un buen tiempo de respuesta puede exigir un algoritmo
de planificacin que alterne entre los procesos con frecuencia, lo que incrementa la
sobrecarga del sistema y reduce la productividad. Por tanto, en el diseo de un poltica
de planificacin entran en juego compromisos entre requisitos opuestos; el peso relativo
que reciben los distintos requisitos depender de la naturaleza y empleo del sistema.
5.4 PRIORIDADES
La mayora de los algoritmos de planificacin apropiativos emplean el uso de
prioridades de acuerdo con algn criterio. Cada proceso tiene una prioridad asignada y el
planificador seleccionar siempre un proceso de mayor prioridad antes que otro de
menor prioridad.
Las prioridades pueden ser asignadas de forma automtica por el sistema, o
bien se pueden asignar externamente. Pueden ganarse o comprarse. Pueden ser
estticas o dinmicas. Pueden asignarse de forma racional, o de manera arbitraria en
situaciones en las que un mecanismo del sistema necesita distinguir entre procesos pero
no le importa cul de ellos es en verdad ms importante.
Las prioridades estticas no cambian. Los mecanismos de prioridad esttica
son fciles de llevar a la prctica e implican un gasto extra relativamente bajo. Sin
embargo, no responden a cambios en el entorno que podran hacer necesario un ajuste
de prioridades.
Las prioridades dinmicas responden a los cambios. La prioridad inicial
asignada a un proceso tiene una corta duracin, despus se ajusta a un valor ms
apropiado, a veces deducido de su comportamiento. Los esquemas de prioridad
dinmica son ms complejos e implican un mayor gasto extra que puede quedar
justificado por el aumento en la sensibilidad del sistema.

6. PLANIFICACIN DE DISCO (DISK SCHEDULING)

Lo que se busca atreves de la planificacin de discos es reducir los tiempos de acceso tanto
en la lectura como en la escritura de los datos. Adems del tiempo de acceso y del tiempo
de transferencia, existen algunos retrasos en las colas que normalmente tienen asociada una
operacin de E/S a disco. Cuando un proceso emite una solicitud de E/S, primero debe
esperar en una cola a que el dispositivo est disponible. En ese momento, el dispositivo
queda asignado al proceso. Si el dispositivo comparte un nico canal de E/S o un conjunto de
canales con otras unidades del disco, puede producirse una espera adicional hasta que el
canal est disponible. En ese punto se realizar la bsqueda con que comienza el acceso al
disco.

La planificacin del disco se divide en 2 tipos, la primera realiza la seleccin en funcin del
demandante y la otra en funcin del elemento solicitado:
Los de seleccin en funcin del demandante:

Planificacin aleatoria (RSS)

Primero en entrar, primero en salir (FIFO)

Prioridad

Ultimo en entrar, primero en salir (LIFO)


Los de seleccin en funcin del elemento solicitado:

Primero el ms corto (SSTF)

SCAN

C-SCAN

SCAN de N pasos

FSCAN
6.1 INTRODUCCIN, FUNCIONES Y OBJETIVOS DEL DISK SCHEDULING

En los sistemas de multiprogramacin, muchos procesos pueden estar generando solicitudes de lectura y
escritura de registros en discos ya sean internos o extraibles. Como a veces dichos procesos realizan peticiones
ms rpido de lo que pueden ser atendidas por los discos de cabeza mvil, se forman colas de espera para cada
dispositivo. Algunos sistemas de cmputo se limitan a atender las peticiones segn un esquema FCFS (First
Come First Served) donde el primero que llega es el primero que se atiende. La solicitud de servicio que llegue
primero ser la primera en atenderse, lo cualparece un mtodo adecuado para asignar servicios al momento de
almacenar informacin algn dispositivo, pero cuando es la tasa de solicitud (es decir, la cantidad de
informacin a desplazarse y almacenarse) llega a ser considerable el mtodo FCFS puede dar lugar a tiempos de
espera muy largos.
Lo que se busca atreves de la planificacin de discos es reducir los tiempos de acceso tanto en la lectura como
en la escritura de los datos. Adems del tiempo de acceso y del tiempo de transferencia, existen algunos retrasos
en las colas que normalmente tienen asociada una operacin de E/S a disco. Cuando un proceso emite una
solicitud de E/S, primero debe esperar en una cola a que el dispositivo est disponible. En ese momento, el
dispositivo queda asignado al proceso. Si el dispositivo comparte un nico canal de E/S o un conjunto de
canales con otras unidades del disco, puede producirse una espera adicional hasta que el canal est disponible.
En ese punto se realizar la bsqueda con que comienza el acceso al disco.
Para reducir al mnimo el tiempo de bsqueda de registros, parece razonable ordenar la cola de solicitudes en
una forma diferente al FCFS. Este proceso se conoce como Planificacin de Disco, el FCFS puede considerarse
como el mecanismo ms simple de planificacin de disco.
La planificacin de disco implica un examen cuidadoso de las peticiones pendientes para determinar la forma
ms eficiente de atenderlas. Un planificador de disco examina las relaciones de posicin entre las peticiones en

espera. La cola de espera se reordena para que las peticiones puedan atenderse con un mnimo de movimiento
mecnico.
Los dos tipos ms comunes de planificacin son: la optimizacin de bsqueda y la optimizacin rotacional
(o de latencia). Como los tiempos de bsqueda son un orden de magnitud ms grande que los tiempos de
latencia, la mayor parte de los algoritmos de planificacin se concentran en reducir al mnimo los tiempos de
bsqueda para un conjunto de peticiones. La reduccin de la latencia por lo general tiene poco efecto sobre el
rendimiento global del sistema, excepto bajo cargas pesadas.
En condiciones de carga ligera (es decir, un promedio pequeo de la longitud de la cola de peticiones) el FCFS
es una forma aceptable de atender dichas peticiones. Sin embargo, en condiciones de carga mediana o pesada la
planificacin produce normalmente un rendimiento mejor que el de FCFS.

6.2 POLTICAS DEL DISK SCHEDULING


Algunos otros criterios para clasificar las polticas son de disk scheduling:

La productividad

El tiempo promedio de respuesta

La varianza de los tiempos de respuesta (predecibilidad)

Est claro que una poltica de planificacin debe tratar de lograr una productividad mxima (el mayor nmero
posible de peticiones atendidas por unidad de tiempo). La tendencia en cualquier poltica de planificacin que
se tome es reducir el tiempo desperdiciado en bsquedas muy largas y tratar de reducir el tiempo promedio de
respuesta (es decir, el tiempo de espera ms tiempo promedio de servicio).
6.3 CONSIDERACIONES ACERCA DEL USO DEL DISK SCHEDULING
Al igual que para el CPU, existen varias estrategias posibles para servir los accesos a un disco, buscando
optimizar de acuerdo a uno o ms criterios (por ejemplo, maximizar el nmero promedio de accesos servidos, o
minimizar el tiempo de respuesta) o cumplir con ciertos requisitos (por ejemplo, justicia, que ninguna peticin
sea eternamente relegada). Los algoritmos que veremos a continuacin slo toman en cuenta el movimiento del
brazo, y no la latencia. Entre otras cosas porque los discos no suelen proveer sensores del sector donde pasan, y
dados los tiempos de respuesta, es muy complicado sacarle provecho. Las consideraciones ms comunes son:
FCFS: "El primero que llega ser el primero servido" (First Come First Served). Equivale al FIFO de
planificacin de CPU. Garantiza justicia (y por lo tanto que ninguna peticin ser eternamente relegada). En
cambio, su desempeo, medido por ejemplo, en nmero promedio de accesos servidos, distar del mejor en el
caso general, puesto que accesos consecutivos en ciliindros distantes causarn mucho movimiento del brazo y
latencia.
SSFT: de atienden los pedidos por menor tiempo de busqueda

SCAN: (Barrido) Mueve el brazo de extremo a extremo, sirviendo las peticiones de acuerdo a su cilindro, a
medida que vaya pasando por ese cilindro una vez llegado al extremo regresa haciendo otro barrido de lectura.
Funciona bien si hay muchas peticiones, distribuidas por todo el disco. Como llega hasta los extremos, si las
peticiones no acceden a determiandas zonas del disco, se pierden esos movimientos, y aumenta el tiempo de
servicio promedio.
C-SCAN: (Barrido circular) Es igual que el SCAN, pero al llegar al extremo, regresa al principio (a toda
velocidad) sin servir ninguna peticin al moverse en esa direccin (como si el disco fuera circular). Esto mejora
el tiempo de espera promedio.
LOOK: (Mirando o fijndose) Es como SCAN, pero en lugar de llegar al extremo, llega hasta el ltimo cilindro
donde haya peticiones pendientes, y se regresa. El C-LOOK es lo mismo, pero regresando al principio cuando
sirve el ltimo cilindro solicitado.
Se debe de considerar que en la actualidad han surgido nuesto tipos de discos considerados "slidos" que no
tienen cabezas lectoras, aunque actualmente su precio es algo y su capacidad de almacenamiento es baja su
redimiento y seguridad en la preservacin de la informacin es alta. A futuro estos discos reemplazarn a los
discos tradicionales, por lo que el disk scheduling ya no ser necesario si se toma en cuenta la ausencia de
cabezas en estos dispositivos.

Вам также может понравиться