Está en la página 1de 50

INTRODUCCION.

La administracin del procesador es, prcticamente, el tema central de la multiprogramacin. Esta administracin involucra las distintas maneras a travs de las cuales el Sistema Operativo comparte el recurso procesador entre distintos procesos que estn compitiendo por su uso. Esto implica directamente la multiprogramacin y conlleva simultneamente la sincronizacin de los mismos. La idea de administrar el procesador eficientemente est enfocada en dos aspectos: el primero es la cantidad de procesos por unidad de tiempo que se pueden ejecutar en un sistema; y el segundo, el que importa ms al usuario, es el tiempo de respuesta de esos procesos.

- Cantidad de Procesos por Unidad de Tiempo (throughput) - Tiempo de Respuesta (turnaround time)

La idea de repartir el recurso procesador entre distintos procesos se debe a que tenemos la posibilidad de utilizar el tiempo de procesador abandonado por un proceso para que lo pueda usar otro. O sea aprovechar los tiempos muertos de un determinado proceso para que se puedan ejecutar otros. Estos tiempos muertos se producen porque existen otras actividades que estn desarrollndose sobre cierto proceso. Esas otras actividades generalmente son de E/S, y esto es posible porque existe algo que est ayudando a realizar esa E/S, es decir, existen canales o procesadores de E/S que ayudan a descargar del procesador central esa actividad.

3. ADMINISTRACIN DEL PROCESADOR.


Administracin del Procesador: se encarga de seleccionar el proceso en turno a ser ejecutado en el CPU. La planificacin del procesador determina cundo deben asignarse los procesadores a cules procesos. Se consideran tres niveles importantes de planificacin, los que se detallan a continuacin (Figura 1): Planificacin de alto nivel tambin se denomina Planificacin de trabajos: Determina a qu trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificacin de admisin. Planificacin de nivel intermedio: Determina a qu procesos se les puede permitir competir por la cpu. Responde a fluctuaciones a corto plazo en la carga del sistema y efecta "suspensiones" y "activaciones" ("reanudaciones") de procesos. Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema. Planificacin de bajo nivel: 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. La efecta el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.
2

1
Los objetivos de la planificacin del procesador son los siguientes e involucran a los conceptos detallados a continuacin: Ser justa: Todos los procesos son tratados de igual manera. Ningn proceso es postergado indefinidamente. Maximizar la capacidad de ejecucin: Maximizar el nmero de procesos servidos por unidad de tiempo. Maximizar el nmero de usuarios interactivos que reciban unos tiempos de respuesta aceptables: En un mximo de unos segundos. Ser predecible:
3

Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema. Minimizar la sobrecarga: No suele considerarse un objetivo muy importante. Equilibrar el uso de recursos: Favorecer a los procesos que utilizarn recursos infrautilizados. Equilibrar respuesta y utilizacin: La mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan, pero la utilizacin total de recursos podr ser pobre. Evitar la postergacin indefinida: Se utiliza la estrategia del "envejecimiento". Mientras un proceso espera por un recurso su prioridad debe aumentar, as la prioridad llegar a ser tan alta que el proceso recibir el recurso esperado. Asegurar la prioridad: Los mecanismos de planificacin deben favorecer a los procesos con prioridades ms altas. Dar preferencia a los procesos que mantienen recursos claves: Un proceso de baja prioridad podra mantener un recurso clave, que puede ser requerido por un proceso de ms alta prioridad. Si el recurso es no apropiativo, el mecanismo de planificacin debe otorgar al proceso un tratamiento mejor del que le correspondera normalmente, puesto que es necesario liberar rpidamente el recurso clave.
4

Dar mejor tratamiento a los procesos que muestren un "comportamiento deseable": Un ejemplo de comportamiento deseable es una tasa baja de paginacin. Degradarse suavemente con cargas pesadas: Un mecanismo de planificacin no debe colapsar con el peso de una exigente carga del sistema. Se debe evitar una carga excesiva mediante las siguientes acciones: No permitiendo que se creen nuevos procesos cuando la carga ya es pesada. Dando servicio a la carga ms pesada al proporcionar un nivel moderadamente reducido de servicio a todos los procesos. La mayora de estos objetivos se encuentra en conflictos recprocos por lo que la planificacin es un problema bastante complejo. Para poder lograr sus metas, un mecanismo de planificacin debe considerar: la limitacin por entrada/salida o por CPU de un proceso, si este es interactivo o por lotes, la urgencia de una respuesta rpida, la prioridad de cada proceso, la tasa de generacin de fallas de pgina de cada proceso de alta prioridad, las prioridades de los procesos que esperan recursos ya asignados, el tiempo que ha estado esperando cada proceso, el tiempo de ejecucin acumulado de cada proceso y el tiempo estimado para que finalice cada proceso. Las Disciplinas de Planificacin pueden ser Apropiativas o No Apropiativas (Tabla 1).

Disciplina "Apropiativa"

Descripcin Una vez que se le ha otorgado la cpu a un proceso, le puede ser retirada Una vez que se le ha otorgado la cpu a un proceso, no le puede ser retirada

"No Apropiativa"

Tabla 1: Disciplinas de planificacin del procesador. Las principales caractersticas de la planificacin apropiativa son las siguientes: Es til cuando los procesos de alta prioridad requieren atencin rpida. Es importante para garantizar buenos tiempos de respuesta en sistemas interactivos de tiempo compartido. Tiene su costo en recursos, ya que el intercambio de contexto implica sobrecarga y adems requiere mantener muchos procesos en el

almacenamiento principal, en espera de la cpu, lo que tambin implica sobrecarga.

