2.5 Niveles, Objetivos y Criterios de Planificación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

2.

5 Niveles, Objetivos y Criterios de Planificacin




En pocas pasadas de los sistemas de procesamiento por lotes, con una entrada
en forma de imgenes de tarjetas en una cinta magntica, el algoritmo de
planificacin era sencillo: solo haba que ejecutar el siguiente trabajo en la cinta.
En los sistemas de multiusuario de tiempo compartido, que se combinaban con un
fondo de trabajos procesados en lote, el algoritmo era ms complejo. En forma
invariable, existan varios usuarios en espera de servicio y podan existir tambin
otros trabajos para ser procesados en lote. Incluso en los sistemas puros de
tiempo compartido existen con frecuencia los trabajos colaterales, como el sistema
de correo electrnico, que a menudo se ejecuta todo el tiempo para enviar o recibir
correo o noticias.
Uno de los mdulos ms importantes de un sistema operativo es la de administrar
los procesos y tareas del sistema de cmputo. En esta seccin se revisarn dos
temas que componen o conciernen a este mdulo: la planificacin del procesador
y los problemas de concurrencia.


Planificacin del procesador
La planificacin del procesador se refiere a la manera o tcnicas que se usan para
decidir cunto tiempo de ejecucin y cuando se le asignan a cada proceso del
sistema. Obviamente, si el sistema es monousuario y monetaria no hay mucho
que decidir, pero en el resto de los sistemas esto es crucial para el buen
funcionamiento del sistema.

Niveles de planificacin
En los sistemas de planificacin generalmente se identifican tres niveles: el alto,
en medio y el bajo. El nivel alto decide que trabajos (conjunto de procesos) son
candidatos a convertirse en procesos compitiendo por los recursos del sistema; el
nivel intermedio decide que procesos se suspenden o reanudan para lograr ciertas
metas de rendimiento mientras que el planificador de bajo nivel es el que decide
qu proceso, de los que ya estn listos (y que en algn momento paso por los
otros dos planificadores) es al que le toca ahora estar ejecutndose en la unidad
central de procesamiento. En este trabajo se revisaran principalmente los
planificadores de bajo nivel porque son los que finalmente eligen al proceso en
ejecucin.

Objetivos de la planificacin
Una estrategia de planificacin debe buscar que los procesos obtengan sus turnos
de ejecucin apropiadamente, conjuntamente con un buen rendimiento y
minimizacin de la sobrecarga (overhead) del planificador mismo. En general, se
buscan cinco objetivos principales:
Justicia o Imparcialidad: Todos los procesos son tratados de la misma
forma, y en algn momento obtienen su turno de ejecucin o intervalos de
tiempo de ejecucin hasta su terminacin exitosa.
Maximizar la Produccin: El sistema debe de finalizar el mayor nmero
de procesos en por unidad de tiempo.
Maximizar el Tiempo de Respuesta: Cada usuario o proceso debe
observar que el sistema les responde consistentemente a sus requerimientos.
Evitar el aplazamiento indefinido: Los procesos deben terminar en un
plazo finito de tiempo.
El sistema debe ser predecible: Ante cargas de trabajo ligeras el sistema
debe responder rpido y con cargas pesadas debe ir degradndose
paulatinamente. Otro punto de vista de esto es que si se ejecuta el mismo
proceso en cargas similares de todo el sistema, la respuesta en todos los
casos debe ser similar.

