2. Estados de Procesos 3. Procesamiento de Interrupciones 4. El Ncleo del Sistema perati!o ". Planificacin de Procesos #. Ni!eles de Planificacin del Procesador $. b%eti!os de la Planificacin &. 'riterios de Planificacin (. Planificacin )propiati!a *ersus No )propiati!a 1+. ,empori-ador de Inter!alos o .elo% de Interrupcin 11. Prioridades 12. ,ipos de Planificacin 1. Planificacin a Pla-o /i%o 2. Planificacin 0aranti-ada 3. Planificacin del Primero en Entrar Primero en Salir 1/I/2 4. Planificacin de )si3nacin en .ueda 1..4 .ound .obin2 ". ,ama5o del 'uanto o 6uantum #. Planificacin del ,raba%o 78s 'orto Primero 1S9/2 $. Planificacin del ,iempo .estante 78s 'orto 1S.,2 &. Planificacin el Si3uiente con .elacin de .espuesta 78:ima 1;.N2 (. Planificacin por Prioridad 1+. 'olas de .etroalimentacin de Ni!eles 7ltiples 11. Pol<tica *ersus 7ecanismo de Planificacin 12. Planificacin de Dos Ni!eles 13. 7ultiprocesamiento 1. Introduccin 2. 'onfiabilidad 3. E:plotacin del Paralelismo 4. Paralelismo 7asi!o ". 7etas de los Sistemas de 7ultiprocesamiento #. Deteccin )utom8tica del Paralelismo $. Distribucin de 'iclos &. .educcin de la )ltura del =rbol 14. r3ani-acin del ;ard>are del 7ultiprocesador 1. ,iempo 'ompartido o ?us 'omn 1o 'onductor 'omn2 2. 7atri- de ?arras 'ru-adas e Interruptores 3. )lmacenamiento de Intercone:in 7ltiple 1". 0rados de )coplamiento en 7ultiprocesamiento 1. r3ani-acin 7aestro @ SatAlite 1#. Sistema perati!o de 7ultiprocesadores 1. 7aestro @ SatAlite 2. E%ecuti!os Separados 3. ,ratamiento SimAtrico 1$. .endimiento del Sistema de 7ultiprocesamiento 1&. .ecuperacin de Errores 1(. 7ultiprocesamiento SimAtrico 17PS2 2+. ,endencias de los 7ultiprocesadores Introduccin y Definiciones Sobre Procesos El concepto central de cualBuier Sistema perati!o es el de proceso4 una abstraccin de un pro3rama en e%ecucin tambiAn llamada tarea. No Cay un acuerdo uni!ersal sobre una definicin de procesoD pero s< al3unas definiciones aceptadas4 En pro3rama Bue se est8 e%ecutando. Ena acti!idad asincrnica. El emplazamiento del control de un procedimiento Bue est8 siendo e%ecutado. )Buello Bue se manifiesta por la e:istencia en el Sistema perati!o de un bloque de control de proceso. )Buella entidad a la cual son asi3nados los procesadores. Fa unidad despachable. En sistemas de multiprogramacin la cpu alterna de pro3rama en pro3ramaD en un esBuema de seudo paralelismo D es decir Bue la cpu e%ecuta en cierto instante un solo pro3ramaD intercambiando muy r8pidamente entre uno y otro. El paralelismo real de hardware se da en las si3uientes situaciones4 En e%ecucin de instrucciones de pro3rama con m8s de un procesador de instrucciones en uso simult8neamente. 'on la superposicin de e%ecucin de instrucciones de pro3rama con la e%ecucin de una o m8s operaciones de entrada @ salida. El ob%eti!o es aumentar el paralelismo en la e%ecucin. El modelo de procesos posee las si3uientes caracter<sticas4 ,odo el soft>are e%ecutableD inclusi!e el Sistema perati!oD se or3ani-a en !arios procesos secuenciales o procesos. En proceso incluye al pro3rama en e%ecucin y a los !alores acti!os del contadorD re3istros y !ariables del mismo. 'onceptualmente cada proceso tiene su propia cpu !irtual. Si la cpu alterna entre los procesosD la !elocidad a la Bue e%ecuta un proceso no ser8 uniformeD por lo Bue es necesario aclarar lo si3uiente4 o 6ue los procesos no deben pro3ramarse con Ciptesis impl<citas acerca del tiempo. o 6ue normalmente la mayor<a de los procesos no son afectados por la multipro3ramacin subyacente de la cpu o las !elocidades relati!as de procesos distintos. En proceso es una acti!idad de un cierto tipoD Bue tiene un pro3ramaD entradaD salida y estado. En solo procesador puede ser compartido entre !arios procesos con cierto algoritmo de planificacin D el cual determina cu8ndo detener el traba%o en un proceso y dar ser!icio a otro distinto 1!er /i3ura 2.12. En cuanto a las jerarquas de procesos es necesario se5alar Bue los Sistemas perati!os deben disponer de una forma de crear y destruir procesos cuando se reBuiera durante la operacinD teniendo adem8s presente Bue los procesos pueden 3enerar procesos Ci%os mediante llamadas al Sistema perati!oD pudiendo darse e%ecucin en paralelo. .especto de los estados del proceso deben efectuarse las si3uientes consideraciones4 'ada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos 1!er /i3ura 2.22. Fos procesos pueden bloBuearse en su e%ecucin porBue4 o Desde el punto de !ista l3ico no puede continuar porBue espera datos Bue an no est8n disponibles. o El Sistema perati!o asi3n la cpu a otro proceso. Fos estados Bue puede tener un proceso son 1!er /i3ura 2.324 o !n ejecucin" utili-a la cpu en el instante dado. o #isto" e%ecutableD se detiene en forma temporal para Bue se e%ecute otro proceso. o $loqueado" no se puede ejecutar debido a la ocurrencia de al3n e!ento e:terno. Son posibles cuatro transiciones entre estos estados. !stados de Procesos Durante su e:istencia un proceso pasa por una serie de estados discretosD siendo !arias las circunstancias Bue pueden Cacer Bue el mismo cambie de estado. Debido a ello se puede establecer una GFista de FistosH para los procesos GlistosH y una GFista de ?loBueadosH para los GbloBueadosH. Fa Lista de Listos se mantiene en orden prioritario y la Lista de Bloqueados est8 desordenadaD ya Bue los procesos se desbloBuean en el orden en Bue tienen lu3ar los e!entos Bue est8n esperando. )l admitirse un traba%o en el sistema se crea un proceso eBui!alente y es insertado en la ltima parte de la Lista de Listos. Fa asi3nacin de la cpu al primer proceso de la Lista de Listos se denomina GDespacCoHD Bue es e%ecutado por una entidad del Sistema perati!o llamada Despachador. El G?loBueoH es la nica transicin de estado iniciada por el propio proceso del usuarioD puesto Bue las otras transiciones son iniciadas por entidades a%enas al proceso. Fa manifestacin de un proceso en un Sistema perati!o es un Bloque de Control de Proceso 1P'?2 con informacin Bue incluye4 Estado actual del proceso. Identificacin nica del proceso. Prioridad del proceso. )puntadores para locali-ar la memoria del proceso. )puntadores para asi3nar recursos. =rea para preser!ar re3istros. 'uando el Sistema perati!o cambia la atencin de la cpu entre los procesosD utili-a las 8reas de preser!acin del P'? para mantener la informacin Bue necesita para reiniciar el proceso cuando consi3a de nue!o la cpu. Fos sistemas Bue administran los procesos deben poder crearD destruirD suspenderD reanudarD cambiar la prioridadD bloBuearD despertar y despacCar un proceso. Fa creacin de un proceso si3nifica4 Dar nombre al proceso. Insertar un proceso en la lista del sistema de procesos conocidos. Determinar la prioridad inicial del proceso. 'rear el bloBue de control del proceso. )si3nar los recursos iniciales del proceso. En proceso puede crear un nuevo procesoD en cuyo caso el proceso creador se denomina proceso padre y el proceso creado proceso hijo y se obtiene una estructura jerrquica de procesos. Fa destruccin de un proceso implica4 ?orrarlo del sistema. De!ol!er sus recursos al sistema. Pur3arlo de todas las listas o tablas del sistema. ?orrar su bloBue de control de procesos. En proceso suspendido no puede prose3uir Casta Bue otro proceso lo reanude. .eanudar 1reacti!ar2 un proceso implica reiniciarlo en el punto donde fue suspendido. Fa destruccin de un proceso puede o no si3nificar la destruccin de los procesos Ci%osD se3n el Sistema perati!o. 0eneralmente se denomina a!la de Procesos al con%unto de informacin de control sobre los distintos procesos. Procesamiento de Interrupciones Ena GinterrupcinH es un e!ento Bue altera la secuencia en Bue el procesador e%ecuta las instruccionesI es un CecCo 3enerado por el Card>are del computador. 'uando ocurre una interrupcinD el Sistema perati!o4 btiene el control. Sal!a el estado del proceso interrumpidoD 3eneralmente en su bloBue de control de procesos. )nali-a la interrupcin. ,ransfiere el control a la rutina apropiada para la manipulacin de la interrupcin. Ena interrupcin puede ser iniciada por un proceso en estado de e%ecucin o por un e!ento Bue puede o no estar relacionado con un proceso en e%ecucin. 0eneralmente las interrupciones se pueden clasificar por tipos se3n el si3uiente detalle 1!er ,abla 2.14 "#C $llamada al supervisor%& es una peticin 3enerada por el usuario para un ser!icio particular del sistemaD por e%emploD reali-acin de Entrada @ Salida u obtencin de m8s memoria. 'ntrada ( "alida& son iniciadas por el Card>are de Entrada @ SalidaD indicando a la cpu Bue Ca cambiado el estado de un canal o dispositi!oD por e%emploD finali-acin de Entrada @ Salida u ocurrencia de un error. ')ternas& son causadas por distintos e!entosD por e%emploD e:piracin de un cuanto en un relo% de interrupcin o recepcin de una se5al de otro procesador en un sistema multiprocesador. De reinicio& ocurren al presionar la Gtecla de reinicioH o cuando lle3a una instruccin de reinicio de otro procesador en un sistema multiprocesador. De verificacin de programa& son causadas por errores producidos durante la e%ecucin de procesosD por e%emplo4 o En intento de di!idir por cero. o En intento de un proceso de usuario de e%ecutar una instruccin pri!ile3iada. o En intento de e%ecutar un cdi3o de operacin in!8lido. De verificacin de mquina& son ocasionadas por un mal funcionamiento del Card>are. %ipo de Interrupcin Descripcin S*' Flamada al Sistema perati!o Entrada @ Salida 'ambio de estado de un canal o dispositi!o E:terna E!ento e:terno al sistema De .einicio .einicio del procesamiento De *erificacin de Pro3rama Errores de procesos De *erificacin de 78Buina Errores de Card>are %abla &.'" %ipos de interrupciones. El Sistema perati!o incluye rutinas llamadas ()anipuladores de Interrupciones *I+,- para procesar cada tipo diferente de interrupcin. 'uando se produce una interrupcin el Sistema perati!o efecta las si3uientes acciones4 Sal!a el estado del proceso interrumpido. Diri3e el control al manipulador de interrupciones adecuado. Se aplica la tAcnica de G'ambio de 'onte:toH . Fos Sistemas perati!os instrumentan informacin de control Bue puede aparecer como las GPalabras de Estado de Pro3rama 1PSJ2HD las cuales controlan el orden de e%ecucin de las instrucciones y contienen informacin sobre el estado del proceso. E:isten tres tipos de PSJD Bue son la GactualHD la Gnue!aH y la G!ie%aH. Fa GPSJ )ctualH almacena la direccin de la pr:ima instruccin Bue ser8 e%ecutada e indica los tipos de instrucciones actualmente GCabilitadasH e inCabilitadasH. En un sistema uniprocesador e:iste4 Solo una PSJ actual. Seis PSJ nue!as 1una para cada tipo de interrupcin2. Seis PSJ !ie%as 1una para cada tipo de interrupcin2. Fa PSJ nue!a para un tipo de interrupcin dado contiene la direccin en el Card>are donde reside el manipulador de interrupciones para este tipo espec<fico. 'uando ocurre una interrupcin para la cual el procesador no est8 inCabilitadoD ocurren las si3uientes acciones4 El Card>are cambia las PSJ en los casos si3uientes4 o )l almacenar la PSJ actual en la PSJ !ie%aD para este tipo de interrupcin. o )l almacenar la PSJ nue!a en la PSJ actualD para este tipo de interrupcin. Fue3o de este Gintercambio de PSJH4 o Fa PSJ actual contiene la direccin del manipulador de interrupcin adecuado. o El manipulador de interrupciones procesa la interrupcin. o Fue3o de procesar la interrupcinD la cpu es en!iada al4 Proceso Bue estaba en e%ecucin en el momento de la interrupcinD o al Proceso de listo de m8s alta prioridad. o Fa accin precedente depende de si el proceso de interrupcin es4 (Apropiati.o-" obtiene la cpu solo si no Cay procesos de listos. (/o apropiati.o-" obtiene de nue!o la cpu. !l /0cleo del Sistema 1perati.o El n*cleo del Sistema perati!o controla todas las operaciones Bue implican procesos y representa solo una peBue5a porcin del cdi3o de todo el Sistema perati!o pero es de amplio uso. 0eneralmente permanece en el almacenamiento primario. El proceso de interrupciones se incluye en el ncleo ya Bue debe ser r8pido 1especialmente en sistemas multiusuario2D para optimi-ar el uso de los recursos del sistema y pro!eer tiempos de respuesta aceptables a los usuarios interacti!os. El n0cleo inCabilita las interrupciones mientras responde a una interrupcin. Fas interrupciones son Cabilitadas de nue!o despuAs de completar el proceso de una interrupcin. El n0cleo del Sistema perati!o 3eneralmente reali-a las si3uientes funciones" 7anipulacin de interrupciones. 'reacin y destruccin de procesos. 'ambio de estados de procesos. DespacCo. Suspensin y reanudacin de procesos. Sincroni-acin de procesos. 'omunicacin entre procesos. 7anipulacin de bloBues de control de proceso. Soporte de las acti!idades de Entrada @ Salida. Soporte de la asi3nacin y desasi3nacin de almacenamiento. Soporte del sistema de arcCi!os. Soporte de un mecanismo de llamada @ re3reso al procedimiento. Soporte de ciertas funciones contables 1estad<sticas2 del sistema. Planificacin de Procesos 'uando m8s de un proceso es e%ecutable desde el punto de !ista l3icoD el Sistema perati!o debe decidir cu8l de ellos debe e%ecutarse en primer tArmino. El Planificador es la porcin del Sistema perati!o Bue decide y el Algoritmo de Planificacin es el utili-ado. Fos principales criterios respecto de un buen al3oritmo de planificacin son la eBuidadD la eficaciaD el tiempo de respuestaD el tiempo de re3reso y el rendimiento 1!er ,abla 2.22. 2riterio Descripcin EBuidad 0aranti-ar Bue cada proceso obtiene su proporcin %usta de la cpu Eficacia 7antener ocupada la cpu el ciento por ciento del tiempo ,iempo de respuesta 7inimi-ar el tiempo de respuesta para los usuarios interacti!os ,iempo de re3reso 7inimi-ar el tiempo Bue deben esperar los usuarios por lotes 1batcC2 para obtener sus resultados .endimiento 7a:imi-ar el nmero de tareas procesadas por Cora %abla &.&" 2riterios de un buen algoritmo de planificacin. )l3unas de estas metas son contradictoriasD por e%emploD minimi-ar el tiempo de respuesta para los usuarios interacti!os si3nificar<a no e%ecutar las tareas batcC. 'ada proceso es nico e impredecibleD es decir Bue pueden reBuerir intensi!amente operaciones de Entrada @ Salida o intensi!amente cpuI el planificador del Sistema perati!o no tiene la certe-a de cu8nto tiempo transcurrir8 Casta Bue un proceso se bloBueeD ya sea por una operacin de Entrada @ Salida o por otra ra-n . Para e!itar Bue un proceso se apropie de la cpu un tiempo e:cesi!oD los eBuipos poseen un dispositi!o Bue pro!oca una interrupcin en forma peridicaD por e%emplo #+ C-D o sea sesenta !eces por se3undo. En cada interrupcin del relo% el Sistema perati!o decide si el proceso Bue se est8 e%ecutando contina o si el proceso a3ot su tiempo de cpu y debe suspenderse y ceder la cpu a otro proceso. Fos principales conceptos relacionados con la Planificacin del Procesador son los si3uientes4 Planificacin apropiativa& es la estrate3ia de permitir Bue procesos e%ecutables 1desde el punto de !ista l3ico2 sean suspendidos temporalmente. Planificacin no apropiativa& es la estrate3ia de permitir la e%ecucin de un proceso Casta terminar. Planificacin del procesador& determinar cu8ndo deben asi3narse los procesadores y a BuA procesosD lo cual es responsabilidad del Sistema perati!o. /i.eles de Planificacin del Procesador Se consideran tres ni!eles importantes de planificacinD los Bue se detallan a continuacin 1!er /i3ura 2.424 Planificacin de alto nivel& o ,ambiAn se denomina Planificacin de traba%os. o Determina a BuA traba%os se les !a a permitir competir acti!amente por los recursos del sistemaD lo cual se denomina Planificacin de admisin. Planificacin de nivel intermedio& o Determina a BuA procesos se les puede permitir competir por la cpu. o .esponde a fluctuaciones a corto pla-o en la car3a del sistema y efecta GsuspensionesH y Gacti!acionesH 1GreanudacionesH2 de procesos. o Debe ayudar a alcan-ar ciertas metas en el rendimiento total del sistema. Planificacin de !ajo nivel& o Determina a BuA proceso listo se le asi3na la cpu cuando esta Bueda disponible y asi3na la cpu al mismoD es decir Bue GdespacCaH la cpu al proceso. o Fa efecta el Despachador del Sistema perati!oD el Bue opera mucCas !eces por se3undo y reside siempre en el almacenamiento primario. Fos distintos Sistemas perati!os utili-an !arias Polticas de PlanificacinD Bue se instrumentan mediante )ecanismos de Planificacin. 1bjeti.os de la Planificacin Fos ob%eti!os de la planificacin del procesador son los si3uientes e in!olucran a los conceptos detallados se3uidamente4 Ser justa" o ,odos los procesos son tratados de i3ual manera. o Nin3n proceso es poster3ado indefinidamente. )a3imizar la capacidad de ejecucin" o 7a:imi-ar el nmero de procesos ser!idos por unidad de tiempo. )a3imizar el n0mero de usuarios interacti.os que reciban unos tiempos de respuesta aceptables" o En un m8:imo de unos se3undos. Ser predecible" o En traba%o dado debe e%ecutarse apro:imadamente en la misma cantidad de tiempo independientemente de la car3a del sistema. )inimizar la sobrecarga" o No suele considerarse un ob%eti!o muy importante. !quilibrar el uso de recursos" o /a!orecer a los procesos Bue utili-ar8n recursos infrautili-ados. !quilibrar respuesta y utilizacin" o Fa me%or manera de 3aranti-ar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitanD pero la utili-acin total de recursos podr8 ser pobre. !.itar la postergacin indefinida" o Se utili-a la estrate3ia del Gen!e%ecimientoH . o 7ientras un proceso espera por un recurso su prioridad debe aumentarD as< la prioridad lle3ar8 a ser tan alta Bue el proceso recibir8 el recurso esperado. Asegurar la prioridad" o Fos mecanismos de planificacin deben fa!orecer a los procesos con prioridades m8s altas. Dar preferencia a los procesos que mantienen recursos cla.es" o En proceso de ba%a prioridad podr<a mantener un recurso cla!eD Bue puede ser reBuerido por un proceso de m8s alta prioridad. o Si el recurso es no apropiati!oD el mecanismo de planificacin debe otor3ar al proceso un tratamiento me%or del Bue le corresponder<a normalmenteD puesto Bue es necesario liberar r8pidamente el recurso cla!e. Dar mejor tratamiento a los procesos que muestren un (comportamiento deseable-" o En e%emplo de comportamiento deseable es una tasa ba%a de pa3inacin. Degradarse sua.emente con cargas pesadas" o En mecanismo de planificacin no debe colapsar con el peso de una e:i3ente car3a del sistema. o Se debe e!itar una car3a e:cesi!a mediante las si3uientes acciones4 No permitiendo Bue se creen nue!os procesos cuando la car3a ya es pesada. Dando ser!icio a la car3a m8s pesada al proporcionar un ni!el moderadamente reducido de ser!icio a todos los procesos. 7ucCas de estas metas se encuentran en conflicto entre s<D por lo Bue la planificacin se con!ierte en un problema comple%o. 2riterios de Planificacin Para reali-ar los ob%eti!os de la planificacinD un mecanismo de planificacin debe considerar lo si3uiente4 Fa limitacin de un proceso a las operaciones de Entrada @ Salida4 cuando un proceso consi3ue la cpuD Kla utili-a solo bre!emente antes de 3enerar una peticin de Entrada @ SalidaL. Fa limitacin de un proceso a la cpu4 cuando un proceso obtiene la cpuD Ktiende a usarla Casta Bue e:pira su tiempoL. Si un proceso es por lote 1batcC2 o interacti!o4 los usuarios interacti!os deben recibir inmediato ser!icio para 3aranti-ar buenos tiempos de respuesta. K6uA ur3encia tiene una respuesta r8pidaL4 por e%emploD un proceso de tiempo real de un sistema de control Bue super!ise una refiner<a de combustible reBuiere una respuesta r8pidaD m8s r8pida Bue la respuesta reBuerida por un proceso en lotes 1batcC2 Bue deber8 entre3arse al d<a si3uiente. Fa prioridad de un proceso4 a mayor prioridad me%or tratamiento. /recuentemente un proceso 3enera fallos 1carencias2 de p83ina4 o Probablemente los procesos Bue 3eneran pocos fallos de p83ina Cayan acumulado sus Gcon%untos de traba%oH en el almacenamiento principal. o Fos procesos Bue e:perimentan 3ran cantidad de fallos de p83ina an no Can establecido sus con%untos de traba%o. o En criterio indica fa!orecer a los procesos Bue Can establecido sus con%untos de traba%o. o tro criterio indica fa!orecer a los procesos con una tasa alta de fallos de p83ina ya Bue r8pidamente 3enerar8n una peticin de Entrada @ Salida. /recuentemente un proceso Ca sido apropiado por otro de m8s alta prioridadD lo cual si3nifica lo si3uiente4 o ) menudo los procesos apropiados deben recibir un tratamiento menos fa!orable. o 'ada !e- Bue el Sistema perati!o asume la sobrecar3a para Cacer e%ecutar este procesoD el corto tiempo de e%ecucin antes de la apropiacin no %ustifica la sobrecar3a de Cacer e%ecutar al proceso en primer lu3ar. K'u8nto tiempo de e%ecucin real Ca recibido el procesoL4 un criterio considera Bue debe ser fa!orecido un proceso Bue Ca recibido muy poco tiempo de cpu. K'u8nto tiempo adicional !a a necesitar el proceso para terminarL4 los tiempos promedio de espera pueden reducirse priori-ando los procesos Bue reBuieren de un tiempo de e%ecucin m<nimo para su terminacinD pero pocas !eces es posible conocer la cantidad de tiempo adicional Bue cada proceso necesita para terminar. Planificacin Apropiati.a 4ersus /o Apropiati.a Fas Disciplinas de Planificacin pueden ser Apropiati.as o /o Apropiati.as 1!er ,abla 2.32. Disciplina Descripcin G)propiati!aH Ena !e- Bue se le Ca otor3ado la cpu a un procesoD le puede ser retirada GNo )propiati!aH Ena !e- Bue se le Ca otor3ado la cpu a un procesoD no le puede ser retirada %abla &.5" Disciplinas de planificacin del procesador. Fas principales caracter<sticas de la planificacin apropiati.a son las si3uientes4 Es til cuando los procesos de alta prioridad reBuieren atencin r8pida. Es importante para 3aranti-ar buenos tiempos de respuesta en sistemas interacti!os de tiempo compartido. ,iene su costo en recursosD ya Bue el intercambio de conte:to implica sobrecar3a y adem8s reBuiere mantener mucCos procesos en el almacenamiento principalD en espera de la cpuD lo Bue tambiAn implica sobrecar3a. Fas principales caracter<sticas de la planificacin no apropiati.a son las si3uientes4 Si3nifica Bue los traba%os Glar3osH Cacen esperar a los traba%os GcortosH. Fo3ra m8s eBuidad en el tratamiento de los procesos. Fo3ra Cacer m8s predecibles los tiempos de respuesta puesto Bue los traba%os nue!os de prioridad alta no pueden despla-ar a los traba%os en espera. El dise5o de un mecanismo apropiati!o Cace necesario considerar las arbitrariedades de casi cualBuier esBuema de prioridadesD en ra-n de Bue mucCas !eces las propias prioridades no son asi3nadas de forma si3nificati!a. El mecanismo deber<a ser sencillo pero efecti!o y si3nificati!o. %emporizador de Inter.alos o 6eloj de Interrupcin El proceso al cual est8 asi3nada la cpu se dice Bue est8 en e%ecucin y puede ser un proceso de Sistema perati!o o de usuario. El Sistema perati!o dispone de mecanismos para Buitarle la cpu a un proceso de usuario para e!itar Bue monopolice el sistema. El Sistema perati!o posee un reloj de interrupcin o tempori+ador de intervalos para 3enerar una interrupcinD en al3n tiempo futuro espec<fico o despuAs de un transcurso de tiempo en el futuroI la cpu es entonces despacCada Cacia el si3uiente proceso. En proceso retiene el control de la cpu Casta Bue ocurra al3una de las si3uientes situaciones4 Fa libera !oluntariamente. El relo% la interrumpe. )l3una otra interrupcin atrae la atencin de la cpu. Si el relo% interrumpe un proceso de usuarioD la interrupcin causa la e%ecucin del Sistema perati!oD el Bue decide cu8l ser8 el proceso Bue obtendr8 la cpu. El relo% de interrupcin ayuda a 3aranti-ar tiempos de respuesta ra-onables a usuarios interacti!osD ya Bue e!ita Bue el sistema se Gcuel3ueH a un solo usuario en un ciclo infinito y permite Bue los procesos respondan a Ge!entos dependientes del tiempoH. )simismoD los procesos Bue necesitan una e%ecucin peridica dependen del relo% de interrupcin. Prioridades Fas prioridades pueden ser de distinto tipo 1!er ,abla 2.42. %ipos de prioridades )si3nadas autom8ticamente por el sistema )si3nadas desde el e:terior Din8micas Est8ticas )si3nadas racionalmente )si3nadas arbitrariamente %abla &.7" %ipos de prioridades. En el caso de prioridades asi3nadas arbitrariamenteD un mecanismo del sistema necesita distin3uir entre procesos sin importarle cu8l es el m8s importante. Fas principales caracter<sticas de las prioridades est8ticas son las si3uientes4 No cambian. Fos mecanismos de implementacin son sencillos. Implican una sobrecar3a relati!amente ba%a. No responden a cambios en el ambiente 1conte:to2 Bue Car<an deseable a%ustar al3una prioridad. Fas principales caracter<sticas de las prioridades din8micas son las si3uientes4 .esponden al cambio. Fa prioridad inicial asi3nada a un proceso puede durar poco tiempoD lue3o se la rea%usta a un me%or !alor. Fos mecanismos de implementacin son m8s complicados Bue para prioridades est8ticas. Implican una sobrecar3a mayor Bue para esBuemas est8ticos. .especto de las prioridades adquiridasD se Cace referencia al tratamiento especial Bue en situaciones e:cepcionales reBuiere un cierto procesoD lo Bue puede si3nificar restar recursos a los dem8s procesos. %ipos de Planificacin Planificacin a Plazo 9ijo 'iertos traba%os se planifican para ser terminados en un tiempo espec<fico o pla-o fi%o. Es una planificacin comple%a debido a los si3uientes factores4 El usuario debe suministrar anticipadamente una lista precisa de recursos necesarios para el procesoD pero 3eneralmente no se dispone de dicCa informacin. Fa e%ecucin del traba%o de pla-o fi%o no debe producir una 3ra!e de3radacin del ser!icio a otros usuarios. El sistema debe planificar cuidadosamente sus necesidades de recursos Casta el pla-o fi%oD lo Bue se puede complicar con las demandas de recursos de nue!os procesos Bue in3resen al sistema. Fa concurrencia de !arios procesos de pla-o fi%o 1acti!os a la !e-2 puede reBuerir mAtodos sofisticados de optimi-acin. Fa administracin intensi!a de recursos puede 3enerar una considerable sobrecar3a adicional. Planificacin :arantizada Se establecen compromisos de desempe5o con el proceso del usuarioD por e%emploD si e:isten n procesos en el sistemaD el proceso del usuario recibir8 cerca del , ( n de la potencia de la cpu. El sistema debe tener un re3istro del tiempo de cpu Bue cada proceso Ca tenido desde su entrada al sistema y del tiempo transcurrido desde esa entrada. 'on los datos anteriores y el re3istro de procesos en curso de e%ecucinD el sistema calcula y determina BuA procesos est8n m8s ale%ados por defecto de la relacin , ( n prometida y priori-a los procesos Bue Can recibido menos cpu de la prometida. Planificacin del Primero en !ntrar Primero en Salir *9I91, Es muy simpleD los procesos se despacCan de acuerdo con su tiempo de lle3ada a la cola de listos. Ena !e- Bue el proceso obtiene la cpuD se e%ecuta Casta terminarD ya Bue es una disciplina Gno apropiati!aH. Puede ocasionar Bue procesos lar3os Ca3an esperar a procesos cortos y Bue procesos no importantes Ca3an esperar a procesos importantes. Es m8s predecible Bue otros esBuemas. No puede 3aranti-ar buenos tiempos de respuesta interacti!os. Suele utili-arse inte3rado a otros esBuemasD por e%emploD de la si3uiente manera4 Fos procesos se despacCan con al3n esBuema de prioridad. Fos procesos con i3ual prioridad se despacCan G/I/H. Planificacin de Asignacin en 6ueda *66" 6ound 6obin, Fos procesos se despacCan en G/I/H y disponen de una cantidad limitada de tiempo de cpuD llamada Gdi!isin de tiempoH o GcuantoH. Si un proceso no termina antes de e:pirar su tiempo de cpu ocurren las si3uientes acciones4 1. Fa cpu es apropiada. 2. Fa cpu es otor3ada al si3uiente proceso en espera. 3. El proceso apropiado es situado al final de la lista de listos. Es efecti!a en ambientes de tiempo compartido. Fa sobrecar3a de la apropiacin se mantiene ba%a mediante mecanismos eficientes de intercambio de conte:to y con suficiente memoria principal para los procesos. %ama;o del 2uanto o <uantum Fa determinacin del tama5o del cuanto es decisi!a para la operacin efecti!a de un sistema computacional. Fos interro3antes son4 Kcuanto peBue5o o 3randeLD Kcuanto fi%o o !ariableL y Kcuanto i3ual para todos los procesos de usuarios o determinado por separado para cada uno de ellosL. Si el cuanto se Cace muy 3randeD cada proceso recibe todo el tiempo necesario para lle3ar a su terminacinD por lo cual la asi3nacin en rueda 1G..H2 de3enera en G/I/H. Si el cuanto se Cace muy peBue5oD la sobrecar3a del intercambio de conte:to se con!ierte en un factor dominante y el rendimiento del sistema se de3radaD puesto Bue la mayor parte del tiempo de cpu se in!ierte en el intercambio del procesador 1cambio de conte:to2 y los procesos de usuario disponen de muy poco tiempo de cpu. El cuanto debe ser lo suficientemente 3rande como para permitir Bue la 3ran mayor<a de las peticiones interacti!as reBuieran de menos tiempo Bue la duracin del cuantoD es decir Bue el tiempo transcurrido desde el otor3amiento de la cpu a un proceso Casta Bue 3enera una peticin de Entrada @ Salida debe ser menor Bue el cuanto establecidoD de esta formaD ocurrida la peticin la cpu pasa a otro proceso y como el cuanto es mayor Bue el tiempo transcurrido Casta la peticin de Entrada @ SalidaD los procesos traba%an al m8:imo de !elocidadD se minimi-a la sobrecar3a de apropiacin y se ma:imi-a la utili-acin de la Entrada @ Salida. El cuanto ptimo !ar<a de un sistema a otro y con la car3aD siendo un !alor de referencia 1++ mse3 1cien milise3undos2. Planificacin del %rabajo )8s 2orto Primero *S=9, Es una disciplina no apropiati!a y por lo tanto no recomendable en ambientes de tiempo compartido. El proceso en espera con el menor tiempo estimado de e%ecucin Casta su terminacin es el si3uiente en e%ecutarse. Fos tiempos promedio de espera son menores Bue con G/I/H. Fos tiempos de espera son menos predecibles Bue en G/I/H. /a!orece a los procesos cortos en detrimento de los lar3os. ,iende a reducir el nmero de procesos en espera y el nmero de procesos Bue esperan detr8s de procesos lar3os. .eBuiere un conocimiento preciso del tiempo de e%ecucin de un procesoD lo Bue 3eneralmente se desconoce. Se pueden estimar los tiempos en base a series de !alores anteriores. Planificacin del %iempo 6estante )8s 2orto *S6%, Es la contraparte apropiati!a del S9/. Es til en sistemas de tiempo compartido. El proceso con el tiempo estimado de e%ecucin menor para Mfinali-ar es el si3uiente en ser e%ecutado. En proceso en e%ecucin puede ser apropiado por un nue!o proceso con un tiempo estimado de e%ecucin menor. ,iene mayor sobrecar3a Bue la planificacin S9/. Debe mantener un re3istro del tiempo de ser!icio transcurrido del proceso en e%ecucinD lo Bue aumenta la sobrecar3a. Fos traba%os lar3os tienen un promedio y una !arian-a de los tiempos de espera an mayor Bue en S9/. Fa apropiacin de un proceso a punto de terminar por otro de menor duracin reciAn lle3ado podr<a si3nificar un mayor tiempo de cambio de conte:to 1administracin del procesador2 Bue el tiempo de finali-acin del primero. -l dise.arse los "istemas /perativos se de!e considerar cuidadosamente la so!recarga de los mecanismos de administracin de recursos comparndola con los !eneficios esperados. Planificacin el Siguiente con 6elacin de 6espuesta )83ima *+6/, 'orri3e al3unas de las debilidades del S9/D tales como el e:ceso de per%uicio Cacia los procesos 1traba%os2 lar3os y el e:ceso de fa!oritismo Cacia los nue!os traba%os cortos. Es una disciplina no apropiati!a. Fa prioridad de cada proceso est8 en funcin no slo del tiempo de ser!icio del traba%oD sino Bue tambiAn influye la cantidad de tiempo Bue el traba%o Ca estado esperando ser ser!ido. 'uando un proceso Ca obtenido la cpuD corre Casta terminar. Fas prioridadesD Bue son din8micasD se calculan se3n la si3uiente frmulaD donde p r es la prioridadD t e es el tiempo de espera y t s es el tiempo de servicio& Planificacin por Prioridad 'onsidera factores e:ternos al proceso. Fas ideas centrales son Bue cada proceso tiene asociada una prioridad y Bue el proceso e%ecutable con m8:ima prioridad es el Bue tiene el permiso de e%ecucin. Fos procesos de alta prioridad podr<an e%ecutar indefinidamenteD ya Bue el planificador del sistema puede disminuir la prioridad del proceso en e%ecucin en cada interrupcin del relo%. Fas prioridades tambiAn pueden ser asi3nadas din8micamente por el sistema para lo3rar ciertas metas relacionadas con el procesador o la Entrada @ Salida. Fos procesos limitados por la Entrada @ Salida 1reBuerimientos intensi!os de Entrada @ Salida2 ocupan mucCo de su tiempo en espera de operaciones de Entrada @ SalidaD por lo tanto4 Deben tener prioridad para usar la cpu y efectuar la si3uiente peticin de Entrada @ SalidaD ya Bue se e%ecutar8 1la operacin de Entrada @ Salida2 en paralelo con otro proceso Bue utilice la cpu. Si deben esperar mucCo tiempo a la cpu estar8n ocupando memoria por un tiempo innecesario. En al3oritmo sencillo consiste en establecer Bue la prioridad sea , ( f0 donde f es la fraccin del ltimo cuanto utili-ado por el proceso. En proceso Bue utilice 2 mse3 1dos milise3undos2 de su cuanto de 1++ mse3 1cien milise3undos2 tendr8 prioridad "+ 1cincuenta2. En proceso Bue se e%ecut "+ mse3 antes del bloBueo tendr8 prioridad 2. En proceso Bue utili- todo el cuanto tendr8 prioridad 1. /recuentemente los procesos se a3rupan en Clases de Prioridad0 en cuyo caso se utili-a la Planificacin con Prioridades entre las clases y con .ound .obin 1..2 dentro de cada clase. Si las prioridades no se rea%ustan en al3n momentoD los procesos de las clases de prioridad m<nima podr<an demorarse indefinidamente. 2olas de 6etroalimentacin de /i.eles )0ltiples Proporcionan una estructura para lo3rar los si3uientes ob%eti!os4 /a!orecer traba%os cortos. /a!orecer traba%os limitados por la Entrada @ Salida para optimi-ar el uso de los dispositi!os de Entrada @ Salida. Determinar la naturale-a de un traba%o lo m8s r8pido posible y planificar el traba%o 1proceso2 en consecuencia. En nue!o proceso entra en la red de l<nea de espera al final de la cola superior. Se mue!e por esta cola G/I/H Casta obtener la cpu. Si el traba%o termina o abandona la cpu para esperar por la terminacin de una operacin de Entrada @ Salida o la terminacin de al3n otro sucesoD el traba%o abandona la red de l<nea de espera. Si su cuanto e:pira antes de abandonar la cpu !oluntariamenteD el proceso se coloca en la parte trasera de la cola del si3uiente ni!el inferior. El traba%o recibe ser!icio al lle3ar a la cabe-a de esta cola si la primera est8 !ac<a. 7ientras el proceso contine consumiendo totalmente su cuanto en cada ni!elD continuar8 mo!iAndose Cacia el final de las colas inferiores. 0eneralmente Cay una cola en la parte m8s profunda a tra!As de la cual el proceso circula en asi3nacin de rueda Casta Bue termina. E:isten esBuemas en los Bue el cuanto otor3ado al proceso aumenta a medida Bue el proceso se mue!e Cacia las colas de los ni!eles inferioresD en tal casoD cuanto m8s tiempo Caya estado el proceso en la red de l<nea de esperaD mayor ser8 su cuanto cada !e- Bue obtiene la cpu y no podr8 obtener la cpu muy a menudo debido a la mayor prioridad de los procesos de las colas superiores. En proceso situado en una cola dada no podr8 ser e%ecutado Casta Bue las colas de los ni!eles superiores estAn !ac<as. En proceso en e%ecucin es apropiado por un proceso Bue lle3ue a una cola superior. Es un mecanismo adaptableD es decir Bue se adapta a car3as !ariables. ) los efectos de una re!isin 3r8fica de lo enunciado precedentementeD !er la fi3ura 2.". Poltica 4ersus )ecanismo de Planificacin Puede ocurrir Bue Caya procesos con mucCos procesos Ci%os e%ecut8ndose ba%o su controlD por e%emploD un proceso en un D?7S con procesos Ci%os atendiendo funciones espec<ficasD tales comoD an8lisis de interro3antesD acceso a discosD etc. Es posible Bue el proceso principal 1padre2 pueda identificar la importancia 1o criticidad2 de sus procesos Ci%osD pero los planificadores anali-ados no aceptan datos de los procesos de usuario relati!os a decisiones de planificacin. Fa solucin es separar el mecanismo de planificacin de la poltica de planificacinD para ello se parametri-a el al3oritmo de planificacin y los par8metros pueden ser determinados por medio de procesos del usuarioI as< el mecanismo est8 en el ncleo del Sistema perati!o pero la pol<tica Bueda establecida por un proceso del usuario. Planificacin de Dos /i.eles Fos esBuemas anali-ados Casta aCora suponen Bue todos los procesos e%ecutables est8n en la memoria principal. Si la memoria principal es insuficienteD ocurrir8 lo si3uiente4 ;abr8 procesos e%ecutables Bue se manten3an en disco. ;abr8 importantes implicaciones para la planificacinD tales como las si3uientes4 o El tiempo de alternancia entre procesos para traer y procesar un proceso del disco es considerablemente mayor Bue el tiempo para un proceso Bue ya est8 en la memoria principal. o Es m8s eficiente el intercambio de los procesos con un planificador de dos ni!eles. El esBuema operati!o de un planificador de dos ni!eles es como si3ue4 1. Se car3a en la memoria principal cierto subcon%unto de los procesos e%ecutables. 2. El planificador se restrin3e a ellos durante cierto tiempo. 3. Peridicamente se llama a un planificador de ni!el superior para efectuar las si3uientes tareas4 1. Eliminar de la memoria los procesos Bue Cayan permanecido en ella el tiempo suficiente. 2. 'ar3ar a memoria los procesos Bue Cayan estado en disco demasiado tiempo. 4. El planificador de ni!el inferior se restrin3e de nue!o a los procesos e%ecutables Bue se encuentren en la memoria. ". El planificador de ni!el superior se encar3a de despla-ar los procesos de memoria a disco y !ice!ersa. Fos criterios Bue podr<a utili-ar el planificador de ni!el superior para tomar sus decisiones son los Bue se indican a continuacin4 K'u8nto tiempo Ca transcurrido desde el ltimo intercambio del procesoL. K'u8nto tiempo de cpu Ca utili-ado recientemente el procesoL. K6uA tan 3rande es el procesoL 13eneralmente los procesos peBue5os no causan tantos problemas en este sentido2. K6uA tan alta es la prioridad del procesoL. El planificador de ni!el superior podr<a utili-ar cualBuiera de los mAtodos de planificacin anali-ados. )ultiprocesamiento Introduccin Es una tendencia si3nificati!a en el campo de la computacin. 'onsiste en confi3urar un sistema de computacin con !arios procesadores . No es un enfoBue nue!o pero s< posee 3randes perspecti!as en funcin del desarrollo de los microprocesadores. Se podr<an concebir sistemas construidos por cientos o miles de microprocesadores. 2onfiabilidad Si un procesador fallaD los restantes continan operandoD lo cual no es autom8tico y reBuiere de un dise5o cuidadoso. En procesador Bue falla Cabr8 de informarlo a los dem8s de al3una maneraD para Bue se Ca3an car3o de su traba%o. Fos procesadores en funcionamiento deben poder detectar el fallo de un procesador determinado. El Sistema perati!o debe percibir Bue Ca fallado un procesador determinado y ya no podr8 asi3narlo y tambiAn debe a%ustar sus estrate3ias de asi3nacin de recursos para e!itar la sobrecar3a del sistema Bue est8 de3radado. !3plotacin del Paralelismo La ma1or2a de los sistemas de multiprocesamiento tienen como meta principal el incremento de la capacidad de ejecucin. Fa pro3ramacin si3ue siendo esencialmente secuencial y 3eneralmente no se e:plota la concurrencia. Fas principales ra-ones son las si3uientes4 Fas personas piensan en forma secuencial. Nin3n len3ua%e Cumano proporciona la e:presin adecuada de paralelismoD pero e:isten len3ua%es de computacin con soporte de concurrencia 1por e%emploD )daD Pascal 'oncurrenteD etc.2. Ni el multiprocesamiento Ca sido usado con amplitud para e:plotar el paralelismo. El Card>are tradicional del computador est8 orientado Cacia la operacin secuencial. Es muy dif<cil depurar pro3ramas en paralelo. Fos multiprocesadores no se utili-an a menudo para e:plotar el paralelismo ya Bue es muy escaso el soft>are Bue e:plote el paralelismo. Fo deseable es Bue los Sistemas perati!os y compiladores puedan detectar e implementar el paralelismo autom8ticamente. Paralelismo )asi.o Se debe disponer de suficientes procesadores como para Bue todas las operaciones Bue puedan ser e%ecutadas en paralelo puedan ser asi3nadas a procesadores separados. Esto ofrece una forma de e%ecutar un pro3rama en el menor tiempo posible. Fa cuestin central esD disponiendo del paralelismo masi!oD Kcu8l es el tiempo m<nimo reBuerido para e%ecutar un al3oritmo determinadoL. )etas de los Sistemas de )ultiprocesamiento Fas metas de los sistemas de multiprocesamiento 3eneralmente son la confiabilidad y la disponibilidad muy altasD como as< tambiAn el incremento del poder de computacin. El dise5o modular proporciona una fle:ibilidad importante y facilita la e:pansin de la capacidad. Deteccin Autom8tica del Paralelismo Fos multiprocesadores Cacen posible la e:plotacin del paralelismo. Fos sistemas de computacin obtienen los beneficios del procesamiento concurrente m8s por la multiprogramacin de !arios procesos y menos por la e:plotacin del paralelismo dentro de un solo proceso. Fa deteccin del paralelismo es un problema comple%o y la puede efectuar el pro3ramadorD el traductor del len3ua%eD el Card>are o el Sistema perati!o. El paralelismo dentro de los pro3ramas puede ser e)pl2cito o impl2cito. Fas principales caracter<sticas del paralelismo e)pl2cito son las Bue se detallan a continuacin4 Es indicado de forma espec<fica por un pro3ramador mediante una Gconstruccin de concurrenciaH como la si3uiente4 cobegin> proposicin '> ................ proposicin n> coend> Se pueden utili-ar procesadores separados para e%ecutar cada una de las proposiciones. Es susceptible de errores de pro3ramacin dif<ciles de detectar y depurar. El pro3ramador puede omitir tratar situaciones donde ser<a aplicable el paralelismo. Fas principales caracter<sticas del paralelismo impl2cito son las Bue se detallan a continuacin4 Fa !erdadera esperan-a est8 en la deteccin autom8tica del paralelismo impl<cito. Es el paralelismo intr<nseco del al3oritmo pero no establecido e:pl<citamente por el pro3ramador. Fos compiladores e:plotan el paralelismo impl<cito mediante las tAcnicas de Gdistribucin de ciclosH y de Greduccin de la altura del 8rbolH. Distribucin de 2iclos Ena Gestructura de ciclos o de repeticinH implica la repeticin de una serie de proposiciones 1cuerpo del ciclo2 Casta Bue ocurre al3una condicin de terminacinD por e%emplo4 9or i ? ' to 5 Do > El procesador secuencial reali-ar8 en secuencia lo si3uiente4 En un sistema de multiprocesamiento con tres procesadores disponibles se podr<an e%ecutar concurrentemente. En compilador Bue detecte autom8ticamente el paralelismo impl<cito puede con!ertir el ciclo del e%emplo 2.2 en lo si3uiente4 cobegin> coend> Esta tAcnica se denomina distribucin de ciclos. 6educcin de la Altura del @rbol Etili-ando las propiedades asociati!aD conmutati!a y distributi!a de la aritmAticaD los compiladores pueden4 1. Detectar el paralelismo impl<cito en e:presiones al3ebraicas. 2. Producir un cdi3o ob%eto para multiprocesadores Bue indiBue las operaciones Bue se pueden reali-ar simult8neamente. 3. .eordenar e:presiones para Bue sean m8s apropiadas para la computacin en paralelo. Se in!ierten m8s tiempo y recursos durante la compilacin para reducir el tiempo de e%ecucinD es decir Bue se busca optimi-acin en el momento de la compilacin para lo3rar e%ecucin en tiempo m<nimoD lo Bue es aplicable especialmente cuando los sistemas pasan a produccinD no tanto cuando est8n en desarrollo 1!er /i3ura 2.#D /i3ura 2.$D /i3ura 2.& y /i3ura 2.(2. 3'4L- D' 565C- '"P'3-3& 's mejor darle a un procesador una tarea que puede llegar a no ser utili+ada0 que tenerlo ocioso. 1rganizacin del +ardware del )ultiprocesador El problema cla!e es determinar los medios de cone:in de los procesadores mltiples y los procesadores de Entrada @ Salida a las unidades de almacenamiento. Fos multiprocesadores se caracteri-an por los si3uientes aspectos4 En multiprocesador contiene dos o m8s procesadores con capacidades apro:imadamente comparables. ,odos los procesadores comparten el acceso a un almacenamiento comn y a canales de Entrada @ SalidaD unidades de control y dispositi!os. ,odo est8 controlado por un Sistema perati!o Bue proporciona interaccin entre procesadores y sus pro3ramas en los ni!eles de traba%oD tareaD pasoD arcCi!o y elementos de datos. Fas or3ani-aciones m8s comunes son las si3uientes4 ,iempo compartido o bus comn 1conductor comn2. 7atri- de barras cru-adas e interruptores. )lmacenamiento de intercone:in mltiple. %iempo 2ompartido o $us 2om0n *o 2onductor 2om0n, Esa un solo camino de comunicacin entre todas las unidades funcionales 1!er /i3ura 2.1+2. El bus comn es en esencia una unidad pasi!a. En procesador o procesador de Entrada @ Salida Bue desee transferir datos debe efectuar los si3uientes pasos4 1. *erificar la disponibilidad del conductor y de la unidad de destino. 2. Informar a la unidad de destino de lo Bue se !a a Cacer con los datos. 3. Iniciar la transferencia de datos. Fas unidades receptoras deben poder reconocer BuA mensa%es del bus son en!iados Cacia ellas y se3uir y confirmar las se5ales de control recibidas de la unidad emisora. Es una or3ani-acin econmicaD simple y fle:ible pero con una sola !<a de comunicacinD por lo cual4 El sistema falla totalmente si falla el bus. Fa tasa neta de transmisiones est8 limitada por la tasa neta de transmisin del conductor. Fa contencin por el uso del bus en un sistema sobrecar3ado puede ocasionar una seria de3radacin. )atriz de $arras 2ruzadas e Interruptores En este caso e:iste un camino diferente para cada unidad de almacenamientoD por lo cual las referencias a dos unidades diferentes de almacenamiento no son bloBueantes sino simult8neas y la multiplicidad de caminos de transmisin puede proporcionar tasas de transferencia muy altas 1!er /i3ura 2.112. Almacenamiento de Intercone3in )0ltiple Se obtiene al sacar las l3icas de controlD de conmutacin y de arbitra%e de prioridades fuera del interruptor de barras cru-adas y se las coloca en la interfa- de cada unidad de almacenamiento 1!er /i3ura 2.122. 'ada unidad funcional puede acceder a cada unidad de almacenamientoD pero slo en una Gcone:in de almacenamientoH espec<ficaD es decir Bue Cay una cone:in de almacenamiento por unidad funcional. El cone:ionado es m8s comple%o Bue en los otros esBuemas. Se puede restrin3ir el acceso a las unidades de almacenamiento para Bue no todas las unidades de procesamiento las accedanD en tal caso Cabr8 unidades de almacenamiento Gpri!adasH de determinados procesadores 1!er /i3ura 2.132. :rados de Acoplamiento en )ultiprocesamiento Fos 3rados de acoplamiento en multiprocesamiento pueden clasificarse de ligeramente acoplados 1!er /i3ura 2.142 o rgidamente acoplados 1!er /i3ura 2.1"2D se3n las caracter<sticas Bue se detallan en la ,abla 2.". :rados de acoplamiento en multiprocesamiento Descripcin Fi3eramente acoplado Incluye la cone:in de dos o m8s sistemas independientes por medio de un enlace de comunicacin. 'ada sistema tiene su propio Sistema perati!o y almacenamiento. Fos sistemas pueden funcionar independientemente y se comunican cuando sea necesario. Fos sistemas separados pueden acceder a los arcCi!os de los otros e intercambiar tareas a procesadores menos car3ados. .<3idamente acoplado Etili-a un solo almacenamiento compartido por !arios procesadores. Emplea un solo Sistema perati!o Bue controla todos los procesadores y el Card>are del sistema. %abla &.A" :rados de acoplamiento en multiprocesamiento. 1rganizacin )aestro B SatClite En procesador est8 dise5ado como el GmaestroH y los otros como GsatAlitesH. El procesador GmaestroH es de propsito 3eneral y reali-a operaciones de Entrada @ Salida y computaciones. Fos procesadores GsatAlitesH slo reali-an computaciones. Fos procesos limitados por computacin pueden e%ecutarse con efecti!idad en los satAlites. Fos procesos limitados por la Entrada @ Salida e%ecutados en los satAlites 3eneran frecuentes llamadas de ser!icios al procesador maestroD pudiendo resultar ineficientes. Si falla un satAlite se pierde capacidad computacional pero el sistema no falla. Si falla el maestro el sistema falla al no poder efectuar operaciones de Entrada @ SalidaD por lo Bue un satAlite deber<a asumir las funciones del maestro pre!io cambio de los perifAricos y reinicio del sistema. En el multiprocesamiento simAtrico todos pueden Cacer Entrada @ Salida. Sistema 1perati.o de )ultiprocesadores Fas capacidades funcionales de los Sistema perati!o de multipro3ramacin y de multiprocesadores incluyen lo si3uiente4 )si3nacin y administracin de recursos. Proteccin de tablas y con%untos de datos. Pre!encin contra el interbloBueo del sistema. ,erminacin anormal. EBuilibrio de car3as de Entrada @ Salida. EBuilibrio de car3a del procesador. .econfi3uracin. Fas tres ltimas son especialmente importantes en Sistemas perati!os de multiprocesadoresD donde es fundamental e:plotar el paralelismo en el Card>are y en los pro3ramas y Cacerlo autom8ticamente. Fas or3ani-aciones b8sicas de los Sistemas perati!os para multiprocesadores son las si3uientes4 7aestro @ satAlite. E%ecuti!o separado para cada procesador. ,ratamiento simAtrico 1o annimo2 para todos los procesadores. )aestro B SatClite Es la or3ani-acin m8s f8cil de implementar. No lo3ra la utili-acin ptima del Card>are dado Bue slo el procesador maestro puede e%ecutar el Sistema perati!o y el procesador satAlite slo puede e%ecutar pro3ramas del usuario. Fas interrupciones 3eneradas por los procesos en e%ecucin en los procesadores satAlites Bue precisan atencin del Sistema perati!o deben ser atendidas por el procesador maestro y por ello pueden 3enerarse lar3as colas de reBuerimientos pendientes. !jecuti.os Separados 'ada procesador tiene su propio Sistema perati!o y responde a interrupciones de los usuarios Bue operan en ese procesador. E:isten tablas de control con informacin 3lobal de todo el sistema 1por e%emploD lista de procesadores conocidos por el Sistema perati!o2 a las Bue se debe acceder utili-ando e:clusin mutua. Es m8s confiable Bue la or3ani-acin maestro @ satAlite. 'ada procesador controla sus propios recursos dedicados. Fa reconfi3uracin de los dispositi!os de Entrada @ Salida puede implicar el cambio de dispositi!os a diferentes procesadores con distintos Sistemas perati!os. Fa contencin sobre las tablas del Sistema perati!o es m<nima. Fos procesadores no cooperan en la e%ecucin de un proceso indi!idualD Bue Cabr8 sido asi3nado a uno de ellos. %ratamiento SimCtrico Es la or3ani-acin m8s complicada de implementar y tambiAn la m8s poderosa y confiable. El Sistema perati!o administra un 3rupo de procesadores idAnticosD donde cualBuiera puede utili-ar cualBuier dispositi!o de Entrada @ Salida y cualBuiera puede referenciar a cualBuier unidad de almacenamiento. El Sistema perati!o precisa cdi3o reentrante y e:clusin mutua. Es posible eBuilibrar la car3a de traba%o m8s precisamente Bue en las otras or3ani-aciones. )dBuieren si3nificati!a importancia el Card>are y el soft>are para resolucin de conflictos. ,odos los procesadores pueden cooperar en la e%ecucin de un proceso determinado. El procesador ejecuti.o es el responsable 1uno slo2 en un momento dado de las tablas y funciones del sistemaI as< se e!itan los conflictos sobre la informacin 3lobal. 6endimiento del Sistema de )ultiprocesamiento )n con multiprocesamiento completamente simAtricoD la adicin de un nue!o procesador no Car8 Bue la capacidad de e%ecucin del sistema aumente se3n la capacidad del nue!o procesadorD siendo las causas las si3uientes4 ;ay sobrecar3a adicional del Sistema perati!o. Se incrementa la contencin por recursos del sistema. ;ay retrasos del Card>are en el intercambio y en el encaminamiento de las transmisiones entre un nmero mayor de componentes. )l incrementar el nmero de procesadores n similares en un multiprocesadorD el incremento de la producti!idad no es lineal y tiende a disminuir cuando n crece. 6ecuperacin de !rrores Ena de las capacidades m8s importantes de los Sistemas perati!os de multiprocesadores es la de soportar fallas de Card>are en procesadores indi!iduales y continuar su operacin. Debe e:istir el soporte correspondiente en el Sistema perati!o. Fas tAcnicas de recuperacin de errores incluyen los si3uientes aspectos4 Fos datos cr<ticos 1del sistema y de usuario2 deben mantenerse en copias mltiples y en bancos de almacenamiento separados. El Sistema perati!o debe e%ecutar efecti!amente con la confi3uracin m8:ima y con subcon%untos ante fallas. Debe Caber capacidad de deteccin y correccin de errores de Card>are sin interferir con la eficiencia operacional del sistema. Se debe utili-ar la capacidad ociosa del procesador para tratar de detectar posibles fallos antes de Bue se produ-can. El Sistema perati!o debe diri3ir un procesador operati!o para Bue tome el control de un proceso Bue se estaba e%ecutando en un procesador Bue falla. )ultiprocesamiento SimCtrico *)PS, 'ada procesador posee capacidades funcionales completas. Fos dispositi!os de Entrada @ Salida pueden ser conectados a cada uno de los procesadores 1!er /i3ura 2.1#2. ,odas las llamadas al super!isor pueden ser e%ecutadas en todos los procesadoresD inclusi!e las de Entrada @ Salida. Si un pro3rama en e%ecucin en un procesador pide una operacin de Entrada @ Salida en un dispositi!o conectado a un procesador diferenteD el procesador puede continuar e%ecutando el traba%o y la Entrada @ Salida se coloca en una cola para su iniciacin por el procesador apropiado. Se considera procesador ejecutante al Bue est8 e%ecutando un proceso determinado. Se considera procesador propietario al Bue est8 conectado a los diferentes dispositi!os utili-ados por el proceso. Es m8s eficiente Bue la or3ani-acin maestro @ satAliteD ya Bue los reBuerimientos de Entrada @ Salida se encolan y no sobrecar3an con intercambio de conte:to y a Bue en la or3ani-acin maestro @ satAlite las peticiones de Entrada @ Salida en el satAlite pro!ocan un intercambio de conte:to en el maestro. 'ada procesador puede e%ecutar el planificador para buscar el si3uiente traba%o a e%ecutarD de forma Bue un proceso determinado se e%ecuta en diferentes procesadores en distintos momentosI adem8sD el 7PS utili-a una sola cola de traba%os y cada procesador puede seleccionar traba%os de ellaD con lo cual se eBuilibra la car3a entre los procesadores. Para minimi-ar la contencin en el despacCo de procesosD los relo%es de los procesadores tienen oblicuidadD debido a ello las interrupciones de relo% ocurren en diferentes momentos. %endencias de los )ultiprocesadores ,odo indica Bue el uso de los multiprocesadores se incrementar8 considerablemente en el futuro. Fas principales ra-ones son las si3uientes4 Fa confiabilidad reBuerida es cada !e- mayor. Fa reduccin de costos consecuencia de los a!ances en microelectrnica. El pre!isible desarrollo de len3ua%es Bue permitan a los usuarios e:presar el paralelismo e:pl<citamente. El pro3reso en la deteccin autom8tica del paralelismo. El CecCo de Bue se estar<a lle3ando a los l<mites del uniprocesador debido a la compactacin de componentesD es decir Bue se estar<a pr:imo a los l<mites de lon3itud y de pro:imidad de los Gcaminos electroma3nAticosH 1lon3itud del recorrido de la se5al electroma3nAtica2I alcan-ados los l<mites mencionadosD la nica posibilidad de incrementar capacidad de cmputo es mediante multiprocesamiento. E:isten estudios de tendencias en arBuitectura de computadoras Bue apuntan a los poliprocesadoresD es decirD sistemas Bue combinan el multiprocesamientoD simAtrico y asimAtricoD para crear una %erarBu<a de procesadores dentro de un sistema.