miércoles, 29 de octubre de 2008
"Segun Silbertschatz, C.(1999) .Sistemas operativos (5ta ed.) (pp. 129) México: Pearson"El algoritmo de planificación mediante colas multinivel realimentadas permite mover un proceso de una cola a otra. La idea es separar los procesos en función de las características de sus ráfagas de CPU. Si un proceso utiliza demasiado tiempo de CPU, se pasa a una a de prioridad más baja. Este esquema deja los procesos limitados por E/S y los procesos interactivos en las colas de prioridad más alta. Además, un proceso que esté esperando demasiado tiempo en una cola de baja prioridad puede pasarse a una cola de prioridad más alta. Este mecanismo de envejecimiento evita el bloqueo indefinido.
"Segun Silbertschatz, C.(1999).Sistemas operativos (5ta ed.) (pp. 129) México: Pearson".Por ejemplo, considere un planificador de colas multinivel realimentadas con tres colas, numeradas de 0 a 2. En primer lugar, el planificador ejecuta todos los procesos de la cola 0. Solo cuando la cola 0 este vacia ejecutara procesos de la cola 1. De forma similar, los procesos de la cola 2 solo se ejecutaran si las colas 0 y 1 estan vacias. Un proceso que llegue a la cola 1 desalojara a un proceso de la cola 2 y ese proceso de la cola 1 sera, a su vez, desalojado por un proceso que llegue a la cola 0.
2.6.4 Colas multinivel(Queves MultiLevel)
"Segun Silbertschatz, C. (1999).Sistemas operativos (5ta ed.) México: Pearson" un algoritmo de planificacion mediante colas multinivel divide la cola de procesos preparados en varias colas distintas . Los procesos se asignan permanentemente a una cola, generalmente en función de alguna propiedad del proceso, como por ejemplo el tamaño memoria, la prioridad del proceso o el tipo de proceso. Cada cola tiene su propio algoritmo de planificación. Por ejemplo, pueden emplearse colas distintas para los procesos de primer plano y de segundo plano. La cola de primer plano puede planificarse mediante un algoritmo por turnos, mientras que para la cola de segundo plano puede emplearse un algoritmo FCFS.
2.6.3 Planificacion de Asignacion en Rueda (RR)
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) México: Pearson" Los procesos se despachan en “FIFO” y disponen de una cantidad limitada de tiempo de cpu, llamada “división de tiempo” o “cuanto”.
"Segun Silbertschatz, C. (1999).Sistemas operativos (5ta ed.) México: Pearson" Cada proceso recibe una fracción de tiempo de procesamiento o quanto para su ejecución, de manera que cuando se está ejecutando y excede el tiempo que se le ha concedido, se genera una interrupción de reloj, mediante la cual la ejecución del proceso se detiene y se coloca al proceso al final de la cola de procesos ‘listos’ para su posterior ejecución, seleccionándose a continuación un nuevo proceso de la cola para su ejecución. Si un proceso finaliza su ejecución antes de que termine el tiempo que se le ha asignado, este cede el control, seleccionándose un nuevo proceso de la cola para su ejecución.
2.6.2 Planificacion con seleccion del trabajo mas corto SJF
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) México: Pearson" Otro metodo de planificacion de la CPU es el algoritmo de planificacion con seleccion del trabajo mas corto (SJF, shortest job-first).
"Segun Silbertschatz, C. (1999).Sistemas operativos (5ta ed.) México: Pearson" Este algoritmo se asocia con cada proceso la duracion de la siguiente ráfaga de CPU del proceso. Cuando la CPU esta disponible, se asigna al proceso que tiene la siguiente rafaga de CPU mas corta. Si las siguientes rafagas de CPU de dos procesos son iguales, se usa la planificación FCFS para romper el empate.
"Segun Silbertschatz, C. (1999).Sistemas operativos (5ta ed.) México: Pearson" Observo que un termino mas apropiado para este método de planificación seria el de algoritmo de la siguiente rafaga de CPU mas corta, ya que la planificacion depende de la duracion de la siguiente rafaga de CPU de un proceso, en lugar de depender de su duracion total. Usamos el termino SJF porque casi todo el mundo y gran parte de los libros de texto emplean este termino para referirse a este tipo de planificacion.
2.6.1 FIFO
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) México: Pearson" Guarda analogía con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale.
Los procesos se despachan de acuerdo con su tiempo de llegada a la cola de procesos listos.
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) México: Pearson" Cuando un proceso tiene la CPU, se ejecuta hasta terminar. Es junto en el sentido formal, pero algo injusta en cuanto a que los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a los importantes.Este es un algoritmo que no usa apropiación, y que consiste en atender a los procesos por estricto orden de llegada a la lista de procesos listos.
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) México: Pearson" Las características principales de este algoritmo son las siguientes:
- No es apropiativa.
- Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
- Es una politica predecible.
- El tiempo promedio de servicio es muy variable ya que esta en funcion del numero de procesos y la duracion promedio que tenga.
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) México: Pearson" El planificador es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que están disponibles para su ejecución.
2.5 Niveles, Objetivos y Criterios de Planificacion
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.) (pp. 125-128) México: Pearson"La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informático.
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.)(pp. 125-128) México: Pearson" Se consideran tres niveles importantes de planificación, los que se detallan a continuación:
Planificación de alto nivel: Se encarga de llevar procesos de disco a memoria y viceversa. Seleccionando los trabajos que deben admitirse en el sistema.
Planificación de nivel intermedio: En algunos casos, en especial cuando el sistema está sobrecargado, el planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramación, y por lo tanto, permitir que los trabajos se completen mas aprisa.
Planificación de bajo nivel: Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cuál proceso listo se le asignará el CPU cuando éste se encuentra disponible. O Determina a qué proceso listo se le asigna la CPU cuando esta queda disponible y asigna la cpu al mismo, es decir que “despacha” la CPU al proceso.
Objetivo de la Planificacion
"Segun Silbertschatz, C. (1999). Sistemas operativos (5ta ed.)(pp. 125-128) México: Pearson"El objetivo principal de la planificacion es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planificacion trata de cubrir los siguientes objetivos:
- Justicia. La planificacion debe ser lo mas justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros.
- Maxima capacidad de ejecucion. Debe dar un servicio eficiente para que todos los trabajos se realicen lo mas rapidamente posible. Esto se puede lograr disminuyendo el numero de cambios de proceso.
- Maximo numero de usuarios interactivos. En los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor numero de usuarios al mismo tiempo.
- Predecibilidad. La planificación debe realizarse de tal forma que en todo momento pueda saberse como será su ejecución.
- Minimización 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 estén ocupados equitativamente el mayor tiempo posible.
Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, este debe ejecutarse mas rápidamente. - Evitar la postergación 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 le será asignado el recurso que pidió.
- Equidad
- Eficacia
- Tiempo de respuesta
- Tiempo de regreso
- Rendimiento
Suscribirse a:
Entradas (Atom)