3.1
PLANEACION DE TRABAJOS (JOB SCHEDULING)
Objetivo de la planificación: Minimizar el tiempo
de espera y minimizar el tiempo de respuesta. La planificación (scheduling) es
la base para lograr la multiprogramación.
3.2 CONCEPTOS BASICOS
DE JOB SCHEDULING
Un sistema multiprogramado tendrá varios procesos
que requerirán el recurso procesador a la vez. Esto sucede cuando los procesos
están en estado ready (pronto). Si existe un procesador disponible, se debe
elegir el proceso que será asignado para ejecutar. La parte del sistema
operativo que realiza la elección del proceso es llamada planificador
(scheduler).
La planificación hace referencia a un conjunto de
políticas y mecanismos incorporados a sistemas operativos que gobiernan el
orden en que se ejecutan los trabajos.
Un planificador es un módulo del S.O que selecciona
el siguiente trabajo que hay que admitir en el sistema y el siguiente proceso
que hay que ejecutar .
En muchos sistemas, la actividad de planificación
se divide en tres funciones independientes: planificación a largo, medio, y
corto plazo.
3.3 TIPOS DE PLANEACION
3.3.1 FIRST IN FIRST OUT (FIFO)
Primero en llegar primero en ser tendido. la cpu se
asigna a los procesos en el orden que lo solicitan, cuando el primer
proceso entra en el sistema, se le inicia de inmediato y se le permite ejecutar
todo el tiempo que necesite, cuando llegan otros procesos se les coloca al
final de la cola. Cuando se bloquea el proceso en ejecución, se ejecuta el
primer proceso de la cola, si un proceso bloqueado vuelve a estar listo se le
coloca al final de la cola como si fuera un proceso recién llegado.
. Es del tipo no expropiativo
. Es equitativo
. Solo necesita una cola para implementarse
. Presenta desventajas cuando se tienen procesos
dedicados a CPU y dedicados a E/S
3.3.2 ROUN ROBIN (RR)
Algoritmo apropiativo consistente en determinar un
quantum (tiempo de reloj) que marcará el intervalo de CPU que se le cederá al
proceso ejecutando. Cuando finalice el quantum al proceso se le quitará la CPU
y pasará a la cola de listo. La cola de listos sigue la estructura FIFO. Si un
proceso no consume su quantum libera la CPU y ésta es asignada al siguiente
Proceso de la cola de listo.
Los procesos se despachan en “FIFO” y disponen de
una cantidad limitada de tiempo de cpu, llamada “división de tiempo” o
“cuanto”.
Si un proceso no termina antes de expirar su tiempo
de cpu ocurren las siguientes acciones:
1. La cpu es apropiada.
2. La cpu es otorgada al siguiente proceso en
espera.
3. El proceso apropiado es situado al final de la
lista de listos.
Es efectiva en ambientes de tiempo compartido.
La sobrecarga de la apropiación se mantiene baja
mediante mecanismos eficientes de intercambio de contexto y con suficiente
memoria principal para los procesos.
Características:
• Fácil de implementar.
• Perjudica a los procesos de E/S.
• Si el quantum es muy grande se comporta como un
FCFS.
• El tiempo de respuesta para procesos cortos es
bueno.
• Trato equitativo entre procesos, bueno para
interactividad.
• No se produce inanición.
• El valor mínimo del quantum debe ser (10 * Tiempo
Cambio Contexto )
• El quantum más adecuado es el Tiempo de CPU del
proceso más corto.
3.3.3 SHORTEST JOB FIRST
(SJF)
Es una disciplina no apreciativa y por lo tanto no
recomendable en ambientes de tiempo compartido. El proceso en espera con el
menor tiempo estimado de ejecución hasta su terminación es el siguiente en
ejecutarse. Los tiempos promedio de espera son menores que con “FIFO”.
Los tiempos de espera son menos predecibles que en
“FIFO”.
Favorece a los procesos cortos en detrimento de los
largos.
Tiende a reducir el número de procesos en espera y
el número de procesos que esperan detrás de procesos largos. Requiere un
conocimiento preciso del tiempo de ejecución de un proceso, lo que generalmente
se desconoce. Se pueden estimar los tiempos en base a series de valores
anteriores.
3.3.4 SHORTEST REMAINING TIME (STR)
Es una disciplina apropiativa ya que a un proceso
activo se le puede retirar la CPU si llega a la lista de procesos en estado
listo otro con un tiempo restante de ejecución estimado menor.
Este algoritmo es la versión no apropiativa o
espulsiva del algoritmo Shortest Process Next (SPN) o también llamado Shortest
Job First (SJF).
Definición: Algoritmo apropiativo (que en cualquier
momento se le puede quitar la CPU para asignársela otro proceso) consistente en
elegir de la cola de listos el proceso con menos necesidad de tiempo restante
de CPU para cada instante de tiempo.
Características:
Ofrece un buen tiempo de respuesta.
La productividad es alta a cambio de la
sobrecarga del sistema (a cada paso debe decidir a que proceso asignarle la
CPU).
Penaliza los procesos largos.
Se puede producir inanición.
3.3.5 GHEST RESPONSE RATIO NEXT (HRN)
Definición: Algoritmo apreciativo parecido al SRT consistente
en calcular el Reponse Ratio (Ratio de respuesta) para asignar la CPU a
procesos más viejos. (Para evitar la inanición). Características: Es muy
productivo pero se sobrecarga el sistema.
Equilibra
los procesos, aunque da prioridad a los procesos más cortos.
Las prioridades, que son dinámicas, se calculan
según la siguiente fórmula, donde pr es la “prioridad”, te es el “tiempo de
espera” y ts es el “tiempo de servicio”:
• Elige proceso listo con valor mayor de R • Tiene en cuenta edad del proceso • Debe estimarse el tiempo se servicio previamente:
en base a historia pasada o valor dado por usuario o administrador.
• R= w + s R= tasa de respuesta w= tiempo consumido esperando al procesador s = tiempo de servicio esperado
Que corrige algunas deficiencias de SJF,
particularmente el retraso excesivo de trabajos largos y el favoritismo
excesivo para los trabajos cortos. HRN es un disciplina de planificación no apreciativa
en la cual la prioridad de cada proceso no sólo se calcula en función del
tiempo de servicio, sino también del tiempo que ha esperado para ser atendido.
Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las
prioridades dinámicas en HRN se calculan de acuerdo con la siguiente expresión:
Prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio Como
el tiempo de servicio aparece en el denominador, los procesos cortos tendrán
preferencia. Pero como el tiempo de espera aparece en el numerador, los
procesos largos que han esperado también tendrán un trato favorable. Obsérvese
que la suma tiempo de espera + tiempo de servicio es el tiempo de respuesta del
sistema para el proceso si éste se inicia de inmediato.
Para cada proceso, basado en el tiempo que va a
ocupar el procesador(s) y el tiempo que lleva esperando para ocuparlo (w), Se
calcula w+s/s, una vez echo esto el proceso que tenga un valor mayor será
asignado al procesador. Este algoritmo es bastante bueno, por que además de dar
preferencia a los procesos cortos también tiene en cuenta el envejecimiento de
los procesos para evitar así la “inanición”. Cuando el proceso actual termina o
se bloquea, se elige el proceso listo con un mayor valor de R.
3.4
MULTIPROCESAMIENTO PROCESADOR
Un multiprocesador se define como una
computadora que contiene dos o más unidades de procesamiento que trabajan sobre
una memoria común bajo un control integrado.
Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simétrico; en el otro caso hablamos de multiprocesamiento asimétrico.
Si un procesador falla, los restantes continúan operando, lo cual no es automático y requiere de un diseño cuidadoso.
Un procesador que falla habrá de informarlo a los demás de alguna manera, para que se hagan cargo de su trabajo .
Los procesadores en funcionamiento deben poder detectar el fallo de un procesador
Determinado. El Sistema Operativo debe percibir que ha fallado un procesador determinado y ya no podrá asignarlo y también debe ajustar sus estrategias de asignación de recursos para evitar la sobrecarga del sistema que está degradado.
Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simétrico; en el otro caso hablamos de multiprocesamiento asimétrico.
Si un procesador falla, los restantes continúan operando, lo cual no es automático y requiere de un diseño cuidadoso.
Un procesador que falla habrá de informarlo a los demás de alguna manera, para que se hagan cargo de su trabajo .
Los procesadores en funcionamiento deben poder detectar el fallo de un procesador
Determinado. El Sistema Operativo debe percibir que ha fallado un procesador determinado y ya no podrá asignarlo y también debe ajustar sus estrategias de asignación de recursos para evitar la sobrecarga del sistema que está degradado.
3.5
CONCEPTOS BASICOS DEL MULTIPROCESAMIENTO
Un multiprocesador se define como una
computadora que contiene dos o más unidades de procesamiento que trabajan sobre
una memoria común bajo un control integrado.
Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simétrico; en el otro caso hablamos de multiprocesamiento asimétrico.
Si un procesador falla, los restantes continúan operando, lo cual no es automático y requiere de un diseño cuidadoso.
Un procesador que falla habrá de informarlo a los demás de alguna manera, para que se hagan cargo de su trabajo .
Los procesadores en funcionamiento deben poder detectar el fallo de un procesador
Determinado. El Sistema Operativo debe percibir que ha fallado un procesador determinado y ya no podrá asignarlo y también debe ajustar sus estrategias de asignación de recursos para evitar la sobrecarga del sistema que está degradado.
Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simétrico; en el otro caso hablamos de multiprocesamiento asimétrico.
Si un procesador falla, los restantes continúan operando, lo cual no es automático y requiere de un diseño cuidadoso.
Un procesador que falla habrá de informarlo a los demás de alguna manera, para que se hagan cargo de su trabajo .
Los procesadores en funcionamiento deben poder detectar el fallo de un procesador
Determinado. El Sistema Operativo debe percibir que ha fallado un procesador determinado y ya no podrá asignarlo y también debe ajustar sus estrategias de asignación de recursos para evitar la sobrecarga del sistema que está degradado.
3.6 PARALELISMO MULTIPROCESADOR
MULTIPROCESAMIENTO.
– La solución pueden ser los sistemas multiprocesadores:
o Solución más sencilla, natural y con mejor coste-prestaciones.
o Las mejoras en microprocesadores cada vez son más complejas: cada avance implica crecer en complejidad, potencia y superficie.
o Lenta pero clara mejora en el software, que permite explotar el paralelismo.
– Las arquitecturas actuales son muy diversas: hay más investigación que resultados definitivos.
– Hablaremos de multiprocesadores de pequeña y median escala
Dos factores clave para la extensión de los Multiprocesadores
1. Flexibilidad: El mismo sistema puede usarse para un único usuario incrementado el rendimiento en la ejecución de una única aplicación o para varios usuarios y aplicaciones en un entorno compartido.
2. Coste-rendimiento: Actualmente estos sistemas se basan en procesadores comerciales, por lo que su coste se ha reducido drásticamente. La inversión más fuerte se hace en la memoria y la red de interconexión.
– La solución pueden ser los sistemas multiprocesadores:
o Solución más sencilla, natural y con mejor coste-prestaciones.
o Las mejoras en microprocesadores cada vez son más complejas: cada avance implica crecer en complejidad, potencia y superficie.
o Lenta pero clara mejora en el software, que permite explotar el paralelismo.
– Las arquitecturas actuales son muy diversas: hay más investigación que resultados definitivos.
– Hablaremos de multiprocesadores de pequeña y median escala
Dos factores clave para la extensión de los Multiprocesadores
1. Flexibilidad: El mismo sistema puede usarse para un único usuario incrementado el rendimiento en la ejecución de una única aplicación o para varios usuarios y aplicaciones en un entorno compartido.
2. Coste-rendimiento: Actualmente estos sistemas se basan en procesadores comerciales, por lo que su coste se ha reducido drásticamente. La inversión más fuerte se hace en la memoria y la red de interconexión.
3.7
SISTEMAS DE MULTIPROCESAMIENTO
En un sistema de multiprocesamiento
procesadores múltiples son empleados a ejecutado más de una actividad en el
tiempo, siempre que la informática masiva deba ser realizada con regularidad.
Multiprocesador. Como muchas de las actividades principales de la informática
se ejecutan simultáneamente por los procesadores diferentes.
3.8
ORGANIZACIÓN DEL MULTIPROCESADOR
La organización más común es:
Tiempo compartido o bus común (conductor común).
• Matriz de barras cruzadas e interruptores.
• Almacenamiento de interconexión múltiple.
Tiempo Compartido o Bus Común (o Conductor Común)
Usa un solo camino de comunicación entre todas las unidades funcionales
El bus común es en esencia una unidad pasiva.
Un procesador o procesador de Entrada / Salida que desee transferir datos debe efectuar los siguientes pasos:
1. Verificar la disponibilidad del conductor y de la unidad de destino.
2. Informar a la unidad de destino de lo que se va a hacer con los datos.
3. Iniciar la transferencia de datos.
Las unidades receptoras deben poder reconocer qué mensajes del bus son enviados hacia ellas y seguir y confirmar las señales de control recibidas de la unidad emisora.
Es una organización económica, simple y flexible pero con una sola vía de comunicación, por lo cual:
• El sistema falla totalmente si falla el bus.
• La tasa neta de transmisiones está limitada por la tasa neta de transmisión del conductor.
• La contención por el uso del bus en un sistema sobrecargado puede ocasionar una seria degradación.
Tiempo compartido o bus común (conductor común).
• Matriz de barras cruzadas e interruptores.
• Almacenamiento de interconexión múltiple.
Tiempo Compartido o Bus Común (o Conductor Común)
Usa un solo camino de comunicación entre todas las unidades funcionales
El bus común es en esencia una unidad pasiva.
Un procesador o procesador de Entrada / Salida que desee transferir datos debe efectuar los siguientes pasos:
1. Verificar la disponibilidad del conductor y de la unidad de destino.
2. Informar a la unidad de destino de lo que se va a hacer con los datos.
3. Iniciar la transferencia de datos.
Las unidades receptoras deben poder reconocer qué mensajes del bus son enviados hacia ellas y seguir y confirmar las señales de control recibidas de la unidad emisora.
Es una organización económica, simple y flexible pero con una sola vía de comunicación, por lo cual:
• El sistema falla totalmente si falla el bus.
• La tasa neta de transmisiones está limitada por la tasa neta de transmisión del conductor.
• La contención por el uso del bus en un sistema sobrecargado puede ocasionar una seria degradación.
No hay comentarios:
Publicar un comentario