viernes, 6 de noviembre de 2009

3.7 Sistema del multiprocesamiento

Multiprocesadores de pequeña y mediana escala.

Existen dos factores claves para la extensión de estos: la flexibilidad y el coste-rendimiento

Flexibilidad.
El mismo sistema puede usarse para un único usuario incrementado el rendimiento en la ejecución de una única aplicación o para varios usuarios y aplicaciones en un entorno compartido.

Coste-rendimiento.
Son aquellos sistemas operativos que están montados sobre ordenadores que están compuestos por más de un procesador. Se basan en procesadores comerciales.

Clasificación por uso de recursos:
Sistemas mono programados: Permiten la ejecución de un programa en el sistema, se instalan en la memoria y permanecen allí hasta que termine su ejecución.

Sistemas multiprogramados: Se basan en las técnicas de multiprogramación, existen 2 tipos: Multitarea apropiativa (preemptive) y Multitarea cooperativa
Sistemas de multiprocesamiento: Esta formados por varios procesadores, 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) aquí Cada programa realiza un conjunto de pasos secuenciales relacionados entre si.

3.8 Organizaci{on del Multiprocesador

Las organizaciones más comunes son:
Tiempo compartido o bus común (conductor común).
Tiene un solo camino de comunicación entre todas las unidades funcionales. El bus común es en esencia una unidad pasiva. El procesador de e/s que quiere transferir datos realiza lo siguiente:
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.

Es una organización económica, simple y flexible pero con una sola vía de comunicación, así que el sistema falla totalmente si falla el bus. La tasa neta de transmisiones está limitada por la tasa neta de transmisión del conductor. La contención por el uso del bus en un sistema sobrecargado puede ocasionar una seria degradación.

Matriz de barras cruzadas e interruptores.
La multiplicidad de caminos de transmisión puede proporcionar tasa de transferencia muy alta puesta que las referencias a dos unidades diferentes de almacenamiento no son bloque antes sino simultánea.

Almacenamiento de interconexión múltiple.
Es obtenida al sacar las lógicas del control, de conmutación y de arbitraje de prioridades fuera del interruptor de barras cruzadas se las coloca en la interfaz de cada unidad de almacenamiento. Hay una conexión de almacenamiento por unidad funcional.

3.9 Sistemas Operativos del miltiprocesador

Sus capacidades funcionales incluyen:

Asignación y administración de recursos.
Protección de tablas y conjuntos de datos.
Prevención contra el ínter bloqueo del sistema.
Terminación anormal.
Equilibrio de cargas de Entrada / Salida.
Equilibrio de carga del procesador. Reconfiguración.

Las últimas 3 son importantes ya que es fundamental explotar el paralelismo en el hardware y en los programas y hacerlo automáticamente. Las organizaciones básicas de los Sistemas Operativos para multiprocesadores son las siguientes:

Maestro / satélite: No logra la utilización óptima del software dado que el procesador maestro ejecuta el sistema operativo y el de satélite solo programas de usurario.

Ejecutivo separado para cada procesador: cada procesador tiene su S.O. Y responde a interrupciones de los usuarios que operan en ese procesador. Es más confiable que la organización maestro/satélite. Cada procesador controla sus recursos dedicados. Los procesadores no cooperan en la ejecución de un proceso individual, que habrá sido asignado a uno de ellos

Tratamiento simétrico (o anónimo) para todos los procesadores: Es la más complicada de implementar la más poderosa y confiable. El S.O. administra un grupo de procesadores idénticos, donde cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y cualquiera puede referenciar a cualquier unidad de almacenamiento. El S.O. precisa código reentrarte y exclusión mutua. Adquieren significativa importancia el hardware y el software para resolución de conflictos. Todos los procesadores pueden cooperar en la ejecución de un proceso determinado. El procesador ejecutivo es el responsable (uno sólo) en un momento dado de las tablas y funciones del sistema; así se evitan los conflictos sobre la información global.

jueves, 8 de octubre de 2009

Unidad 2 Administración de procesos

2.1- Descripción y control de procesos S.O


En algunos sistemas operativos como en los de tiempo compartido, cada programa que se ejecuta, por ejemplo mediante una orden de EJECUTAR dada por el usuario, se trata como un proceso independiente. Estos procesos generados por el O.S se denominan IMPLÍCITOS. Una vez terminada la ejecución de los mismos, su eliminación también la realiza el propio O.S. Asi mismo, el O.S proporciona en tiempo real los servicios que son necesarios para que el usuario pueda definir procesos de forma explicita. Los programa acceden a estos servicios realizando LLAMADAS AL SISTEMA(SYSTEM CALL).
• Estas llamadas pueden aparecer incrustadas en el código de un programa de usuario o del propio sistema, en cuyo caso, se asemejan a llamadas a procedimientos o funciones que dan lugar a transferencias de rutinas del O.S cuando se invocan en tiempo real. Las llamadas al sistema se realizan tambien, pero de forma indirecta, cuando se dan ordenes al O.S a través de un terminal(ó SHELL)la rutina de monitorización del terminal( que es asu vez un proceso) se encarga de transformar la ordenes en llamadas al sistema.
• De este modo, al comienzo de la ejecución del programa principal de un usuario se inicia la ejecución de un proceso. A su vez el proceso podría crear nuevos procesos. En este caso, el proceso que crea otro nuevo se denomina proceso padre(parent process), y el proceso creado de denomina proceso hijo(child process). Una vez creado un proceso hijo, la ejecución de padre e hijo transcurre de manera concurrente. De esta forma se puede crear una jerarquía arborescente de procesos, en la que un padre puede tener varios hijos y estos pueden tener otros hijos, etc, pero donde cada hijo sólo tiene un padre.
2.2 Definición de procesos de S.O

Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado(Palabra que recoge en binario el estado del entorno de programa, después de la ejecución de cada instrucción.), sus registros ( pequeña memoria interna del microprocesador, formada generalmente por biestables) del procesador, su segmento de texto, pila (zona reservada de la memoria o registros hardware donde se almacena temporalmente el estado o información de un programa, rutina, etc..) y datos, etc.
2.3 Estados de procesos de S.O


Como se ha puesto de manifiesto, el proceso es un elemento dinámico que puede pasar por diferentes estados a lo lo largo de su existencia. De forma general, un proceso puede encontrarse en un instante determinado en uno de lo siguientes estados:
• Activo, Preparado, Bloqueado o suspendido, Nonato y Muerto.
• La tarea activa es la que está ejecutándose en un instante dado. En el caso de sistemas con un único procesador, sólo puede haber una tarea en dicho estado en cada instante.
• En el estado de preparado, se encuentran todas las tareas que están listas para ejecutarse pero que esperan a que un/el procesador quede libre (hay otros procesos más prioritarios en ejecución).
• Las tareas que están a la espera de que se cumpla una condición y que por lo tanto, no están preparadas para ejecutase, se dice que están en el estado bloqueado o suspendido; algunos ejemplos de condición son: que se termine una operación de E/S o que se reciba una señal de sincronización.
• Un proceso esta muerto cuando ha terminado su ejecución o bien el sistema operativo a detectado un error fatal y lo ha transferido a dicho estado. También es posible que haya entrado él como resultado de un fallo del propio sistema operativo (cuestión que desgraciadamente suele ocurrir frecuentemente en algunos OS.
• El estado de nonato indica que el programa realmente existe pero todavía no es conocido por el OS.
2.4 Control de procesos S.O.

La mayoría de los procesadores dan soporte para dos modos de ejecución por lo menos. Ciertas instrucciones pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control (como la palabra de estado del programa), instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Además, se puede acceder a ciertas regiones de memoria sólo en el modo más privilegiado.


El modo menos privilegiado a menudo se conoce como modo de usuario, ya que los pro¬ gramas de usuario ejecutan normalmente en ese modo. Al modo más privilegiado normal¬ mente se le conoce como modo del sistema, modo de controlo modo del núcleo. Este último término se refiere al núcleo del sistema operativo, que es la parte del sistema operativo que lleva a cabo las funciones importantes del sistema. La tabla 3.10 enumera las funciones que normalmente se hallan en el núcleo de un sistema operativo.
La razón por la que se usan dos modos debe quedar clara. Es necesario proteger al sistema operativo y a las tablas importantes del mismo, tales como los bloques de control de procesos, de las injerencias de los programas de usuario. En el modo del núcleo, el software tiene control completo del procesador y de todas sus instrucciones, registros y memoria. Este nivel de con¬ trol no es necesario y, por seguridad, tampoco conveniente para los programas de usuario.