parcial ii de sistema de operación – semestre 201415

6
Universidad Católica Andrés Bello Facultad de Ingeniería Escuela de Ingeniería Informática Sistemas de Operación Prof. Viviana Trujillo Parcial II 1 De tín marín En cada uno de las siguientes preguntas, señale cuál opción es correcta. Señale sus respuestas rodeando con un círculo la opción correcta. Si se equivoca, tache la respuesta incorrecta y rodee la opción que considere correcta. Escriba con tinta. Las preguntas respondidas con lápiz o con varios círculos no tachados se considerarán no contestadas. Factor de corrección: 1 mala elimina una buena. 1. Dentro de una región crítica: (a) Todo proceso que se ejecute fuera de su región crítica puede bloquear otros procesos. (b) Un proceso tiene que esperar para siempre para entrar a su región crítica. (c) Puede haber dos procesos de manera simultánea dentro de las regiones críticas. (d) No pueden hacerse suposiciones acerca de las velocidades o el número de CPUs. 2. Tenemos varios procesos que intentan acceder a secciones críticas sobre una zona de datos, y observamos que el algoritmo sólo funciona bien cuando hay tres o más procesos interesados en entrar en su sección crítica al mismo tiempo: si sólo hay dos procesos intentando entrar en la sección crítica, el algoritmo los deja esperando hasta que se incorpora un tercero. En este caso, este algoritmo es: (a) Válido, suponiendo que aparte de esta incidencia, cumple con la exclusión mutua, progreso y espera in- definida. (b) Inválido, no cumple la condición de progreso. (c) Inválido, no cumple la condición de espera indefinida. (d) Inválido, no cumple la condición de exclusión mutual. 3. Indique que opción es falsa en relación con los pipes. (a) Si el pipe está vacío, el lector se queda bloqueado hasta que algún escritor escriba en la misma. (b) Las operaciones de lectura pueden tener tamaños distintos a las operaciones de escritura. (c) Dos procesos que quieren comunicarse ejecutan ambos la llamada pipe. (d) El escritor puede escribir en el pipe aunque el lector no haya ejecutado una lectura del mismo. 1

Upload: viviana-trujillo

Post on 01-Jul-2015

132 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Parcial II de Sistema de Operación – Semestre 201415

Universidad Católica Andrés BelloFacultad de Ingeniería

Escuela de Ingeniería InformáticaSistemas de OperaciónProf. Viviana Trujillo

Parcial II

1 De tín marín

En cada uno de las siguientes preguntas, señale cuál opción es correcta. Señale sus respuestas rodeando con un círculola opción correcta. Si se equivoca, tache la respuesta incorrecta y rodee la opción que considere correcta. Escriba continta. Las preguntas respondidas con lápiz o con varios círculos no tachados se considerarán no contestadas.Factor de corrección: 1 mala elimina una buena.

1. Dentro de una región crítica:

(a) Todo proceso que se ejecute fuera de su región crítica puede bloquear otros procesos.(b) Un proceso tiene que esperar para siempre para entrar a su región crítica.(c) Puede haber dos procesos de manera simultánea dentro de las regiones críticas.(d) No pueden hacerse suposiciones acerca de las velocidades o el número de CPUs.

2. Tenemos varios procesos que intentan acceder a secciones críticas sobre una zona de datos, y observamos que elalgoritmo sólo funciona bien cuando hay tres o más procesos interesados en entrar en su sección crítica al mismotiempo: si sólo hay dos procesos intentando entrar en la sección crítica, el algoritmo los deja esperando hastaque se incorpora un tercero. En este caso, este algoritmo es:

(a) Válido, suponiendo que aparte de esta incidencia, cumple con la exclusión mutua, progreso y espera in-definida.

(b) Inválido, no cumple la condición de progreso.(c) Inválido, no cumple la condición de espera indefinida.(d) Inválido, no cumple la condición de exclusión mutual.

3. Indique que opción es falsa en relación con los pipes.

