400 likes | 636 Views
Sistemas operativos. Unidad V. Administración del procesador. Planificación. Conceptos básicos. La planificación es un conjunto de políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutaran los trabajos.
E N D
Sistemas operativos Unidad V. Administración del procesador
Planificación • Conceptos básicos. • La planificación es un conjunto de políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutaran los trabajos. • El planificador es un módulo del S.O. que selecciona el siguiente trabajo que hay que ejecutar. • El objetivo primario del planificador es optimizar el rendimiento del S.O. de acuerdo con los criterios considerados más importantes por los diseñadores del sistema.
Tipos de planificadores. • En general, existen tres tipos diferentes de planificadores que pueden coexistir en un sistema operativo complejo: • Planificadores a corto plazo • Planificadores a medio plazo • Planificadores a largo plazo
Tipos de planificadores Un sistema operativo de grandes dimensiones podría soportar varios procesos de lotes (batch), como interactivos Cuando existe más de un tipo de planificador en un sistema operativo, la disponibilidad de soporte adecuado para comunicación e interacción es muy importante para conseguir un rendimiento satisfactorio y equilibrado.
Planificador a corto plazo. El planificador a corto plazo asigna el procesador a un proceso, este se selecciona dentro de un conjunto de procesos preparados residentes en memoria. Esta a cargo de las transiciones de estado del proceso de preparado a ejecución. El planificador a corto plazo debe ser invocado en cada conmutación de proceso para seleccionar el siguiente proceso a ejecutar. En la práctica, el planificador a corto plazo es invocado cada vez que un suceso (interno o externo) hace que se modifique el estado global del sistema.
Planificador a corto plazo. Algunos de los sucesos introducidos hasta ahora que provocan replanificación en virtud de su capacidad de modificar el estado global del sistemas son: • Tics de reloj (interrupciones basadas en el tiempo). • Interrupciones y terminaciones de E/S. • La mayoría de las llamadas operacionales al Sistema Operativo • El envío y recepción de señales. • La activación de programas interactivos.
Planificador a corto plazo. La suspensión de un proceso en ejecución, la modificación de la prioridad del proceso en ejecución, y la terminación o aborto de un proceso, son sucesos que pueden necesitar la selección de un nuevo proceso para ejecución. Los programas interactivos suelen entrar a la cola de preparados directamente después de ser remitidos al sistema operativo. El SO por lo general asigna alta prioridad a este tipo de procesos.
Planificador a medio plazo. El planificador a medio plazo tiene la misión demanejar los procesos bloqueados y retirados de memoria primaria y restaurarlos para continuar con su ejecución. Una vez que el proceso ha terminado de utilizar el procesador y requiere efectuar una operación de Entrada/salida, el planificador a medio plazo pasa el proceso a la cola de bloqueados, para que realice las operaciones de Entrada /salida requeridas. Si mientras esta bloqueado el proceso, el SO requiere liberar memoria principal, puede pasar el proceso junto con su entorno a la memoria virtual.
Planificador a medio plazo. El planificador a medio plazo se encarga de controlar el envió del proceso a memoria virtual y su correcto regreso a memoria primaria. Esto es, el planificador a medio plazo asigna la cantidad necesaria de memoria principal y recursos necesarios para dejar al proceso nuevamente preparado. Una vez desaparecida la condición de suspensión de un proceso, el planificador a medio plazo intenta asignarle la cantidad necesaria de memoria principal, incorporarlo a memoria y volverlo a dejar preparado.
Planificador a medio plazo. Tamaño real del proceso puede ser contabilizado en el momento de la retirada y almacenado posteriormente en el bloque de control del proceso afectado. El planificador a medio plazo controla las transiciones de suspendido a preparado de los procesosretirados.
Planificador a medio plazo. Un proceso en ejecución puede resultar suspendido al efectuar una petición de E/S o al emitir una llamada al sistema, a veces es beneficioso retirarlos de memoria principal para dejar sitio a otros proceso el permanecer residentes en memoria, puede llegar a reducirse hasta un nivel que afecta al funcionamiento del planificador a corto plazo dejándole pocas o ninguna opción de selección. Este problema puede quedar aliviado trasladando los procesos suspendidos a almacenamiento secundario (intercambio).
Planificador a largo plazo El objetivo primordial del planificador a largo plazoes proporcionar una mezcla equilibrada de trabajos. Cuando la utilización del procesador es baja, el planificador puede admitir más trabajos para incrementar el número de procesos que se hallen en la cola de preparados. Cuando el factor de utilización resulte alto y así lo refleje el deterioro del tiempo de respuesta, el planificador a largo plazo puede optar por reducir la frecuencia de admisión de los trabajos por lotes.
Planificador a largo plazo Trabaja con la cola de lotes y selecciona el siguiente trabajo de lotes a ejecutar Los lotes están generalmente reservados a programas de baja prioridad y de uso intensivo de recursos Los trabajos de lotes contienen también generalmente estimaciones asignadas por el programador o por el sistema con respecto a sus necesidades de recursos esto facilita la tarea del planificador a largo plazo.
Planificador a largo plazo • La frecuencia de invocación del planificador a largo plazo es por tanto dependiente del sistema y de la carga de trabajo. • Como resultado de su relativamente infrecuente ejecución y de la disponibilidad de una estimación de las características de la carga de trabajo, el planificador a largo plazo puede incorporar algoritmos relativamente complejos y computacionalmente intensivos para admitir trabajos al sistema.
Algoritmos de planificación En general, las disciplinas de planificación pueden ser expropiativas o no expropiativas. La no expropiación implica que el proceso en ejecución retiene la propiedad de los recursos asignados, incluido el procesador, hasta que voluntariamente ceda el control al sistema operativo.
Algoritmos de planificación Sin embargo, cuando el proceso en ejecución que suspendido como resultado de su propia acción, digamos por esperar la terminación de una operación de E/S, otro proceso preparado puede ser planificado. La planificación expropiativa, por otra parte, un proceso en ejecución puede ser sustituido por un proceso de mayor prioridad en cualquier instante.
Justicia e Injusticia Los algoritmos de planificación manejan el concepto de justicia e injusticia. Los proceso en general se dividen en procesos cortos y largos. Cuando los algoritmos dan prioridad y seden control a procesos cortos, se dice que son injustos con procesos largos y viceversa. A continuación se describen algunos de los algoritmos mas utilizados por los SO.
Algunos Algoritmos de planificación Shortest Job First ( SJF ). • La planificación SJF que significa: primeroel trabajo más corto. favoreciendo los trabajos cortos, En la práctica su aplicación depende de la precisión en predecir el comportamiento del trabajo y del proceso. SRTN (Shortest Remaining Time Next) • SRTN. A continuación el de menor tiempo restante. una vez planificado un trabajo seleccionado sigue ejecutándose hasta su terminación, también se llama por lotes.
Algunos Algoritmos de planificación First-In, First-Out. (FIFO) Primeras entradas primeras salidas ejecuta cada proceso hasta que termina. Las características de esta política son: • No es apropiativa. • Es justa aunque los procesos largos hacen esperar mucho a los cortos. • Es predecible. • El tiempo medio de servicio es muy variable en función del número de procesos y su duración. .
Algunos Algoritmos de planificación Round Robin (RR) Consiste en distribuir el procesador en forma uniforme entre los distintos procesos, dándole a cada uno cierta fracción de tiempo llamada quantum. El método de reciclaje en varias colas La idea es definir diferentes colas, una para cada tipo de programa (largos y cortos). Todo proceso que entra al sistema va a la cola 1 (asociada a procesos cortos) en donde permanece un tiempo máximo. Si transcurrido el tiempo no ha terminado su ejecución ni realizado una entrada/salida pasa a la cola 2 y así sucesivamente a las demás colas.
Algunos Algoritmos de planificación Si el proceso hace una entrada/salida sale de la cola y cuando ésta se termine se coloca al final de ella. Usualmente, cada cola se sirve por el método de FIFO y la última por el reciclaje. Los procesos largos y los intensivos en uso del procesador van a la última cola y permanecen allí. Las otras colas indican el tiempo que lleva el proceso en el sistema. Además se establece el quantum va aumentando a media que crece el número de la cola. Esta política concede prioridad a los procesos largos, para evitar estancamientos.
Algunos Algoritmos de planificación Dar varias vueltas en la cola 1 asignando el procesador a sus procesos (utilizando reciclaje) antes de asignar a los de la cola 2, y repetir el proceso para la cola 2. Asignar el procesador a los procesos de la cola 1 mientras ésta no esté vacía, y continuar después con los de la cola 2, etc. Ésta política puede llevarse hasta el extremo de retirarle el procesador a un proceso cuando llega otro de una cola menor.
Algunos Algoritmos de planificación Shortest Job Next (SJN) • Esta política toma de la cola de procesos preparados el que necesite menos tiempo de ejecución para realizar su trabajo. • La información suministrada por el propio usuario, por el propio programa, basándose en la historia anterior.
Algunos Algoritmos de planificación • Shortest Job Next (SJN) • Las características son: • No es apropiativa. • El tiempo de espera aumenta desacuerdo con la longitud de los procesos, pero el tiempo medio de espera con respecto a otras políticas es óptimo. • Es poco predecible. • No es justa con los procesos largos. • Buen tiempo de servicio. • Resulta difícil de poner en practica por los datos que necesita para realizarse la planificación
Algunos Algoritmos de planificación Shortest Remaning Time (SRT). • Es una mezcla de los dos anteriores. Elige al proceso con un menor tiempo de procesamiento. Shortest Remaining Processing Time (SRPT). • Este se utiliza si se trata de un sistema con retiro de procesador, que es similar al anterior pero puede quitar el procesador cuando venga otro más prioritario.
Algunos Algoritmos de planificación Shortest Remaining Processing Time (SRPT). • Sus características son : • Es una variante de SJN, para hacerla apropiativa. • Puede ser injusta, ya que un proceso corto puede echar a uno largo que esté haciendo uso del procesador y que además esté terminando. • Presenta una mayor sobrecarga. • Excelente tiempo medio de servicio. • Es muy eficiente.
Algunos Algoritmos de planificación Highest Reponse Ratio Next (HRRN). • trata de corregir las posibles injusticias de la políticas SJN con los procesos cortos y las de FIFO con los largos. Se basa en hacer la prioridad del uso del procesador por parte de un proceso, calculándola constantemente. por medio de la expresión: P es la prioridad del proceso. w es el tiempo de espera en la cola de procesos preparados. t es el tiempo de ejecución del proceso. P = w+t t
Algoritmos de planificación Inconvenientes : • Si un proceso corto llega inmediatamente después de que el largo ha comenzado tendrá que sufrir una larga espera. • Es muy costosa de llevar a la practica, ya que la prioridad debe calcularse para todos los procesos en espera, cada vez que termine el proceso que está haciendo uso del procesador. Sobrecarga mucho el sistema debido a los cálculos que debe realizar.
Multiprocesamiento Un multiprocesador es una maquina con dos o más (normalmente idénticos) procesadores centrales que comparten una memoria de alta velocidad. Multiprocesamiento: son dos o más computadoras procesando juntas; las computadoras de multiprocesamiento están unidas mediante un canal de alta velocidad y comparten entre ellas la carga general de trabajo, en caso de que una falle la otra se ocupa del trabajo
Paralelismo A fin de hacer más rápidas las computadoras, los diseñadores han reducido cada vez más el tamaño de los elementos básicos de los circuitos integrados para acortar la distancia que debe recorrer la información y así disminuir el tiempo de procesamiento. Supercomputadoras que emplean varios microprocesadorespara procesar la información en paralelo.
Paralelismo Las nuevas computadoras en paralelo cuentan con muchas pastillas pequeñas de cómputo que trabajan en colaboración a fin de realizar millones de operaciones aritméticas por segundo. El paralelismo ó programación en paralelo se refiere a varias técnicas que hacen que se realicen varias operaciones simultáneas dentro de las computadora.
Sistemas de multiprocesamiento Los propósitos principales del multiprocesamiento: • Aumentar la confiabilidad y la disponibilidad del potencial de computación. • Reducir costos generales y simplificar el sistema operativo dedicando procesadores individuales a tareas especificas. • Aumentar la velocidad de procesamiento mas allá de la obtenible con un sólo procesador de un tipo dado, o empujar las velocidades mas allá de los limites en la tecnología de hardware.
Sistemas de multiprocesamiento Sila memoria de alta velocidad es demasiado grande para un solo procesador central multiprogramado, entonces una gran parte de la memoria de alta velocidad puede estar dedicada a trabajos que esperan el procesador central en vez de E/S. Si la memoria de alta velocidad es demasiado grande para un solo procesador central multiprogramado, entonces una gran parte de la memoria de alta velocidad puede estar dedicada a trabajos que esperan el procesador central en vez de E/S.
Sistemas de multiprocesamiento Alternativamente, todas las CPU pueden hacer el procesamiento en-tanda, mientras que algunas, o todas efectúan spooling simultáneamente; esto se llama nivelamiento de carga.
Organización del multiprocesador • Sistema conmutador en travesaños.-Con este sistema n procesadores idénticos pueden tener acceso por medio de la trayectoria de múltiples cables a m módulos de memoria idénticos. • Sistema conectado por conductos múltiples.-Cada procesador tiene acceso a cualquiera de los módulos de minoría a través de sus propios conductos. • Sistema de conducto de tiempo compartido.- Todos los circuitos en la memoria son compartidos por todos los procesadores, produciendo un costo más bajo.
Sistema operativo de multiprocesador. • De asignar recursos, tales como ciclos CPU y memoria, además de asignar propiedades para que cada programa reciba la atención adecuada. A los trabajos urgentes se les concede más grandes y/o más frecuentes periodos de tiempo de CPU, sin descuidar los trabajos menores • Un programa que espera la entrada del usuario, por ejemplo, puede suspenderse, independientemente de la prioridad, recuerde que, entre cada uno de sus teclados tentativos, la CPU a 450 Mhz. es capaz de realizar muchos millones de ciclos útiles. • RAM es un recurso muy importante que el sistema operativo necesita asignarse y manejarse con economía
La mayor parte, si no es que todo el Kernel del Sistema Operativo, también debe residir en el RAM • Cuántos programas pueden coexistir en la memoria primaria depende de la cantidad de RAM y del tamaño de código objeto. • los programas extraídos se pueden transferir desde el disco hacia la RAM, se ha dedicado mucha investigación al arte de planificar y extraer, • Las operaciones de I-O del disco son relativamente mucho más lentas que la lectura y la escritura de la RAM
. Los contextos son en realidad fotografías del contador del programa y los registros del CPU; el Sistema Operativo guarda los contextos y los restaura regularmente, en la medida en la que se conmutan los programas. • Esto apoya el viejo adagio que dice “Usted nunca tiene demasiada memoria RAM”.