Você está na página 1de 13

Conceptos bsicos de Job Scheduling Un planificador de tareas es una aplicacin de software que se encarga de las ejecuciones desatendidas comnmente

conocido por razones histricas como del procesamiento por lotes. Los sinnimos son lote sistema, Sistema de Gestin de Recursos Distribuidos (SGDD), y Distributed Resource Manager (DRM). Hoy en da el trabajo de programadores suelen ofrecer una interfaz grfica de usuario y un nico punto de control para la definicin y el seguimiento de las ejecuciones en el fondo de una red distribuida de computadoras. Cada vez ms programadores estn obligados a organizar la integracin de los negocios en tiempo real con las actividades tradicionales de transformacin de fondo que, a travs de diferentes plataformas de sistemas operativos y entornos de aplicaciones de negocio PLANEACION DE TRABAJOS (JOB SCHEDULING) Objetivo de la planificacin: Minimizar el tiempo de espera y minimizar el tiempo de respuesta. La planificacin (scheduling) es la base para lograr la multiprogramacin. Un sistema multiprogramado tendr varios procesos que requerirn el recurso procesador a la vez. Esto sucede cuando los procesos estn 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 eleccin del proceso es llamada planificador (scheduler). La planificacin hace referencia a un conjunto de polticas Y mecanismos incorporados a sistemas operativos que gobiernan el orden en que se ejecutan los trabajos. Un planificador es un mdulo 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 planificacin se divide en tres funciones independientes: planificacin a largo, medio, y corto plazo. 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 ejecucin, 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 recin 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 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 divisin 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 apropiacin se mantiene baja mediante mecanismos eficientes de intercambio de contexto y con suficiente memoria principal para los procesos. Caractersticas: Fcil 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 inanicin. El valor mnimo del quantum debe ser (10 * Tiempo Cambio Contexto ) El quantum ms adecuado es el Tiempo de CPU del proceso ms corto. SHORTEST JOB FIRST (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 ejecucin hasta su terminacin 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 nmero de procesos en espera y el nmero de procesos que esperan detrs de procesos largos. Requiere un conocimiento preciso del tiempo de ejecucin de un proceso, lo que generalmente se desconoce. Se pueden estimar los tiempos en base a series de valores anteriores. SHORTEST REMAINING TIME (STR) Esta disciplina elige siempre al proceso que le queda menos tiempo de ejecucin estimado para completar su ejecucin; de esta forma aunque un proceso requiera mucho tiempo de ejecucin, a medida que se va ejecutando ira avanzando en la lista de procesos en estado listo hasta llegar a ser el primero. Para realizar esta eleccin, es necesario actualizar el PCB de los procesos a medida que se le asigna tiempo de servicio, lo que supone una mayor sobrecarga adicional. 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 ejecucin estimado menor. Este algoritmo es la versin no apropiativa o espulsiva del algoritmo Shortest Process Next (SPN) o tambin llamado Shortest Job First (SJF). En el algoritmo Shortest Remaining Time, el planificador selecciona el proceso ms corto, al igual que antes, pero en este caso el cambio se controla cada vez que un proceso llega a la cola. Es decir, cuando un proceso se desbloquea o se crea uno nuevo y el tiempo de rfaga es menor que el tiempo de rfaga del proceso que se est ejecutando, entonces se realiza un cambio de contexto, el bloqueado se ejecuta y el que se estaba ejecutando pasa a la cola de procesos listos. De este modo cuando se desbloquea o entra un proceso nuevo, se calcula su tiempo de rfaga. Si el proceso que se est ejecutando le queda ms tiempo de rfaga que nuestro tiempo de rfaga calculado entonces se procede a realizar el cambio de contexto. Definicin: Algoritmo apropiativo (que en cualquier momento se le puede quitar la CPU para asignrsela 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. Caractersticas: 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 inanicin.

HIGHEST RESPONSE RATIO NEXT (HRN) Definicin: Algoritmo apropiativo parecido al SRT consistente en calcular el Reponse Ratio (Ratio de respuesta) para asignar la CPU a procesos ms viejos. (Para evitar la inanicin). Caractersticas: Es muy productivo pero se sobrecarga el sistema. Ofrece un buen tiempo de respuesta. Equilibra los procesos, aunque da prioridad a los procesos ms cortos. Evita la inanicin (los procesos que envejecen sern ejecutados). 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 planificacin no apropiativa en la cual la prioridad de cada proceso no slo se calcula en funcin del tiempo de servicio, sino tambin del tiempo que ha esperado para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las prioridades dinmicas en HRN se calculan de acuerdo con la siguiente expresin: Prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio. Como el tiempo de servicio aparece en el denominador, los procesos cortos tendrn preferencia. Pero como el tiempo de espera aparece en el numerador, los procesos largos que han esperado tambin tendrn un trato favorable. Obsrvese 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 adems de dar preferencia a los procesos cortos tambin tiene en cuenta el envejecimiento de los procesos para evitar as la inanicin. Cuando el proceso actual termina o se bloquea, se elige el proceso listo con un mayor valor de R. La decisin de planificacin se basa en una estimacin del tiempo de retorno normalizado. Este mtodo es atractivo porque tiene en cuenta la edad del proceso. Aunque se favorece a los trabajos ms cortos (un denominador menor produce una razn mayor), el envejecimiento de un proceso sin que haya sido servido incrementa el

valor de la razn, de forma que los procesos ms largos puedan pasar, en competicin con los ms cortos. El tiempo esperado de servicio debe estimarse antes de emplear la tcnica de la mayor tasa de respuesta.7 MULTIPROCESAMIENTO Generalidades de Multiprocesadores. Un multiprocesador se define como una computadora que contiene dos o ms unidades de procesamiento que trabajan sobre una memoria comn bajo un control integrado. Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simtrico; en el otro caso hablamos de multiprocesamiento asimtrico. Si un procesador falla, los restantes continan operando, lo cual no es automtico y requiere de un diseo cuidadoso. Un procesador que falla habr de informarlo a los dems 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 tambin debe ajustar sus estrategias de asignacin de recursos para evitar la sobrecarga del sistema que est degradado. Distribucin de Ciclos Una estructura de ciclos o de repeticin implica la repeticin de una serie de proposiciones (cuerpo del ciclo) hasta que ocurre alguna condicin de terminacin, 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 podran ejecutar concurrentemente. Reduccin de la Altura del Arbol utilizando las propiedades asociativa, conmutativa y distributiva de la aritmtica, los Compiladores pueden: 1. Detectar el paralelismo implcito en expresiones algebraicas. 2. Producir un cdigo objeto para multiprocesadores que indique las operaciones

que se pueden realizar simultneamente. 3. Reordenar expresiones para que sean ms apropiadas para la computacin en paralelo. SISTEMAS MULTIPROCESAMIENTO INTRODUCCION A pesar de las grandes mejoras acaecidas en monoprocesadores para algunas aplicaciones no es suficiente. Dos factores clave para la extensin de los Multiprocesadores 1. Flexibilidad: El mismo sistema puede usarse para un nico usuario incrementado el rendimiento en la ejecucin de una nica aplicacin 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 drsticamente. La inversin ms fuerte se hace en la memoria y la red de interconexin. Como su nombre indica son aquellos sistemas operativos que estn montados sobre ordenadores que estn compuestos por ms de un procesador, supongamos un PC que en vez de tener un Pentium, tuviera dos o ms Pentium conectados entre si dentro de la misma placa base, esto sera un sistema multiprocesador. CLASIFICACION POR USO DE LOS RECURSOS Sistemas monoprogramados: Son los que solo permiten la ejecucin de un programa en el sistema, se instalan en la memoria y permanecen all hasta que termine su ejecucin. Sistemas multiprogramados: Son aquellos que se basan en las tcnicas de multiprogramacin, existen dos tipos: Multitarea apropiativa (preemptive): Se utiliza en sistemas operativos cuya gestin 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 ms de un procesador que opera en la misma memoria pero ejecuta procesos simultneamente. En un sistema de multiprocesamiento procesadores mltiples son empleados a ejecutado ms de una actividad en el tiempo, siempre que la informtica masiva deba ser realizada con regularidad. Multiprocesador. Como muchas de las actividades principales de la informtica se ejecutan simultneamente por los procesadores diferentes. Sin embargo, es esencial proporcionar la sincronizacin entre procesador mltiple ellos tienen acceso a la memoria comn tal que ninguna parte del trabajo de informtica debera ser descuidada por el procesador individual con una presuncin que el otro procesador lo har. Un sistema de multiprocesamiento con vario funcionamiento juntos a la vez proporcionar un ambiente de multiprogramacin. La multiprogramacin permite que programas mltiples residan en reas separadas de la memoria principal al mismo tiempo. Con este acercamiento, es posible mantener dos o ms empleos simultneamente en la ejecucin o en estados de la ejecucin. Los sistemas de ordenador de multiprocesador son caros y encontraron su uso slo en la aplicacin de informtica compleja y en la alta velocidad que funda el punto aplicacin de clculo numrica en espacios de Investigacin e Industria. PARALELISMO El paralelismo consiste en ejecutar ms instrucciones en menos tiempo, aunque las instrucciones sigan tardando lo mismo en ejecutarse, mediante un simple truco, aunque algo difcil de explicar en detalle. Intentmoslo. Un microprocesador ejecuta instrucciones de cdigo mquina. Estas instrucciones le dicen como tiene que ir modificando diferentes posiciones de memoria, y como debe ir modificando el flujo de ejecucin. Se tiende a pensar, errneamente, que un procesador con un reloj a 200 MHz (200 millones de ciclos por segundo) ejecuta 200 millones de estas operaciones por segundo. Esto no es as, por una sencilla razn. Una instruccin no se ejecuta en un solo ciclo de reloj, salvo alguna rara excepcin. De hecho, algunas instrucciones tardan bastantes ms ciclos, llegando algunas a necesitar 50 o ms ciclos para completarse. En cambio, las ms rpidas se ejecutan en tan slo 3 o 4 ciclos de reloj. Aqu es donde entra el paralelismo para solucionar este problema. Se puede dividir cualquier instruccin en fases ms o menos comunes a todas: -fetch (carga de la instruccin desde la memoria al procesador) -decodificacin (identificacin de qu instruccin nos hemos encontrado) -carga de operandos -operacin en s

-escritura de resultados Este esquema, expresamente simplificado, nos da una idea de las fases que todo microprocesador tiene. Vamos a suponer un microprocesador ideal donde todas las operaciones que se pueden ejecutar en l tardan 15 ciclos, correspondientes a tres ciclos por cada una de las 5 fases que hemos descrito. Si ejecutramos tres de estas operaciones sin ningn tipo de paralelismo, tardaramos 45 ciclos, segn el siguiente esquema: instr.1:111222333444555 instr.2:_________111222333444555 instr. 3:________111222333444555 Ahora supongamos que somos capaces de dividir el microprocesador en circuitos separados capaces cada uno de trabajar independientemente y ejecutar cada una de las 5 fases anteriores. Si logramos que sean independientes, cuando la instruccin uno ha acabado ya la fase de fetch y pasa a la decodificacin, deja libre el mdulo que se encarga del fetch, donde puede ir ya ejecutndose la segunda instruccin. De esta forma, logramos paralelizar las instrucciones. instr.1111222333444555 instr.2:___111222333444555 instr. 3:______111222333444555 Resultado: las tres instrucciones, por separado, siguen ejecutndose en el mismo tiempo, pero en conjunto ya no tardan 45 ciclos, sino solo 21 ciclos. Ms de un 45% de incremento en el rendimiento. De esta forma es como algunos procesadores muy paralelizados logran ejecutar, en promedio, ms de una instruccin por ciclo de reloj, aunque estas instrucciones tarden, por s mismas, ms de un ciclo en ejecutarse. En la realidad, como siempre, no todo es tan fcil y hay muchos problemas al disear un procesador con paralelismo. Por citar algunos de los problemas ms comunes, hay veces que una instruccin no se puede ejecutar ya que requiere un dato que quizs calculaba la operacin anterior (cosa muy habitual). Claro, si ante este problema detuviramos la anterior instruccin, bloqueara el procesador y se acabara el paralelismo hasta que acabara la primera instruccin y con ella se pudiera reanudar la segunda. Para evitar estos problemas se recurre a cortocircuitos, o lo que es lo mismo, se comunican diferentes fases del microprocesador internamente para pasarse antes los datos. Esto, sin embargo, tambin nos da otros problemas, ya mucho ms complicados, como el encontrarnos con que hay que decidir que datos son los correctos en cada momento. En estos problemas ya no entraremos, y se podran resumir en que el procesador ha de decidir como paralelizar las instrucciones. Bien, todo lo que hemos visto sobre el paralelismo involucra nica y exclusivamente al microprocesador en s, y ms bien a su diseo. El software que se ejecuta sobre l ignora totalmente si hay paralelismo o no. Esto es el paralelismo implcito.

Por el contrario, Intel implementa una solucin que de hecho ya deriva de ideas de principios de los aos 80. En el paralelismo explcito, el procesador ya no es el que decide cmo paralelizar las instrucciones, sino que es el compilador del software el que ha empaquetado las instrucciones para que el microprocesador pueda ejecutarlas paralelamente sin tantos problemas. De hecho, esta manera es mucho ms eficiente, porque el compilador tiene todo el tiempo del mundo para decidir cmo paralelizar y por supuesto, la lgica que puede aplicar es infinitamente ms potente que la que podemos encontrar implementada en cualquier microprocesador. Esto tambin redunda en una simplificacin de la circuitera de control del microprocesador, lo que permite acelerar an ms las instrucciones. Adems, queda libre ms espacio para incluir an ms registros y hacer los buses internos ms anchos, lo que permite ejecutar an ms instrucciones en paralelo. Paralelismo en software Definamos como paralelismo en software como la ejecucin de un programa sin tomar en cuenta el hardware con que va ser ejecutado. El paralelismo en software es considerado como el caso ideal de la ejecucin de las instrucciones que forman parte de un programa, ya que no toma en cuenta las limitantes del hardware con que el mismo va ser ejecutado. Paralelismo en hardware Definamos como paralelismo en hardware como la ejecucin de un programa tomando en consideracin el hardware con que va a ser ejecutado. El diagrama de paralelismo en Software representa el caso ideal con que dicho programa puede ser ejecutado. Ntese que la ejecucin de las 8 instrucciones se realiza solamente en tres ciclos de mquina. Por otro lado podemos observar las limitantes que genera la ejecucin de este mismo programa con un hardware en particular (procesador Superescalar con capacidad de ejecutar un acceso a la memoria y una operacin aritmtica simultneamente) obteniendo 6 ciclos de maquina para ejecutar el programa. Tomando como base este ejemplo, la ejecucin paralela de las instrucciones de un programa se mide mediante el parmetro conocido como Promedio de Ejecucin Paralela de instrucciones (PEP). Este parmetro se define como la relacin entre el nmero de instrucciones del programa y el nmero de ciclos de mquina realizados en su ejecucin. Su expresin matemtica es: PEP = No. de Instrucciones / No. de Ciclos de Mquina Por consiguiente, el promedio de ejecucin paralela de instrucciones en software para este ejemplo es: 8/3 = 2,667 y el promedio de ejecucin paralela de instrucciones en hardware es: 8/6 = 1,333. El desarrollo de hardware y software es un proceso integral que busca soluciones que permitan satisfacer cada vez ms las condiciones de paralelismo con el fin de incrementar el promedio de ejecucin paralela de instrucciones. Para lograr este objetivo es necesario detectar y resolver las dependencias entre instrucciones. El proceso de deteccin y resolucin de dependencias entre instrucciones se conoce como el proceso de planificacin de instrucciones. Cuando la planificacin de

instrucciones es llevada a cabo nicamente por el compilador se dice que la planificacin de instrucciones es esttica. Y cuando la planificacin de instrucciones es llevada a cabo nicamente por hardware (Ejemplo: microprocesador) se dice que la planificacin de instrucciones es dinmica. La planificacin de instrucciones en los microprocesadores sper escalares es un proceso de planificacin de instrucciones esttico y dinmico. Las tcnicas estticas de planificacin de instrucciones estn compuestas por tres grupos: Planificacin de instrucciones de bloques de un programa, Planificacin de instrucciones de lazos iterativos continuos y planificacin de instrucciones global. La tcnica de bloques consiste en dividir un programa en bloques para luego detectar y resolver solamente las dependencias entre las instrucciones de cada bloque. Esta tcnica es la mas utilizada en los ltimos 20 aos ya que es la ms simple de implementar. La tcnica de lazos iterativos consiste planificar las instrucciones que forman parte de los lazos continuos de un programa. Esta tcnica esta compuesta bsicamente por dos tcnicas: Unrolling y Software Pipeline. Y por ultimo la tcnica global consiste en planificar todas las instrucciones que forman parte de un programa. CLASIFICACION POR USO DE LOS RECURSOS Sistemas monoprogramados: Son los que solo permiten la ejecucin de un programa en el sistema, se instalan en la memoria y permanecen all hasta que termine su ejecucin. Sistemas multiprogramados: Son aquellos que se basan en las tcnicas de multiprogramacin, existen dos tipos: Multitarea apropiativa (preemptive): Se utiliza en sistemas operativos cuya gestin 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 ORGANIZACIN DEL HARDWARE DEL MULTIPROCESADOR El problema clave es determinar los medios de conexin de los procesadores mltiples y los procesadores de Entrada / Salida a las unidades de almacenamiento.

Los multiprocesadores se caracterizan por los siguientes aspectos: Un multiprocesador contiene dos o ms procesadores con capacidades aproximadamente comparables. Todos los procesadores comparten el acceso a un almacenamiento comn y a canales de Entrada / Salida, unidades de control y dispositivos. Todo est controlado por un Sistema Operativo que proporciona interaccin entre procesadores y sus programas en los niveles de trabajo, tarea, paso, archivo y elementos de datos. Las organizaciones ms comunes son las siguientes: Tiempo compartido o bus comn (conductor comn). Matriz de barras cruzadas e interruptores. Almacenamiento de interconexin mltiple. Tiempo Compartido o Bus Comn (o Conductor Comn) Usa un solo camino de comunicacin entre todas las unidades funcionales El bus comn 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 seales de control recibidas de la unidad emisora. Es una organizacin econmica, simple y flexible pero con una sola va de comunicacin, por lo cual: El sistema falla totalmente si falla el bus. La tasa neta de transmisiones est limitada por la tasa neta de transmisin del conductor. La contencin por el uso del bus en un sistema sobrecargado puede ocasionar una seria degradacin. Matriz de Barras Cruzadas e Interruptores En este caso existe un camino diferente para cada unidad de almacenamiento, por lo cual las referencias a dos unidades diferentes de almacenamiento no son bloque antes sino simultneas y la multiplicidad de caminos de transmisin puede proporcionar tasas de transferencia muy altas Almacenamiento de Interconexin Mltiple Se obtiene al sacar las lgicas de control, de conmutacin y de arbitraje de prioridades fuera del interruptor de barras cruzadas se las coloca en la interfaz de cada unidad de almacenamiento

Cada unidad funcional puede acceder a cada unidad de almacenamiento, pero slo en una conexin de almacenamiento especfica, es decir que hay una conexin de almacenamiento por unidad funcional. El conexionado es ms complejo que en los otros esquemas. Se puede restringir el acceso a las unidades de almacenamiento para que no todas las unidades de procesamiento las accedan, en tal caso habr unidades de almacenamiento privadas de determinados procesadores Sistema Operativo de Multiprocesadores Las capacidades funcionales de los Sistema Operativo de multiprogramacin y de multiprocesadores incluyen lo siguiente: Asignacin y administracin de recursos. Proteccin de tablas y conjuntos de datos. Prevencin contra el nter bloqueo del sistema. Terminacin anormal. Equilibrio de cargas de Entrada / Salida. Equilibrio de carga del procesador. Reconfiguracin. Las tres ltimas son especialmente importantes en Sistemas Operativos de multiprocesadores, donde es fundamental explotar el paralelismo en el hardware y en los programas y hacerlo automticamente. Las organizaciones bsicas de los Sistemas Operativos para multiprocesadores son las siguientes: Maestro / satlite. Ejecutivo separado para cada procesador. Tratamiento simtrico (o annimo) para todos los procesadores. Maestro / Satlite - Es la organizacin ms fcil de implementar. No logra la utilizacin ptima del hardware dado que slo el procesador maestro puede ejecutar el Sistema Operativo y el procesador satlite slo puede ejecutar programas del usuario. Las interrupciones generadas por los procesos en ejecucin en los procesadores satlites que precisan atencin del Sistema Operativo deben ser atendidas por el procesador maestro y por ello pueden generarse largas colas de requerimientos pendientes. Ejecutivos Separados - Cada procesador tiene su propio Sistema Operativo y responde a interrupciones de los usuarios que operan en ese procesador. Existen tablas de control con informacin global de todo el sistema (por ejemplo, lista de procesadores conocidos por el Sistema Operativo) a las que se debe acceder utilizando exclusin mutua. Es ms confiable que la organizacin maestro / satlite. Cada procesador controla sus propios recursos dedicados.

La reconfiguracin de los dispositivos de Entrada / Salida puede implicar el cambio de dispositivos a diferentes procesadores con distintos Sistemas Operativos. La contencin sobre las tablas del Sistema Operativo es mnima. Los procesadores no cooperan en la ejecucin de un proceso individual, que habr sido asignado a uno de ellos. Tratamiento Simtrico - Es la organizacin ms complicada de implementar y tambin la ms poderosa y confiable. El Sistema Operativo administra un grupo de procesadores idnticos, donde cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y cualquiera puede referenciar a cualquier unidad de almacenamiento. El Sistema Operativo precisa cdigo reentrarte y exclusin mutua. Es posible equilibrar la carga de trabajo ms precisamente que en las otras organizaciones. Adquieren significativa importancia el hardware y el software para resolucin de conflictos. Todos los procesadores pueden cooperar en la ejecucin de un proceso determinado. El procesador ejecutivo es el responsable (uno slo) en un momento dado de las tablas y funciones del sistema; as se evitan los conflictos sobre la informacin global.

Você também pode gostar