(a) Si el pipe está vacío, el lector se queda bloqueado hasta que algún escritor escriba en la misma.(b) Las operaciones de lectura pueden tener tamaños distintos a las operaciones de escritura.(c) Dos procesos que quieren comunicarse ejecutan ambos la llamada pipe.(d) El escritor puede escribir en el pipe aunque el lector no haya ejecutado una lectura del mismo.

1

Page 2: Parcial II de Sistema de Operación – Semestre 201415

4. ¿El problema de la sección crítica puede ser resuelto con semáforos?

(a) Depende de cómo estén implementados los semáforos.

(b) Nunca.

(c) Siempre.

(d) Todas las anteriores son falsas.

5. Si una solución al problema de la sección crítica da lugar a inanición, entonces no cumple la condición:

(a) Exclusión mutua.

(b) Espera limitada.

(c) Progreso.

(d) Todas las anteriores son falsas.

6. En un sistema multihilo,

(a) Los cambios de contexto entre hilos de un mismo proceso pesado son en general más costosos que loscambios de contexto entre hilos de diferentes procesos pesados.

(b) Los hilos pueden estar soportados e implementados por el propio sistema operativo o bien pueden serimplementados a nivel de usuario.

(c) Los hilos de un mismo proceso pesado comparten las variables globales y por tanto la comunicación entreellos se puede realizar mediante la pila.

(d) Todas las anteriores son ciertas.

7. ¿El problema de la sección crítica puede ser resuelto con semáforos?

(a) Depende de cómo estén implementados los semáforos.

(b) Nunca.

(c) Siempre.

(d) Todas las anteriores son falsas.

8. El bloque de control de proceso (BCP) contiene, al menos:

(a) El grado de multiprogramación de un proceso.

(b) El código, los datos y la pila de un proceso.

(c) El estado y el identificador de un proceso.

(d) Todas las afirmaciones anteriores son correctas.

9. Indique las opción que considere verdadera acerca de los mecanismos de sincronización de procesos.

(a) Cualquier mecanismo es válido sobre cualquier plataforma.

(b) La espera activa es el mecanismo más ineficiente en el uso de la CPU.

(c) Con semáforos nunca se puede dar un interbloqueo.

10. Se ejecutan consecutivamente dos operaciones P o WAIT sobre un semáforo. ¿ Es esto posible?

(a) Si.

(b) No, si las ha realizado un solo proceso.

2

Page 3: Parcial II de Sistema de Operación – Semestre 201415

(c) No.

(d) Si, siempre que no hayan sido procesos diferentes.

11. Un FIFO:

(a) No existen en el Filesystem.

(b) Sirve sólo para intercambio entre procesos relacionados entre sí.

(c) Es equivalente a un archivo.

(d) Es un Inode en memoria.

12. ¿Qué cambio de contexto tardará menos?

(a) El producido entre dos hilos del mismo proceso implementados en el espacio de usuario.

(b) El producido entre dos hilos de procesos distintos implementados en el espacio de usuario.

(c) el producido por dos hilos del mismo proceso implementados en el núcleo.

(d) El producido por dos hilos de distintos procesos implementados en el núcleo.

13. Cuando realizamos una operación V sobre un semáforo:

(a) Se despertará siempre al primer proceso que realizó una operación P.

(b) Ningún otro proceso puede estar en mitad de la ejecución de otra operación V sobre dicho semáforo, aunquesi es posible que exista otro proceso en mitad de la ejecución de una operación P sobre el mismo semáforo.

(c) En caso de existir algún proceso bloqueado, se despertará a uno de ellos según la política definida en laimplementación del semáforo.

(d) Todas las anteriores son ciertas.

14. ¿Cuál de las siguientes afirmaciones acerca de la llamada al sistema exec es falsa?

(a) Permite ejecutar instrucciones con cualquier número de argumentos.

(b) Si funciona bien, devuelve 0.

(c) Puede cambiar el identificador efectivo de usuario.

(d) Solo retorna si da error.

15. Las llamadas “instrucciones atómicas” del hardware:

(a) Facilitan la implementación de algoritmos de sección crítica y de sincronización entre procesos.

(b) Dependen del Opo de procesador, ya que hay instrucciones Opo Mesa y otras Opo Hoare.