Caractersticas a considerar de los procesos
No todos los equipos de cmputo procesan el mismo tipo de trabajos, y
un algoritmo de planificacin que en un sistema funciona excelente puede dar
un rendimiento psimo en otro cuyos procesos tienen caractersticas
diferentes. Estas caractersticas pueden ser:
Cantidad de Entrada/Salida: Existen procesos que realizan una gran
cantidad de operaciones de entrada y salida (aplicaciones de bases de datos,
por ejemplo).
Cantidad de Uso de CPU: Existen procesos que no realizan muchas
operaciones de entrada y salida, sino que usan intensivamente la unidad
central de procesamiento. Por ejemplo, operaciones con matrices.
Procesos de Lote o Interactivos: Un proceso de lote es ms eficiente en
cuanto a la lectura de datos, ya que generalmente lo hace de archivos,
mientras que un programa interactivo espera mucho tiempo (no es lo mismo el
tiempo de lectura de un archivo que la velocidad en que una persona teclea
datos) por las respuestas de los usuarios.
Procesos en Tiempo Real: Si los procesos deben dar respuesta en
tiempo real se requiere que tengan prioridad para los turnos de ejecucin.
Longevidad de los Procesos: Existen procesos que tpicamente
requerirn varias horas para finalizar su labor, mientras que existen otros que
solo necesitan algunos segundos.
Planificacin apreciativa o no apreciativa (preemptive or not preemptive)
La planificacin apreciativa es aquella en la cual, una vez que a un proceso le
toca su turno de ejecucin ya no puede ser suspendido, ya no se le puede
arrebatar la unidad central de procesamiento. Este esquema puede ser
peligroso, ya que si el proceso contiene accidental o deliberadamente ciclos
infinitos, el resto de los procesos pueden quedar aplazados indefinidamente.
Una planificacin no apreciativa es aquella en que existe un reloj que lanza
interrupciones peridicas en las cuales el planificador toma el control y se
decide si el mismo proceso seguir ejecutndose o se le da su turno a otro
proceso. Este mismo reloj puede servir para lanzar procesos manejados por el
reloj del sistema. Por ejemplo en los sistemas UNIX existen los 'cronjobs' y
'atjobs', los cuales se programan en base a la hora, minuto, da del mes, da de
la semana y da del ao.
En una planificacin no apreciativa, un trabajo muy grande aplaza mucho a
uno pequeo, y si entra un proceso de alta prioridad est tambin debe
esperar a que termine el proceso actual en ejecucin.

Cuando ms de un proceso es ejecutable, el Sistema Operativo debe decidir cul
de ellos deber ejecutarse primero. Hay que tener una planificacin de los
procesos que quieren ejecutarse en el sistema. La planificacin es una funcin
primordial del Sistema Operativo. La mayora de los recursos, si no es que todos,
se planifican antes de que se utilicen. La asignacin de procesadores fsicos a los
procesos hace posible que estos realicen su trabajo, y tal asignacin es un
problema complejo manejado por el Sistema Operativo.

Concepto de Planificacin
La planificacin hace referencia a un conjunto de polticas y mecanismos
incorporados al sistema operativo que gobiernan el orden en que se ejecutan los
trabajos que deben ser cumplimentados por el sistema informtico.

Objetivo de la Planificacin
El objetivo principal de la planificacin es optimizar el rendimiento del sistema y
proporcionar un buen servicio a todos los procesos que se encuentren en l. En
general, la planificacin trata de cubrir los siguientes objetivos:
Justicia. La planificacin debe ser lo ms justa posible con todos
los procesos, sin favorecer a unos y perjudicar a otros.
Mxima capacidad de ejecucin. Debe dar un servicio eficiente para que
todos los trabajos se realicen lo ms rpidamente posible. Esto se puede
lograr disminuyendo el nmero de cambios de proceso.
Mximo nmero de usuarios interactivos. En los sistemas de tiempo
compartido se tratara de que puedan estar trabajando el mayor nmero de
usuarios al mismo tiempo.
Predecibilidad. La planificacin debe realizarse de tal forma que en todo
momento pueda saberse cmo ser su ejecucin.
Minimizacin de la sobrecarga. La computadora debe tener poca
sobrecarga ya que esta afecta directamente al rendimiento final del sistema:
a menor sobrecarga mayor velocidad de proceso.
Equilibrio en el uso de recursos. Para obtener un mayor rendimiento en el
uso de los recursos y que estos estn ocupados equitativamente el mayor
tiempo posible.
Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro,
este debe ejecutarse ms rpidamente.
Evitar la postergacin indefinida. Esto se logra aumentando la prioridad de
un proceso mientras espere por un recurso. La prioridad llegara a ser tan
alta que al proceso el ser asignado el recurso que pidi.

