Está en la página 1de 3

SISTEMAS OPERATIVOS

TEMA 2: PROCESOS: CONCURRENCIA, SINCRONIZACIN Y COMUNICACIN

RELACION DE EJERCICIOS

1. Para qu se debe de planificar un proceso?

2. Si varios usuarios ejecutan el mismo programa y en


Memoria Principal se tiene una sola copia del programa,
tiene sentido que haya varios procesos?

3. Explicar por qu el estudio de la concurrencia es


apropiado e importante para los estudiantes de S.O.

4. Si existe una "condicin de carrera", obliga esto a que


se genere un error cuando se ejecute el programa?

5. Cmo se podran implementar las operaciones P y V en un


sistema con uno/varios procesadores y una memoria
principal comn?

6. En la solucin al problema de la cena de los filsofos,


por qu la variable de estado se coloc a 1 (hambriento)
antes de tomar los tenedores?

7. Se puede hablar de paso de mensajes mediante buzones en


un solo host?

8. Dado el siguiente algoritmo para dos procesos 0 y 1:

Proceso (i)

REPETIR
COMIENZO
MIENTRAS inters [j] = 1 HACER ;
inters [i] := 1;
Seccin Crtica;
inters [i] := 0;
Seccin No Crtica;
FIN

donde i=0,1; j=1-i; e inters es un vector de variables


compartidas de tamao 2 e inicializadas a cero.

Comprobar si se cumplen los requerimientos de exclusin


mutua. Cumple las condiciones para tener procesos que
progresen adecuadamente?. Razonar las respuestas.
9. Considerar el siguiente algoritmo de exclusin mutua para
dos procesos 0 y 1:

Proceso (i)

REPETIR
COMIENZO
interes[i]:= 1;
turno:= i;
MIENTRAS (turno=i OR interes[j]=1) HACER ;
Seccin Crtica;
interes[i]:= 0;
Seccin No Crtica;
FIN;

donde i=0,1; j=1-i; y la variable compartida turno est


inicializada a cero.

- Se satisface el requimiento de exclusin mutua?


- Se satisfacen las otras condiciones para tener
procesos paralelos que cooperen correcta y eficazmente?
En caso afirmativo, comentar sus inconvenientes.

10. Sean tres semforos: A y C inicializados a 0, y B


inicializado a 1. Dados tres procesos que acceden a
dichos semforos de la siguiente forma:

PROC. 1 PROC. 2 PROC. 3


. . .
. . .
WAIT(A); WAIT(B); WAIT(B);
. . WAIT(C);
. . .
. . .
SIGNAL(C); SIGNAL(A); SIGNAL(B);
. SIGNAL(B); .
. . .

Indicar una planificacin de los mismos que les permitan


terminar, y otra que conduzca a un interbloqueo.

11. Considerar la siguiente solucin al problema del


productor-consumidor que se comunican a travs de un
buffer circular de memoria de tamao N:

Productor Consumidor

REPETIR REPETIR
COMIENZO COMIENZO
Producir elemento; WAIT (ED);
WAIT (EL); Elemento:=buffer[OUT];
buffer[IN]:=el.produc.; OUT:=(OUT+1) mod N;
IN:=(IN+1) mod N; SIGNAL (EL);
SIGNAL (ED); Consumir elemento;
FIN; FIN;
donde los semforos ED y EL estn inicializados a 0 y N
respectivamente. Las variables IN y OUT apuntan
respectivamente a la entrada del bfer donde se va a
almacenar el prximo elemento a consumir y a la entrada
del buffer de donde se va a extraer el prximo elemento
a consumir.

- Es posible que IN = OUT? Justificar.


- Pueden el Productor y el Consumidor manipular al
mismo tiempo el mismo elemento del bfer? Justificar.
- Es vlida la solucin anterior para el caso de varios
procesos consumidores? Por qu?

12. Dado el problema del Productor-Consumidor y los


siguientes algoritmos:

PRODUCTOR

REPETIR
COMIENZO
producir un elemento;
WAIT (espacio libre);
WAIT (manipulacin del buffer);
depositar un elemento en el buffer;
SIGNAL (manipulacin del buffer);
SIGNAL (elemento disponible);
FIN;

CONSUMIDOR

REPETIR
COMIENZO
WAIT (manipulacin del buffer);
WAIT (elemento disponible);
sacar elemento del buffer;
SIGNAL (manipulacin del buffer);
SIGNAL (espacio libre);
consumir elemento;
FIN;

Es vlida la solucin anterior? Por qu?

13. Si un sistema tiene slo semforos binarios, implementar


una forma de simular semforos generales (AYUDA: Se
tendrn que definir dos nuevas operaciones que se pueden
llamar WAITG y SIGNALG. Para la implementacin podemos
fijarnos en la similitud que existe entre un semforo
binario y un semforo general).

14. Implementar la exclusin mutua mediante el paso de


mensajes utilizando una designacin indirecta (buzones).

También podría gustarte