Professional Documents
Culture Documents
Materias.
Exmenes.
PED.
Bibliografa.
Multiprogramacin: Se intenta mantener del modo ms ocupado posible a todos los recursos del sistema con el entrelazado y el
solapamiento de la ejecucin de ms de un programa.
Solamente cambiando la atencin de un nico procesador entre varios programas y dejando que cada uno se ejecute unas
milsimas de segundo antes de ir a otro, permite crear la ilusin de la ejecucin concurrente o al unsono de los programas.
Adems de la multitarea incluye la capacidad de gestin de la memoria y de los ficheros.
Sistemas de tiempo compartido: Sistemas con multiprogramacin interactiva en los que se asigna a cada programa un mismo
intervalo de tiempo de ejecucin.
Situaciones en las que dos o ms procesos leen o escriben en un rea de memoria compartida
y el resultado final depende de los instantes de ejecucin de cada uno. Esto se soluciona
impidiendo que ms de un proceso acceda simultneamente a las variables compartidas. Se
soluciona garantizando la exclusin mutua.
Concepto de exclusin mutua.
Consiste en que un solo proceso excluye temporalmente a todos los dems para usar un
recurso compartido de forma que garantice la integridad del sistema.
Void procesoB ()
{
while(TRUE) { / * Bucle infinito * /
/ * seccin no crtica * /
while(turno!=1 ) ; / * Bucle de espera * /
/ * seccin crtica * /
turno=0;
/ * seccin no crtica */
}
En esta solucin se considera la existencia de una variable global de acceso turno, que se usa como cerrojo y que
puede tomar como valor el identificador numrico de un proceso. En este caso el proceso A tiene el identificador 0 y el
proceso B el identificador 1. Ntese que el valor al que se inicializa el cerrojo determina qu proceso puede entrar en
primer lugar en su seccin crtica, en este caso es el proceso A.
Semforos
El funcionamiento de las operaciones wait_sem y signa1_sem que se ha descrito en los prrafos anteriores corresponde
a un semforo general o semforo con contador. Una versin simplificada de este semforo general corresponde al caso
del semforo binario, tambin denominado mutex en la literatura que nicamente puede tomar los valores 0 y 1. En el
caso de un semforo binario las operaciones wait_sem y signal_sem funcionan de la siguiente manera:
wait_sem (s). Esta operacin comprueba el valor del semforo S. Si S=0, entonces el proceso es colocado en la cola de
procesos bloqueados asociada al semforo y se bloquea. Si S = 1 , entonces pone el semforo a 0 y el proceso puede
continuar su ejecucin.
Signal_sem (s) . Esta operacin comprueba si la cola de procesos bloqueados asociada al semforo S est vaca. En
caso afirmativo, pone el semforo a 1, y contina su ejecucin. En caso negativo, es decir, hay procesos bloqueados en
el semforo, entonces el sistema operativo elimina de la cola asociada al semforo a uno de los procesos bloqueados, y
le despierta lo que hace que pase al estado preparado para ejecucin.
Por otra parte, un semforo binario solamente puede ser inicializado a 0 o 1.
Consumidores
Monitores