RSS

jueves, 5 de noviembre de 2009

3.3 TIPOS DE PLANEACION JOB SCHEDULING

3.3.1 First in first out job scheduling (FIFO)

FIFO se utiliza en estructuras de datos para implementar colas. La implementación puede efectuarse con ayuda de arrays o vectores, o bien mediante el uso de punteros y asignación dinámica de memoria.

Los procesos se despachan de acuerdo con su tiempo de llegada a la cola de listos.



Una vez que el proceso obtiene la cpu, se ejecuta hasta terminar, ya que es una disciplina “no apropiativa”.


Puede ocasionar que procesos largos hagan esperar a procesos cortos y que procesos no importantes hagan esperar a procesos importantes.


Es más predecible que otros esquemas.


No puede garantizar buenos tiempos de respuesta interactivos.


Suele utilizarse integrado a otros esquemas, por ejemplo, de la siguiente manera:


  •  Los procesos se despachan con algún esquema de prioridad.
  • Los procesos con igual prioridad se despachan “FIFO”.




3.3.2 Planificación de Asignación en Rueda (RR: Round Robin)

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:



  •  La cpu es apropiada.
  •  La cpu es otorgada al siguiente proceso en espera.
  •  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.



Tamaño del Cuanto o Quantum


La determinación del tamaño del cuanto es decisiva para la operación efectiva de un sistema computacional


Los interrogantes son: ¿cuanto pequeño o grande?, ¿cuanto fijo o variable? y ¿cuanto igual para todos los procesos de usuarios o determinado por separado para cada uno de ellos?.


Si el cuanto se hace muy grande, cada proceso recibe todo el tiempo necesario para llegar a su terminación, por lo cual la asignación en rueda (“RR”) degenera en “FIFO”.


Si el cuanto se hace muy pequeño, la sobrecarga del intercambio de contexto se convierte en un factor dominante y el rendimiento del sistema se degrada, puesto que la mayor parte del tiempo de cpu se invierte en el intercambio del procesador (cambio de contexto) y los procesos de usuario disponen de muy poco tiempo de cpu.




3.3.3 Planificación del Tiempo Restante Más Corto (SRT)

Es la contraparte apropiativa del SJF.



Es útil en sistemas de tiempo compartido.


El proceso con el tiempo estimado de ejecución menor para …nalizar es el siguiente en ser ejecutado.


Un proceso en ejecución puede ser apropiado por un nuevo proceso con un tiempo estimado de ejecución menor.


Tiene mayor sobrecarga que la planificación SJF.


Debe mantener un registro del tiempo de servicio transcurrido del proceso en ejecución, lo que aumenta la sobrecarga.


Los trabajos largos tienen un promedio y una varianza de los tiempos de espera aún mayor que en SJF.


La apropiación de un proceso a punto de terminar por otro de menor duración recién llegado podría significar un mayor tiempo de cambio de contexto (administración del procesador) que el tiempo de finalización del primero.


Al diseñarse los Sistemas Operativos se debe considerar cuidadosamente la sobrecarga de los mecanismos de administración de recursos comparándola con los beneficios esperados.


3.3.4 Planificación del Trabajo Más Corto Primero (SJF)

Es una disciplina no apropiativa 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.5 Planificación el Siguiente con Relación de Respuesta Máxima (HRN)

Corrige algunas de las debilidades del SJF, tales como el exceso de perjuicio hacia los procesos (trabajos) largos y el exceso de favoritismo hacia los nuevos trabajos cortos.



Es una disciplina no apropiativa.


La prioridad de cada proceso está en función no sólo del tiempo de servicio del trabajo, sino que también influye la cantidad de tiempo que el trabajo ha estado esperando ser servido.


Cuando un proceso ha obtenido la cpu, corre hasta terminar.


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”:




3.4 MULTIPROCESAMIENTO PROCESADOR

Generalidades de Multiprocesadores.

 
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.







Distribución de Ciclos


Una “estructura de ciclos o de repetición” implica la repetición de una serie de proposiciones (cuerpo del ciclo) hasta que ocurre alguna condición de terminación, por ejemplo:



For i = 1 to 3
Do


El procesador secuencial realizará en secuencia lo siguiente:


• En un sistema de multiprocesamiento con tres procesadores disponibles se podrían


• Ejecutar concurrentemente.


• Reducción de la Altura del Arbol




Utilizando las propiedades asociativa, conmutativa y distributiva de la aritmética, los


compiladores pueden:




1. Detectar el paralelismo implícito en expresiones algebraicas.

2. Producir un código objeto para multiprocesadores que indique las operaciones que se pueden realizar simultáneamente.

3. Reordenar expresiones para que sean más apropiadas para la computación en paralelo.







3.5 CONCEPTOS BASICOS 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.




Como su nombre indica son aquellos sistemas operativos que están montados sobre ordenadores que están compuestos por más de un procesador, supongamos un PC que en vez de tener un Pentium, tuviera dos o más Pentium conectados entre si dentro de la misma placa base, esto sería un sistema multiprocesador.






CLASIFICACION POR USO DE LOS RECURSOS






  • Sistemas monoprogramados: Son los que solo permiten la ejecución de un programa en el sistema, se instalan en la memoria y permanecen allí hasta que termine su ejecución. Sistemas multiprogramados: Son aquellos que se basan en las técnicas de multiprogramación, existen dos tipos:

  • Multitarea apropiativa (preemptive): Se utiliza en sistemas operativos cuya gestión es quitar el control del microprocesador al programa que lo tiene.

  • Multitarea cooperativa: El programa tiene el control del microprocesador, el sistema operativo no puede decidir quien usa el microprocesador.

 
  • Sistemas de multiprocesamiento: Formado por varios microprocesadores. Depende del tipo de trabajo y los objetivos que debe cumplir cada sistema para dar el mejor servicio al usuario, se clasifican en:





  • Procesamiento por lotes (batch): Cada programa realiza un conjunto de pasos secuenciales relacionados entre si





  • Multiprocesamiento: Medios de multiprocesamiento que tienen más de un procesador que opera en la misma memoria pero ejecuta procesos simultáneamente. 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.






Sin embargo, es esencial proporcionar la sincronización entre procesador múltiple ellos tienen acceso a la memoria común tal que ninguna parte del trabajo de informática debería ser descuidada por el procesador individual con una presunción que el otro procesador lo hará.






Un sistema de multiprocesamiento con vario funcionamiento juntos a la vez proporcionará un ambiente de multiprogramación. La multiprogramación permite que programas múltiples residan en áreas separadas de la memoria principal al mismo tiempo. Con este acercamiento, es posible mantener dos o más empleos simultáneamente en la ejecución o en estados de la ejecución.






Los sistemas de ordenador de multiprocesador son caros y encontraron su uso sólo en la aplicación de informática compleja y en la alta velocidad que funda el punto aplicación de cálculo numérica en espacios de Investigación e Industria.