Criterios de planificacin
Para realizar los objetivos de la planificacin, un mecanismo de planificacin debe
considerar lo siguiente:
La limitacin de un proceso a las operaciones de Entrada / Salida: cuando
un proceso consigue la CPU, la utiliza solo brevemente antes de generar
una peticin de Entrada / Salida
La limitacin de un proceso a la CPU: cuando un proceso obtiene la CPU,
tiende a usarla hasta que expira su tiempo
Si un proceso es por lote (batch) o interactivo: los usuarios interactivos
deben recibir inmediato servicio para garantizar buenos tiempos de
respuesta.
Que urgencia tiene una respuesta rpida: por ejemplo, un proceso de
tiempo real de un sistema de control que supervise una refinera de
combustible requiere una respuesta rpida, ms rpida que la respuesta
requerida por un proceso en lotes (batch) que deber entregarse al da
siguiente.
La prioridad de un proceso: a mayor prioridad mejor tratamiento.
Frecuentemente un proceso genera fallos (carencias) de pgina:
o Probablemente los procesos que generan pocos fallos de pgina
hayan acumulado sus conjuntos de trabajo en el almacenamiento
principal.
o Los procesos que experimentan gran cantidad de fallos de pgina
an no han establecido sus conjuntos de trabajo.
o Un criterio indica favorecer a los procesos que han establecido sus
conjuntos de trabajo.
o Otro criterio indica favorecer a los procesos con una tasa alta de
fallos de pgina ya que rpidamente generaran una peticin de
Entrada / Salida.
Frecuentemente un proceso ha sido apropiado por otro de ms alta
prioridad, lo cual significa lo siguiente:
o A menudo los procesos apropiados deben recibir un tratamiento
menos favorable.
o Cada vez que el Sistema Operativo asume la sobrecarga para hacer
ejecutar este proceso, el corto tiempo de ejecucin antes de la
apropiacin no justifica la sobrecarga de hacer ejecutar al proceso en
primer lugar.
Cuanto tiempo de ejecucin real ha recibido el proceso: un criterio
considera que debe ser favorecido un proceso que ha recibido muy poco
tiempo de CPU.
Cuanto tiempo adicional va a necesitar el proceso para terminar: los tiempos
promedio de espera pueden reducirse priorizando los procesos que requieren de
un tiempo de ejecucin mnimo para su terminacin, pero pocas veces es posible
conocer la cantidad de tiempo adicional que cada proceso necesita para terminar.

Planificacin de procesos
La planificacin es el proceso por el cual el sistema operativo selecciona que
proceso ejecutar. La seleccin del proceso se basa en alguno de los algoritmos de
planificacin que se describen ms abajo.

Expulsin
Es la caracterstica por el cual el sistema operativo puede o no expulsar del estado
de ejecucin a un proceso dado. En este sentido entonces tenemos la
planificacin apreciativa en la cual el sistema operativo puede cortar en cualquier
momento la ejecucin de un proceso y la planificacin no apreciativa en la cual
una vez que el proceso est en ejecucin el sistema operativo no puede sacarlo
de ese estado.

Objetivos de la planificacin
Los objetivos de la planificacin de proceso son:
Equidad, todos los procesos deben poder ejecutarse
Eficacia, mantener ocupada la CPU un 100% del tiempo
Tiempo de respuesta, minimizar el tiempo de respuesta al usuario
Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios
por lotes para obtener sus resultados
Rendimiento, maximizar el nmero de tareas procesadas por hora.
Algoritmos de planificacin
Los algoritmos de planificacin son los que definen que poltica se va a seguir para
que un proceso pase al estado de ejecucin.

Planificacin Round-Robin
En este tipo de planificacin cada proceso tiene asignado un quantum de tiempo
para ejecutarse y en el caso de que no pueda terminar la ejecucin en su quantum
el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro
quantum luego de recorrer la cola para asegurarse que todos los procesos reciban
ese quantum de procesamiento.

Planificacin por prioridad
En la planificacin round-robin todos los procesos son tratados con la misma
prioridad. Para el caso de este tipo de planificacin a cada proceso se le asigna
una prioridad y los mismos son ejecutados

Colas mltiples
Las colas mltiples estn basadas en una pila que sirve como ndice de una lista
de procesos que se tienen que ejecutar.