Las principales caractersticas de la planificacin no apropiativa son las siguientes: Significa que los trabajos "largos" hacen esperar a los trabajos "cortos". Logra ms equidad en el tratamiento de los procesos. Logra hacer ms predecibles los tiempos de respuesta puesto que los trabajos nuevos de prioridad alta no pueden desplazar a los trabajos en espera. La planificacin apropiativa es importante en los sistemas de multiprogramacin en los cuales algunos procesos deben recibir una respuesta rpida, y es especialmente importante en los sistemas de tiempo real y de tiempo compartido. El diseo de un mecanismo apropiativo hace necesario considerar las arbitrariedades de casi cualquier esquema de prioridades, en razn de que muchas veces las propias prioridades no son asignadas de forma significativa.
6

El cronometro de intervalos o reloj de interrupciones es muy til en los sistemas apropiativos. Al expirar el intervalo de tiempo asignado, el reloj genera una interrupcin que ocasiona la asignacin del procesador al sistema operativo: el cual puede entonces despachar el siguiente proceso. Las prioridades estticas se mantienen constantes mientras dura el proceso: las prioridades dinmicas cambian en respuesta a los cambios en las condiciones del sistema. Primeras entradas primeras salidas (PEPS) es una disciplina no apropiativa en la cual los procesos se despachan de acuerdo con su orden de llegada a la lista de procesos listos, esta disciplina es usada frecuentemente en los sistemas de proceso por lotes, pero no garantiza tiempos de respuesta adecuados para usuarios interactivos. La planificacin por turno es la versin apropiativa de PEPS. Los procesos se despachan por PEPS, pero obtienen la CPU durante un tiempo limitado. La asignacin por turno se usa en muchos sistemas para garantizar tiempos de respuesta adecuados a usuarios interactivos. La planificacin por prioridad del trabajo ms corto (SJF) es una disciplina no apropiativa utilizada sobre todo para trabajos por lotes. Reduce al mnimo el tiempo promedio de espera, pero los trabajos largos pueden a verse sometidos a esperas muy largas. La planificacin por el tiempo restante ms corto (SRT) es la contraparte apropiativa de SJF. En SRT, un proceso en ejecucin puede ser despojado por un proceso nuevo en un tiempo de ejecucin estimado ms pequeo. SRT implica un gasto extra mayor que SJP, pero proporciona un mejor servicio a los trabajos cortos nuevos. Reduce aun mas los tiempos promedio de espera de todos los trabajos, pero los trabajos largos pueden sufrir retrasos mayores que en SJF. Uno de los ms avanzados mecanismos de planificacin empleados hoy en da es la red de colas de retroalimentacin en mltiples niveles (Figura 2). Es una disciplina

apropiativa de planificacin de procesos particularmente til en sistemas con mezclas diversificadas de trabajos.

3.1 PLANEACION DE TRABAJOS (JOB SCHEDULING)


El objetivo principal al momento de planificar algn trabajo es minimizar el tiempo de espera y minimizar el tiempo de respuesta. La planificacin (scheduling) es la base para lograr la multiprogramacin. Un sistema multiprogramado tiene varios procesos que requerirn el recurso procesador a la vez, esto suele suceder cuando los procesos estn en estado ready (pronto). Si existe un procesador disponible, se elige el proceso que ser asignado para ejecutar. La parte del sistema operativo que realiza la eleccin del proceso es llamada planificador (Schedule). 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 Sistema Operativo 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. En la planificacin, se trata de obtener un plan, y por otra parte delimitar la ejecucion de las acciones en el tiempo, asignndoles los recursos necesarios y teniendo en cuenta las restricciones generales del problema.

Los mtodos para solucionar problemas de planificacin y scheduling se dividen en dos etapas diferentes. Sin embargo, la resolucin de estos problemas no es abordable mediante estos procesos por separados. La idea principal es la integracin de ambos.

Si los procesos de planificacin y scheduling colaboran durante la resolucin del problema, se puede obtener una mejor solucin. Por ello, se trabaja en una

arquitectura independiente del dominio en la que el planificador opera de forma simultnea con el scheduler. Esta integracin garantiza la ejecucin del plan y satisface
9

ptimamente las restricciones del problema, simultneamente con la construccin del plan.

Mediante el lenguaje de especificacin, basado en frames, se puede definir el dominio del problema. Una vez obtenido el plan ptimo mediante el proceso de planificacinscheduling, ste pasa a ejecucin. Durante la ejecucin del plan pueden aparecer nuevas restricciones del problema, incidencias, etc., debindose producir una reactividad en el proceso readaptando el plan obtenido.

10

3.2 CONCEPTOS BSICOS.


Un planificador de tareas es una aplicacin de software de la empresa que se encarga de la ejecucin desatendida fondo, comnmente conocido por razones histricas como del procesamiento por lotes. Un procesamiento de lotes es la ejecucin de una serie de programas. Hoy en da el trabajo de los 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. Existen dos arquitecturas principales para el software de planificacin de trabajo, los cuales son:

Maestro / Agente de la arquitectura - El software Job Scheduling se instala en una sola mquina (Master), mientras que en equipos de produccin slo un componente muy pequeo (agente) est instalado que le espera a las rdenes del Maestro, los ejecuta, y devuelve el cdigo de salida de nuevo al Maestro.

Arquitectura Cooperativa - Esto permite equilibrar la carga de trabajo dinmico para maximizar la utilizacin de los recursos de hardware y de alta disponibilidad para garantizar la prestacin de servicios.

Es necesario tomar en cuenta que para realizar cualquier actividad se necesita obtener una utilizacin mxima de la CPU, lo cual se obtiene va multiprogramacin.

Un ciclo rfagas CPUI/O es la ejecucin de un proceso, consiste de un ciclo de ejecucin de CPU continuado por un ciclo de espera por I/O.

11