(c) Permiten soluciones universales a los problemas de sincronización, ya que están disponibles en cualquierprocesador.

(d) Evitan que exista interbloqueo en los algoritmos de sección crítica.

16. Cuando se crea un nuevo hilo, éste tiene acceso a:

(a) Una copia del segmento de datos del proceso.

(b) No tiene acceso al segmento de datos del proceso.

(c) El segmento de datos del proceso.

(d) El segmento de datos del proceso pero marcándolo preciamente como copy-on-write.

17. Cuál de los siguientes atributos es compartido entre todos los hilos de un mismo proceso:

3

Page 4: Parcial II de Sistema de Operación – Semestre 201415

(a) Una pila de ejecución.

(b) Un estado de ejecución.

(c) Un contexto de ejecución donde salvar cuando no se esté en ejecución.

(d) Un código ejecutable.

2 Conciso pero profundo

Responda con brevedad y precisión a las siguientes preguntas.

1. ¿Qué es la espera activa?

2. ¿Qué tipo de información guarda un semáforo, si es que guarda alguna? ¿Por qué cree que se estudian lossemáforos en la asignatura de Sistemas Operativos?

3. ¿Qué ventajas tiene poder declarar hilos dentro de un proceso pesado?

4. Estamos desarrollando un shell. Necesitamos escribir el código que lanza el programa que el usuario le encargaejecutar al shell. Para ello podemos elegir entre lanzar un nuevo hilo, o bien lanzar un nuevo proceso pesado.¿Cuál de las dos opciones le parece más adecuada?

5. Cuando un proceso ejecuta una operación V sobre un semáforo y hay varios procesos esperando por ese semáforo,¿Cuál o cuáles de los procesos en espera se desbloquea? ¿Uno al azar? ¿El más antiguo? ¿El de más prioridad?¿Todos los procesos?

6. ¿Es un proceso un archivo ejecutable?

7. ¿Qué información, entre otras cosas, comparten un proceso A y su hijo B después de ejecutar el siguiente código?

Proceso Aif (fork() != 0)

wait (&status);else

execve (B, parámetros, 0);

8. Dados los siguientes procesos y sus respectivas secuencias de código, indica si existiría o no situación de interblo-queo y explica por qué. En cualquier caso, indica también la salida por pantalla y el valor final de los semáforos.Supón que inicialmente todos los semáforos tienen valor cero.

9. A continuación se muestra una propuesta de solución al problema de la sección crítica. ¿Crees que es unapropuesta válida? Justifica tu respuesta.

4

Page 5: Parcial II de Sistema de Operación – Semestre 201415

//Variables globales e inicializacionesvar

esperando: array[0..n-1] of boolean; //inicializada en falsem: boolean; //inicializada a false

Proceso Pillave: boolean; //inicializada en falsej: integer;

beginrepeat

SECCION NO CRITICAesperando[i]:= true;llave:= false;repeat

llave:= Test\_and_Set(m);until (not esperando[i] or llave);esperando[i]:= false;SECCION CRITICAj:= (i+1) mod n;while (j<> I and not esperando[j]) do

j:= (j+1) mod n;if (j=i) then

m:= false;else

esperando[j]:= false;until falseend.

10. A continuación se muestra una propuesta de solución al problema de la sección crítica para n procesos. ¿Creesque es una propuesta válida? Justifica tu respuesta.

vareleccion: array [0..n-1] of booleannumero: array [0..n-1] of integerj: 0..n

repeateleccion[i] = true;numero[i] = min(numero[0],numero[1],...,numero[n-1])+1;eleccion[i] = false;for j:=0 to n-1 dobegin

while eleccion[j] do no-operar;while numero[j] !=0 and (numero[j],j)<(numero[i],i) do no-operar

end;SECCION CRITICAnumero[i] := 0;SECCION RESTANTE

until false

5

Page 6: Parcial II de Sistema de Operación – Semestre 201415

3 Bono

Explicar de que se trata el problema de los filósofos comensales y dar una solución con monitores.

4 Nota

27 Preguntas = 0,74 c/u.Bono = 2 ptos.

6