sábado, 31 de octubre de 2015

Multiprocesamiento

QUE ES EL MULTIPROCESAMIENTO ?

Es la facultad del S.O. para utilizar varios procesadores físicos en el equipo, repartiendo el tratamiento de los procesos del S.O. y las aplicaciones.

 
 
MULTIPROCESAMIENTO ASIMETRICO
Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como apoyo para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos.

 
MULTIPROCESAMIENTO SIMETRICO
 
Cuando se trabaja de manera simétrica, el sistema operativo y las aplicaciones tiene sus peticiones de ejecución distribuidas en los distintos procesadores
 
CONFIGURACIONES TIPICAS
 
Maestro/Esclavo
Se define también como un proceso asimétrico.

 

 
Débilmente acoplada
Cada procesador mantiene sus tablas de comandos y administración de entrada y salida. 
 
 
 









 
 
Fuertemente acoplada
Las aplicaciones y el S.O.  Que las soportan trabajan en paralelo distribuyendo los procesos.
 

 


Semaforos

DEFINICIÓN

uUn semáforo es una variable especial (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron inventados por Edsger Dijkstra en 1965 y se usaron por primera vez en el sistema operativo THEOS

uUn semáforo básico es una estructura formada por una posición de memoria y dos instrucciones, una para reservarlo y otra para liberarlo
 
OPERACIONES

u1) WAIT – DOWN
u2) SIGNAL  - UP
uLa operación V es denominada a veces subir el semáforo (up) y la operación P se conoce también como bajar el semáforo (down), y también  son llamadas signal y wait o soltary tomar.
 
FUNCIONAMIENTO

uSe empieza por inicializar la posición de memoria a 1 (o al valor correspondiente si ese recurso concreto admite más de un acceso simultáneo). Esto se hace en el inicio del programa principal.
uA continuación, cada vez que un thread o un proceso quiera acceder a dicho recurso (por ejemplo, un fichero), hará primero una petición con la primera de las llamadas disponibles. Cuando el S.O. ejecuta esa llamada, comprueba el valor que hay en la posición de memoria del semáforo, y si es distinta de cero, se limita a restarle 1 y devolver el control al programa; sin embargo, si ya es cero, duerme al proceso que hizo la petición y lo mete en la cola de procesos, en espera de que el semáforo se ponga a un valor distinto de cero.
uPor último, cuando el proceso ha terminado el acceso al recurso, usa la segunda llamada para liberar el semáforo. Cuando el S.O. la ejecuta, comprueba si la cola del semáforo está vacia, en cuyo caso se limita a incrementar el valor del semáforo, mientras que si tiene algún proceso, lo despierta, de modo que vuelve a recibir ciclos de CPU y sigue su ejecución. Si había varios procesos en espera, se irán poniendo en marcha uno tras otro a medida que el anterior va liberando el semáforo. Cuando termina el último, el semáforo se vuelve a poner a 1. Se trata, por tanto, del mismo proceso que seguiríamos con la variable, pero con la ventaja de que es un mecanismo estandar para todos los procesos, y como es una operacion atómica (esto es, que durante su ejecución no se admiten cambios de tarea), no surje el problema de que una conmutación pueda producir errores aleatorios.
TIPOS DE SEMÁFORO

uBINARIOS
u CONTADORES

Procesadores CISC y RISC


CISC Y RISC


CISC Y RISC Son un modelo de arquitectura para procesadores con un conjunto de instrucciones basados en registros.




Bloqueos e Interbloqueos de los procesos el en Sistemas Operativos


BLOQUEO MUTUO

Que es Bloqueo mutuo ?

Es el bloqueo permanente  de un conjunto de procesos que compiten por los recursos del sistema  o se comunican unos con otros.
 

CONDICIONES NECESARIS PARA EL BLOQUEO MUTUO

vbs








Procesos


LINUX


ALGUNOS COMANDOS