Distribucin de rfagas de CPU. Job: Es una tarea de base de datos definida en trminos de una secuencia vlida de comandos Transact-SQL. Schedule: es un horario de ejecucin, definido en trminos de atributos particulares, como fecha y hora de inicio, periodicidad, fecha y hora de finalizacin, etc. Scheduled Job: es un Job que ha sido asociado a un schedule y que, en consecuencia, se ejecutar automticamente de acuerdo a lo definido en dicho schedule. La ejecucin del scheduled Job se lleva a cabo en el ASE denominado Target Server. Target Server: Es el servidor ASE en el cual se ejecutar un scheduled job. JS Server: Es el servidor ASE que almacena y administra los componentes del Job Scheduler (jobs, Schedule y scheduled jobs) y es el encargado de controlar la ejecucin de los scheduled jobs a travs de los JS Tasks e interactuando con el JS Agent: En este servidor reside la base de datos sybmgmtdb en donde se almacena toda la informacin del sistema del Job Scheduler. JS Task: Es una tarea interna que corre en el ASE denominado JS Server, se encarga de determinar qu scheduled jobs deben ser ejecutados en cada momento del tiempo. Cuando una tarea JS Task determina que una scheduled job debe ser ejecutado, pasa la informacin al JS Agent, quien inicia la ejecucin en el ASE denominado Target Server. JS Agent: Es un proceso del sistema operativo que corre en la msma mquina del JS Server. El JS Agent es el encargado de controlar la ejecucin de los scheduled jobs en el Target Server, de acuerdo a la informacin recibida por los JS Task.

12

3.3 TIPOS DE PLANEACION JOB SCHEDULING


Existen distintos tipos de planeacin, entre los cuales mencionaremos los siguientes: 3.3.1 FIRST IN FIRST OUT JOB SCHEDULING (FIFO)

FIFO es usada en estructuras de datos que usamos para crear colas. Que las asemos con ayuda de vectores y con el uso de punteros que asignamos de manera dinmica a la memoria. Una vez que el proceso obtiene la CPU, se ejecuta hasta terminar, ya que es una disciplina no apropiativa. Este ocasiona que los procesos largos hagan esperar a procesos cortos y que procesos no importantes hagan esperar a procesos importantes. Es tambin el mas predecible a comparacin de otra esquemas. No puede garantizar buenos tiempos de respuesta interactivos. Suele utilizarse integrado a otros esquemas, por ejemplo, de la siguiente manera:

13

Primero en Llegar, Primero en ser Servido Esta es una poltica ms simple de planificacin: es la de primero en llegar/primero en servirse (FCFS, First-come, First-served), o tambin llamada como el primero en entrar/primero en salir (FIFO, First-in, First-out). Cada vez que un proceso est listo para ejecutar, se incorpora a la cola de Listas. Cuando el proceso actual cesa su ejecucin, se selecciona el proceso ms antiguo de la cola. Muestra las pautas de ejecucin del ejemplo propuesto para un ciclo y

14

A partir de l, es posible determinar el tiempo de retorno. En trminos del modelo de colas, el tiempo de retorno (TAT) es el tiempo de estancia Tr o tiempo total que el elemento Indica algunos resultados importantes. Primero, se determina el tiempo de finalizacin

15

3.3.2 ROUND ROBIN JOB SCHEDULING (RR) Es un mtodo que selecciona todos los elementos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al ltimo y empezando de nuevo desde el primer elemento.

El planeamiento Round Robin es simple y fcil de implementar, tambien esta libre de inanicin.

Una forma sencilla de entender el Round Robin es imaginar una secuencia para tomar turnos. En operaciones computacionales, un mtodo para ejecutar diferentes procesos de manera concurrente para la utilizacin equitativa de los recursos del equipo, es limitando cada proceso a un pequeo periodo de tiempo, y luego suspendiendo ste proceso para dar oportunidad a otro proceso y as sucesivamente.

A esto se le denomina comnmente como Planificacin Round-Robin. Los procesos se despachan en FIFO y disponen de una cantidad limitada de tiempo de cpu, llamada divisin de tiempo o cunto. 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.
16

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.