Primero el trabajo ms cort
Este tipo de algoritmo de planificacin se usa para trabajos en batch o de
procesamiento or lotes en los cuales se puede saber cul es el tiempo de duracin
de la ejecucin de cada proceso y entonces se puede seleccionar primero el
trabajo ms corto. El problema que se presenta con ste algoritmo es que los
grandes procesos podran sufrir de inanicin dado que cualquier proceso pequeo
se "cuela" sobre uno de mayor tamao y como resultado final se podra dar el
caso que el proceso grande nunca obtenga procesamiento.



Planificacin garantizada
En este modelo de planificacin se tiene en cuenta la cantidad de usuarios en el
sistema y se le asigna a cada uno el tiempo de ejecucin de 1/n (siendo n la
cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del
tiempo de ejecucin de los procesos y balancear el tiempo que estn utilizando el
procesador para cumplir con la ecuacin previa.
Conceptos de planificacin.

El objetivo de la multiprogramacin es que en todo momento se ejecute un
proceso para maximizar la utilizacin del CPU. En un sistema monoprocesador
nunca habr ms de un proceso en ejecucin. Si hay ms procesos tendrn que
esperar a que el CPU est libre y pueda volver a planificarse.

El concepto de multiprogramacin es muy sencillo: un proceso se ejecuta hasta
que tenga que esperar, generalmente a que termine una solicitud de E/S. En un
sistema de cmputo sencillo, el CPU permanecer inactivo; todo este tiempo de
espera se desperdicia sin efectuar una actividad til. Con la multiprogramacin
tratamos de emplear productivamente este tiempo. Varios procesos se conservan
en la memoria a la vez, y cuando uno de ellos tiene que esperar, el sistema
operativo le quita el CPU al proceso y se lo da a otro; este modelo contina, Cada
vez que un proceso tiene que esperar, otro pueda utilizar el CPU.
Los beneficios de la multiprogramacin son un aumento de la utilizacin del CPU y
una mayor productividad.
Planificacin del CPU
La planificacin es una funcin fundamental del sistema operativo. Casi
todos los recursos de una computadora se planifican antes de usarse. Por
supuesto, el CPU es una de los principales.
Recursos de la computadora, de modo que su planificacin es parte
modular del diseo de los sistemas operativos.

- Ciclo de rfaga del CPU y de E/S.
El xito de la planificacin del CPU depende de la siguiente prioridad
observada de los procesos: la ejecucin de un proceso consiste en un ciclo de
ejecucin del CPU y de E/S, y los procesos se alternan entre estos dos
estados. La ejecucin del proceso se inicia con una rfaga de CPU; a sta le
siguen una rfaga de E/S, otra rfaga de CPU, una ms de E/S, etc.
Finalmente, la ltima rfaga de CPU terminar con una solicitud al sistema
para que concluya la ejecucin, en vez de otra rfaga de E/S.
Las duraciones de estas rfagas de CPU se han medido, y, aunque varan
considerablemente de un proceso a otro y entre computadoras, Generalmente
la curva se caracteriza como exponencial o hiperhexponencial. Hay un gran
nmero de rfagas de CPU de corta duracin y un pequeo nmero de larga
duracin.

- Planificador del CPU.
Siempre que el CPU queda inactivo, el sistema operativo debe
seleccionar para su ejecucin uno de sus procesos de la cola de procesos
listos. El proceso de seleccin es revisado por el planificador a corto plazo. (o
planificador del CPU). El planificador selecciona uno de los procesos en
memoria que estn listos para ejecucin y le asigna el CPU.
- Estructura de planificacin.
Las decisiones de planificacin del CPU pueden efectuarse en una de
las cuatro circunstancias siguientes:
1. Cuando un proceso cambia del estado de ejecucin a estado de
espera (por ejemplo, solicitud de E/S peticin de esperar la terminacin de uno
de los procesos hijo).
2. Cuando un proceso cambia del estado de ejecucin al estado listo (por
ejemplo, cuando ocurre una interrupcin)
3. Cuando un proceso cambia del estado de espera al estado listo (por
ejemplo, al completarse la E/S).
4. Cuando termina un proceso.

También podría gustarte