Sunteți pe pagina 1din 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
apropiado e importante para los estudiantes de S.O.

es

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
inicializado a 1. Dados tres procesos que acceden
dichos semforos de la siguiente forma:
PROC. 1
.
.
WAIT(A);
.
.
.
SIGNAL(C);
.
.

PROC. 2
.
.
WAIT(B);
.
.
.
SIGNAL(A);
SIGNAL(B);
.

B
a

PROC. 3
.
.
WAIT(B);
WAIT(C);
.
.
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
REPETIR
COMIENZO
Producir elemento;
WAIT (EL);
buffer[IN]:=el.produc.;
IN:=(IN+1) mod N;
SIGNAL (ED);
FIN;

Consumidor
REPETIR
COMIENZO
WAIT (ED);
Elemento:=buffer[OUT];
OUT:=(OUT+1) mod N;
SIGNAL (EL);
Consumir elemento;
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
siguientes algoritmos:

Productor-Consumidor

los

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).

S-ar putea să vă placă și