3.3.3 SHORTEST JOB FIRST JOB SCHEDULING (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.

17

3.3.4 SHORTEST REMAINING TIME JOB SCHEDULING (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 expulsiva del algoritmo Shortest Procesos Next (SPN) o tambin llamado Shortest Job First (SJF).

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 qu proceso asignarle la CPU). Penaliza los procesos largos. Se puede producir inanicin.

18

3.3.5 HIGHEST RESPONSE RATIO NEXT JOB SCHEDULING (HNR)

Para cada proceso individual, se desea minimizar esta razn, as como minimizar el valor medio de todos los procesos. Aunque sta es una medida a posteriori, es posible aproximarla a una medida a priori, como el criterio de seleccin de un planificador no apropiativo. En concreto, considrese la siguiente tasa de respuesta (RR,

Response Ratio):

RR =_w + s_ s Donde: R= tasa de respuesta w = tiempo consumido esperando al procesador s = tiempo de servicio esperado

Si el proceso con este valor se expide inmediatamente, R es igual al tiempo de retorno normalizado. Ntese que el valor mnimo de RR es 1,0, alcanzado cuando un proceso entra por
19

primera vez en el sistema. Hasta ahora, la regla de planificacin ha sido: Cuando el proceso actual termina o se bloquea, se elige el proceso listo con un valor mayor de RR. 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 sin que haya servicio incrementa el valor de la razn, de forma que los procesos ms largos pasen finalmente primero, en competicin con los ms cortos.El tiempo esperado de servicio debe estimarse antes de emplear la tcnica de la mayor tasa de respuesta (HRRN, Highest Response Ratio Next), como ya ocurra con SRT y SPN.

3.4 MULTIPROCESAMIENTO

Existen varias razones para construir tales sistemas. Una ventaja es un mayor rendimiento. Al incrementar el nmero de procesadores, se busca realizar ms trabajo en menos tiempo. Sin embargo, la razn de aceleracin con n procesadores no es n, sino menor que n. Cuando varios procesadores cooperan en una tarea, se necesita una cierta cantidad de trabajo adicional para mantener a todas las partes funcionando de manera correcta. Este trabajo adicional {overhead), mas la disputa por los recursos compartidos, reduce la ganancia esperada de los procesadores adicionales. De manera similar, un grupo de n programadores trabajando juntos estrechamente no da por resultado n veces la cantidad de trabajo realizado. Los sistemas multiprocesador tambin pueden ahorrar dinero en comparacin con mltiples sistemas con unidades de un solo procesador, debido a que los procesadores pueden compartir perifricos, almacenamiento masivo y suministro de energa. Si varios pro-gramas operan con el mismo conjunto de datos, es ms barato almacenar estos datos en un disco y hacer que todos los procesadores los compartan, en lugar de tener muchas computadoras con discos locales y varias copias de los datos. Otra razn para los sistemas multiprocesador es que incrementa la confiabilidad. Si las funciones se pueden distribuir adecuadamente entre varios procesadores, entonces
20

la falla de un procesador no detendr al sistema, solo lo har ms lento. Si hay diez procesadores y uno falla, cada uno de los nueve restantes debe encargarse de una parte del trabajo del procesador que fallo. De esta manera, todo el sistema solo ejecuta un diez por ciento ms lento, en lugar de fallar en su totalidad. Esta capacidad de continuar proporcionando servicio de manera proporcional al nivel del hardware que sigue activo se conoce como degradacin suave. Los sistemas que se disean para esta degradacin tambin se conocen como tolerantes a las fallas. La operacin continua en presencia de fallas requiere un mecanismo que permita detectar, diagnosticar y corregir la falla (en caso de ser posible). El sistema Tandem emplea la duplicacin tanto de hardware como de software para asegurar una operacin continua a pesar de las fallas. El sistema consta de dos procesadores idnticos, cada uno con su propia memoria local. Los procesadores se conectan mediante un bus. Un procesador es el primario y el otro es de respaldo. Se mantienen dos copias de cada proceso: una en el procesador primario y la otra en el respaldo. En puntos de verificacin fijos durante la ejecucin del sistema, la informacin de estado de cada trabajo (incluyendo una copia de la imagen de la memoria) se copia de la maquina primaria a la de respaldo. Si se detecta una falla, la copia de respaldo se activa, y se arranca desde el punto de verificacin mas reciente. Esta solucin es obviamente cara, ya que existe una duplicacin considerable de hardware. Los sistemas de procesadores mltiples ms comunes utilizan el

multiprocesamiento simtrico, en el que cada procesador ejecuta una copia idntica del sistema operativo, y estas copias se comunican entre ellas segn sea necesario. Algunos sistemas emplean el multiprocesamiento asimtrico, en el que a cada procesador se le asigna una tarea especfica. Un procesador maestro controla el sistema; el otro procesador, solicita instrucciones al maestro para recibir instrucciones o tiene tareas definidas previa-mente. Este esquema define una relacin de maestro-esclavo. En el multiprocesamiento simtrico {symmetric multiprocessing, SMP) todos los procesadores estn al mismo nivel; no existe una relacin maestro-esclavo entre ellos. Cada procesador ejecuta de manera concurrente una copia del sistema operativo. La
21

figura 1.5 ilustra una arquitectura SMP tpica. Un ejemplo del sistema SMP es la versin Encore de UNIX para la computadora Multimax. Esta computadora se puede configurar de tal manera que emplee docenas de procesadores, ejecutando todos ellos copias de UNIX. El beneficio de este modelo es que pueden ejecutarse simultneamente muchos procesos -(JV procesos pueden ejecutar si hay JVCVU)- sin ocasionar un deterioro significativo en el rendimiento. Sin embargo, debemos controlar con cuidado las acciones de E/S para asegurar que los datos lleguen al procesador apropiado. Asimismo, debido a que las CPU son distintas, una puede estar ociosa mientras que otra est sobrecargada, dando por resultado ineficiencias. Estas ineficiencias pueden evitarse si los procesadores comparten ciertas estructuras de datos. Un sistema multiprocesador con estas caractersticas permitir compartir de manera dinmica procesos y recursos -como la memoria- entre los diferentes procesadores, y puede reducir la varianza entre ellos. Tal sistema se debe escribir con cuidado, como veremos en el captulo 7. Virtualmente todos los sistemas operativos modernos -incluyendo Windows NT, Solaris, Digital UNIX, OS/2 y Linux- ofrecen soporte para el SMP. La diferencia entre el multiprocesamiento simtrico y el asimtrico puede ser el resultado del hardware o del software que se utilice. Un hardware especial puede diferenciar a los multiprocesadores mltiples, o puede escribirse el software de manera que solo se permita un maestro y mltiples esclavos. Por ejemplo, el sistema operativo SunOS Versin 4 de Sun proporciona multiprocesamiento asimtrico, en tanto que la versin 5 (Solaris 2) es simtrica en el mismo hardware, A medida que los microprocesadores se vuelven menos costosos y ms poderosos, se descargan funciones adicionales del sistema operativo a los procesadores esclavos, 0 back-ends. Por ejemplo, es muy fcil agregar un microprocesador con su propia memoria para administrar un sistema de discos. El microprocesador recibe una secuencia de solicitudes desde la CPU principal e implementa su propia cola en disco y algoritmo de planificacin. Este arreglo libera a la CPU principal del trabajo adicional de la planificacin de discos. Las PC contienen un microprocesador en el teclado para convertir las pulsaciones de las teclas en cdigos que se envan a la CPU. De hecho,
22

este empleo de los microprocesadores se ha vuelto tan comn que ya no se considera como multiprocesamiento.

3.4 CONCEPTOS BSICOS

Una manera tradicional de incrementar las prestaciones de un sistema consiste en utilizar varios procesadores que puedan ejecutar en paralelo una carga de trabajo dada. Las dos organizaciones de mltiples procesadores ms comunes son los multiprocesadores simtricos (SMP) y los clusters. Reciente-mente, los sistemas de acceso a memoria no uniforme (NUMA) han aparecido comercialmente. Un SMP es un computador constituido por varios procesadores similares, interconectados mediante un bus o algn tipo de estructura de conmutacin. El problema ms crtico a resolver en un SMP es la coherencia de cache. Cada procesador tiene su propia cache, y es posible que una lnea de datos dada est
23

presente en ms de una cache. Si esa lnea se altera en una cache, entonces tanto la memoria principal como las otras caches tienen versiones no validas de dicha lnea. Un cluster es un grupo de computadores completos interconectados y trabajando juntos como un solo recurso de computo, proporcionando la ilusin de ser una nica maquina. El termino computador completo significa que puede funcionar autnomamente fuera del cluster. Un sistema NUMA es un multiprocesador de memoria compartida, en el que el tiempo de acceso de un procesador a una palabra de memoria vara segn la ubicacin de la palabra en memoria.

Tradicionalmente, el computador se ha visto como una maquina secuencial. La mayora de los lenguajes de programacin del computador requieren que el programador especifique los algoritmos mediante una secuencia de instrucciones. Los procesadores ejecutan los programas procesando instrucciones maquina de una en una. Cada instruccin se ejecuta mediante una secuencia de operaciones (captar instruccin, captar operandos, realizar la operacin y almacenar los resultados). Esta visin del computador no es completamente cierta. En el nivel de micro operacin, se generan al mismo tiempo mltiples seales de control. La segmentacin de las instrucciones, al menos en cuanto al solapamiento de las operaciones de captacin y ejecucin, se ha utilizado desde hace tiempo. Ambos casos son ejemplos de funciones que se realizan en paralelo, Es el mismo enfoque de la organizacin superescalar, que aprovecha el paralelismo entre instrucciones. Un procesador superescalar dispone de varias unidades de ejecucin, que pueden ejecutar en paralelo varias instrucciones del mismo programa. A medida que la tecnologa de los computadores se ha desarrollado, y ha disminuido el costo del hardware del computador, los diseadores de computadores han visto ms y ms posibilidades en el paralelismo, normalmente para mejorar las prestaciones y, en algunos casos, para mejorar la fiabilidad. Despus de una revisin de conceptos, en este captulo se examinan las tres organizaciones paralelas de ms xito. En primer lugar se estudian los multiprocesadores simtricos (SMP), una de las
24

primeras y, todava, el ejemplo ms comn de organizacin paralela. Un SMP incluye varios procesadores que comparten la memoria principal comn. La organizacin SMP pone de manifiesto el problema de la coherencia de cache, al que se dedica una seccin especfica. Despus se describen los clusters, que estn constituidos por varios computadores independientes, organizados para poder trabajar

cooperativamente. Los clusters han llegado a ser bastante comunes a la hora de procesar car-gas de trabajo que sobrepasa la capacidad de un SMP. La tercera aproximacin al uso de varios procesadores est representada por las maquinas de acceso no uniforme a memoria (NUMA). La alternativa NUMA es relativamente nueva, y todava no se ha extendido comercialmente, pero, a menudo, se considera la alternativa a los computadores SMP y a los clusters. Finalmente, el capitulo estudia las aproximaciones hardware a la computacin vectorial. Estas propuestas optimizan la ALU para el procesamiento de vectores o matrices de nmeros en coma flotante. Se han utilizado en la implementacin de los sistemas conocidos como

supercomputadores.

3.6 PARALELISMO
Organizaciones con varios procesadores TIPOS DE SISTEMAS DE PARALELOS La taxonoma introducida primeramente por Flynn [FLYN72] es todava la forma ms comn de clasificar a los sistemas segn sus capacidades de procesamiento paralelo. Flynn propuso las siguientes categoras o clases de computadores: Una secuencia de instrucciones y una secuencia de datos (SISD, Single Instruction, Single Data): Un nico procesador interpreta una nica secuencia de instrucciones, para operar con los datos almacenados en una nica memoria. Los computadores monoprocesador caen dentro de esta categora.

25

Una secuencia de instrucciones y mltiples secuencias de datos (SIMD, Single Instruction Multiple Data): Una nica instruccin maquina controla paso a paso la ejecucin simultnea y sincronizada de un cierto nmero de elementos de proceso. Cada elemento de proceso tiene una memoria asociada, de forma que cada instruccin es ejecutada por cada procesador, con un conjunto de datos diferentes. Los procesadores vectoriales y los matriciales pertenecen a esta categora.

Mltiples secuencias de instrucciones y una secuencia de datos (MISD): Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente. Esta estructura nunca ha sido implementada.

Mltiples secuencias de instrucciones y mltiples secuencias de datos (MIM0): Un conjunto de procesadores ejecuta simultneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los SMP, los clusters, y los sistemas NUMA son ejemplos de esta categora. En la organizacin MIMD, los procesadores son de uso general; cada uno es capaz de procesar todas las instrucciones necesarias para realizar las transformaciones apropiadas de los datos. Los computadores MIMD se pueden subdividir, adems, segn la forma que tienen los procesadores para comunicarse (Figura 16.1). Si los procesadores comparten una memoria comn, entonces cada procesador accede a los programas y datos almacenados en la memoria compartida, y los procesadores se comunican unos con otros a travs de esa memoria. La forma ms comn de este tipo de sistemas se conoce como multiprocesador simtrico (SMP), que se examinara en la Seccin 16.2. En un SMP, varios procesadores comparten una nica memoria mediante un bus compartido u otro tipo de mecanismo de interconexin. Una caracterstica distintiva de estos sistemas es que el tiempo de acceso a memoria principal es aproximadamente el mismo para cualquier procesador. Un desarrollo ms reciente es la organizacin con acceso no uniforme a memoria (NUMA), que se
26

describe en la Seccin 16.5. Como el propio nombre indica, el tiempo de acceso a zonas de memoria diferentes puede diferir en un computador NUMA.

Un conjunto de computadores monoprocesador independientes, o de SMP, pueden inter-conectarse para formar un cluster. La comunicacin entre los computadores se realiza mediante conexiones fijas o mediante algn tipo de red.

Organizaciones paralelas La Figura 16.2 muestra los esquemas generales de las clases de la taxonoma de la Figura 16.1. La Figura 16.2a corresponde a la estructura de un SISD. Se dispone de una unidad de control (UC) que proporciona una secuencia de instrucciones (SI) a una unidad de proceso (UP). La unidad de proceso acta sobre una nica secuencia de datos (SD) captados desde la unidad de memoria (UM). En una maquina SIMD, tambin existe una sola unidad de control, que proporciona una nica secuencia de instrucciones a cada elemento de proceso. Cada elemento de proceso puede tener su propia memoria dedicada (mostrada en la Figura 16.2b), o puede haber una memoria compartida. Finalmente, en un computador MIMD hay mltiples unidades de control, y cada una proporciona una secuencia de instrucciones separada a su propio elemento de proceso. El MIMD puede ser un multiprocesador de memoria compartida (Figura 16.2c), o un multicomputador de memoria distribuida (Figura 16.2d). Los aspectos de diseo relacionados con los SMP, los clusters, y los NUMA, son complejos, implicando cuestiones relativas a la organizacin fsica, las estructuras de interconexin, el diseo de los sistemas operativos, y el software de las aplicaciones. Nuestro inters se centra fundamentalmente en la organizacin, aunque se describirn brevemente aspectos del diseo de los sistemas operativos.

27

Bus de tiempo compartido El bus de tiempo compartido es el mecanismo mis simple para construir un sistema multiprocesador (Figura 16.5). La estructura y las interfaces son bsicamente las mismas que las de

28

un sist ema de un nic o proc esa dor que utilic e un bus para la interconexin. El bus consta de lneas de control, direccin y datos. Para facilitar las transferencias de DMA con los procesa-dores de E/S, se proporcionan los elementos para l: Direccionamiento: Debe ser posible distinguir los mdulos del bus para determinar la fuente y el destino de los datos. Arbitraje: Cualquier modulo de E/S puede funcionar temporalmente como maestro. Se proporciona un mecanismo para arbitrar entre las peticiones que compiten por el con trol del bus, utilizando algn tipo de esquema de prioridad. Tiempo compartido: Cuando un modulo est controlando el bus, los otros mdulos no tienen acceso al mismo, y deben, si es necesario, suspender su operacin hasta que dispongan del bus.
29

Estas

caractersticas

monoprocesador

son

utilizables

directamente

en

una

configuracin de SMP. En este caso, hay varias CPU, adems de varios procesadores de E/S, que intentan tener acceso a uno o ms mdulos de memoria a travs del bus. La organizacin del bus presenta diversas ventajas en comparacin con otras propuestas: Simplicidad: Es la aproximacin mas simple para organizar el

multiprocesador. La interfaz fsica, y la lgica de cada procesador para el direccionamiento, para el arbitraje, y para compartir el tiempo del bus, es el mismo que el de un sistema con un solo procesador.

Flexibilidad: Es generalmente sencillo expandir el sistema conectando mas procesadores al bus. Fiabilidad: El bus es esencialmente un medio pasivo, y el fallo de cualquiera de los dispositivos conectados no provocara el fallo de todo el sistema.
30

La principal desventaja de la organizacin de bus son las prestaciones. Todas las referencias a memoria pasan por el bus. En consecuencia, la velocidad del sistema est limitada por el tiempo de ciclo. Para mejorar las prestaciones, es deseable equipar a cada procesador con una memoria cache. Esta reducira dramticamente el nmero de accesos. Tpicamente, los PC y las estaciones de trabajo de tipo SMP tienen dos niveles de cache: una cache LI interna (en el mismo chip que el procesador), y una cache L2 externa o interna. El uso de caches introduce algunas consideraciones de diseo nuevas. Puesto que cada cache local contiene una imagen de una parte de la memoria, si se altera una palabra en una cache, es concebible que eso podra invalidar una palabra en otra cache. Para evitarlo, se debe avisar a los otros procesadores de que se ha producido una actualizacin de memoria. Este problema se conoce como problema de coherencia de cache, que es resuelto tpicamente por el hardware, ms que por el sistema operativo. La Seccin 16.3 trata este punto. Memoria multipuerto La propuesta de memoria multipuerto permite el acceso directo e independiente a los mdulos de memoria desde cada uno de los procesadores y los mdulos de E/S (Figura 16.6). Se necesita una cierta lgica asociada a la memoria para resolver los conflictos. El mtodo que se utiliza a menudo para resolver conflictos consiste en asignar prioridades fijas a cada puerto de memoria. Normalmente, la interfaz fsica y elctrica en cada puerto es idntica a la que aparece en un modulo de memoria de un solo puerto. As, se necesitan pocas o ninguna

31

modificacin en los procesadores o en los mdulos de E/S para acomodar la memoria multipuerto. La aproximacin de la memoria multipuerto es ms compleja que la aproximacin de bus, precisndose aadir al sistema de memoria una buena cantidad de lgica. No obstante, se consiguen mejores prestaciones, puesto que cada procesador tiene un camino dedicado a cada modulo de memoria. Otra ventaja del multipuerto es que permite configurar partes de la memoria como privadas para uno o ms procesadores y/o mdulos de E/S. Esta caracterstica permite incrementar la seguridad frente a accesos no autorizados, y para el almacenamiento de rutinas de restablecimiento en zonas de memoria no susceptibles de ser modificadas por otros procesadores. Otra cuestin ms: se debe utilizar una estrategia de escritura directa {write-through) para controlar la cache, puesto que no hay forma de avisar a los otros procesadores de una actualizacin de memoria.
32

Unidad de control central La unidad de control central encauza las distintas secuencias de datos entre los distintos mdulos independientes: procesador, memoria y E/S. El controlador puede almacenar temporal-mente peticiones, y realizar las funciones de arbitraje y temporizacin. Adems, puede transmitir mensajes de estado y control entre los procesadores y alertar sobre cambios en las caches. Puesto que toda la lgica de coordinacin de la configuracin de multiprocesador se con-centra en la unidad central de control, las interfaces de E/S, memoria y procesador, no sufren cambios esenciales. Esto proporciona la flexibilidad y la simplicidad de las interfaces en la aproximacin de bus. Las desventajas clave de esta aproximacin son que la unidad de control es bastante compleja, y que representa un cuello de botella potencial para las prestaciones. La estructura de unidad de control central es bastante comn en grandes computadores (mainframes) de varios procesadores, tales como los miembros ms grandes de la familia S/ 370 de IBM. Hoy da, esta alternativa es poco frecuente.

3.7 SISTEMAS MULTIPROCESAMIENTO


Un sistema operativo multiproceso o multitarea es aquel que permite ejecutar varios procesos de forma concurrente, la razn es porque actualmente nuestras CPUs slo pueden ejecutar un proceso cada vez. La nica forma de que se ejecuten de forma simultnea varios procesos es tener varias CPUs (ya sea en una mquina o en varias, en un sistema distribuido).

Multiprocesadores Simtricos Los fabricantes han introducido los sistemas SMP. El termino SMP se refiere a la arquitectura hardware del computador, y tambin al comportamiento del sistema
33

operativo que utiliza dicha arquitectura. Un SMP puede definirse como un computador con las siguientes caractersticas: 1. Hay dos o ms procesadores similares de capacidades comparables. 2. Estos procesadores comparten la memoria principal y las E/S, y estn interconectados mediante un bus u otro tipo de sistema de interconexin, de forma que el tiempo de acceso a memoria es aproximadamente el mismo para todos los procesadores. 3. Todos los procesadores comparten los dispositivos de E/S, bien a travs de los mismos canales, o bien mediante canales distintos que proporcionan caminos de acceso al mismo dispositivo. 4. Todos los procesadores pueden desempear las mismas funciones (de ah el trmino simtrico). 5. El sistema est controlado por un sistema operativo integrado, que proporciona la interaccin entre los procesadores y sus programas en los niveles de trabajo, tarea, fichero, y datos.

El punto 5 corresponde a una de las diferencias con los sistemas multiprocesador dbilmente acoplados, tales como los clusters. En estos, la unidad de interaccin fsica es normalmente un mensaje o un fichero completo. En un SMP, la interaccin se puede producir a travs de elementos de datos individuales, y puede existir un elevado nivel de cooperacin entre procesadores.

34

CLASIFICACION POR USO DE LOS RECURSOS Sistemas mono programados: 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 multi programados: 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.

35

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.

El sistema operativo de un SMP planifica la distribucin de procesos o hilos (threads) entre todos los procesadores. Un SMP tiene las siguientes ventajas potenciales con respecto a una arquitectura monoprocesador:

Prestaciones: Si el trabajo a realizar por un computador puede organizarse de forma que partes del mismo se puedan realizar en paralelo, entonces un sistema con varios procesadores proporcionara mejores prestaciones que uno con un solo procesador del mismo tipo (Figura 16.3). Disponibilidad: En un multiprocesador simtrico, debido a que todos los procesadores pueden realizar las mismas funciones, un fallo en un procesador no har que el computador se detenga. Crecimiento incremental: Se pueden aumentar las prestaciones del sistema, aadiendo ms procesadores. Escalado: Los fabricantes pueden ofrecer una gama de productos con precios y prestaciones diferentes, en funcin del nmero de procesadores que configuran el sistema. Es importante resaltar que los anteriores son beneficios potenciales, ms que beneficios garantizados. El sistema operativo debe disponer de herramientas y funciones que permitan explotar el paralelismo presente en un SMP. Una caracterstica atractiva de un SMP es que la existencia de varios procesadores es transparente al usuario. El sistema operativo se encarga de la sincronizacin entre los
36

procesadores, y de la planificacin de los hilos o de los procesos, asignndolos a los distintos procesadores.

3.8 ORGANIZACIN 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 (figura 3).

37

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 bloqueantes
38

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 y se las coloca en la interfaz de cada unidad de almacenamiento

39

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

40

Multiprocesamiento Simtrico (MPS) Cada procesador posee capacidades funcionales completas. Los dispositivos de Entrada / Salida pueden ser conectados a cada uno de los procesadores

41

Todas las llamadas al supervisor pueden ser ejecutadas en todos los procesadores, inclusive las de Entrada / Salida. Si un programa en ejecucin en un procesador pide una operacin de Entrada / Salida en un dispositivo conectado a un procesador diferente, el procesador puede continuar ejecutando el trabajo y la Entrada / Salida se coloca en una cola para su iniciacin por el procesador apropiado. Se considera procesador ejecutante al que est ejecutando un proceso determinado. Se considera procesador propietario al que est conectado a los diferentes dispositivos utilizados por el proceso.

42

Es ms eficiente que la organizacin maestro / satlite, ya que los requerimientos de Entrada / Salida se encolan y no sobrecargan con intercambio de contexto y a que en la organizacin maestro / satlite las peticiones de Entrada / Salida en el satlite provocan un intercambio de contexto en el maestro. Cada procesador puede ejecutar el planificador para buscar el siguiente trabajo a ejecutar, de forma que un proceso determinado se ejecuta en diferentes procesadores en distintos momentos; adems, el MPS utiliza una sola cola de trabajos y cada procesador puede seleccionar trabajos de ella, con lo cual se equilibra la carga entre los procesadores. Para minimizar la contencin en el despacho de procesos, los relojes de los procesadores tienen oblicuidad, debido a ello las interrupciones de reloj ocurren en diferentes momentos. Tendencias de los Multiprocesadores. Todo indica que el uso de los multiprocesadores se incrementar considerablemente en el futuro Las principales razones son las siguientes:

La confiabilidad requerida es cada vez mayor. La reduccin de costos consecuencia de los avances en microelectrnica. El previsible desarrollo de lenguajes que permitan a los usuarios expresar el paralelismo explcitamente.

El progreso en la deteccin automtica del paralelismo . El hecho de que se estara llegando a los lmites del uniprocesador debido a la compactacin de componentes, es decir que se estara prximo a los lmites de longitud y de proximidad de los caminos electromagnticos (longitud del recorrido de la seal electromagntica); alcanzados los lmites mencionados, la

43

nica

posibilidad de incrementar capacidad de

cmputo es mediante

multiprocesamiento. Existen estudios de tendencias en arquitectura de computadoras que apuntan a los poliprocesadores, es decir, sistemas que combinan el multiprocesamiento, simtrico y asimtrico, para crear una jerarqua de procesadores dentro de un sistema.

Grados de Acoplamiento en Multiprocesamiento Los grados de acoplamiento en multiprocesamiento pueden clasificarse de ligeramente acoplados ver Figura o rgidamente acoplados ver Figura, segn las caractersticas que se detallan en la Tabla.

44

Grados acoplamiento multiprocesamiento

de en Descripcin

Incluye la conexin de dos o ms sistemas independientes por medio de un enlace de comunicacin. Cada sistema tiene su propio Sistema Operativo y almacenamiento. Ligeramente acoplado Los sistemas pueden funcionar independientemente y se comunican cuando sea necesario. Los sistemas separados pueden acceder a los archivos de los otros e intercambiar tareas a procesadores menos cargados. Utiliza un solo almacenamiento compartido por varios Rgidamente acoplado procesadores. Emplea un solo Sistema Operativo que controla todos los procesadores y el hardware del sistema. Tabla: Grados de acoplamiento en multiprocesamiento.

45

3.9 SISTEMA OPERATIVO DE MULTIPROCESADOR


.

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
46

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.
47

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.

48

RESUMEN
Como ya se dijo, la administracin del procesador es el tema central de la multiprogramacin, esta administracin involucra las distintas formas a travs de las cuales el Sistema Operativo comparte el recurso procesador entre distintos procesos que estn compitiendo por su uso. La idea de administrar el procesador de manera eficiente est enfocada en dos

aspectos: el primero es la cantidad de procesos por unidad de tiempo que se pueden ejecutar en un sistema; y el segundo, el que importa ms al usuario, es el tiempo de respuesta de esos procesos y de esta forma poder hacer la planificacion de los trabajos o tareas. Un planificador de tareas es una aplicacin de software de la empresa que se encarga de la ejecucin desatendida a fondo. Existen dos arquitecturas principales para el software de planificacin de trabajo, los cuales son: Maestro / Agente de la arquitectura - El software Job Scheduling se instala en una sola mquina, mientras que en equipos de produccin slo un componente muy pequeo y est instalado, espera las rdenes del Maestro, los ejecuta, y devuelve el cdigo de salida de nuevo al Maestro.

Arquitectura Cooperativa - Esto permite equilibrar la carga de trabajo dinmico para maximizar la utilizacin de los recursos de hardware y de alta disponibilidad para garantizar la prestacin de servicios.

Existen 5 tipos de planficadores, los cuales son First In First Out (FIFO), Round Robin (RR), Shortest Job First (SJF), Shortest Remaining Time (STR), Highest Response Ratio Next (HNR) y cada uno tiene una function distinta, y trabajan para una sola accin, llevar a cabo un proceso.

49

BIBLIOGRAFIA
http://www.itistmo.edu.mx/desarrollo%20dl%20proyecto/unidad2.htm http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO2.htm http://www.agendistas.com/computadoras/administracion-procesador.html http://www.mitecnologico.com/Main/OrganizacionDelMultiprocesador http://epsc.upc.edu/projectes/usuaris/miguel.valero/materiales/docencia/doctorado/intro duccion.pdf www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r2961.DOC http://251m01so.blogspot.com/2009/11/38-organizacion-del-multiprocesador.html http://jvargasi2011.blogspot.com/2011/04/portafolio-de-sistemas-operativos.html http://252m4so.blogspot.com/2009/11/32-conceptos-basicos-job-scheduling.html http://252m5so.blogspot.com/2009/11/32-conceptos-basicos-job-scheduling.html http://tesciequipo7.blogspot.com/2009/11/32-conceptos-basicos.html www.wikipedia.com

50

También podría gustarte