balotario sistemas operativos 2012 2 isw

42
Teoría Describa los tres estados básicos de un proceso. Use un gráfico. Compare tiempo compartido y multiprogramación Explique y de ejemplo(s) de las primitivas de semáforos (wait y signal) Algoritmos () Construir y explicar un algoritmo software (por ejemplo DEKKER) para la coordinación y sincronización entre procesos (sólo la parte principal) Muestre los valores de ent y sal para un tampón(buffer) circular de 65 palabras después de que cada una de las operaciones siguientes: (ambos empiezan en cero). a. se meten 22 palabras b. se sacan 9 palabras c. se meten 40 palabras d. se sacan 17 palabras e. se meten 12 palabras f. se sacan 45 palabras g. se meten 8 palabras h. se sacan 11 palabras ¿Cuál es problema de la sección crítica. Dé un ejemplo breve y/o describa un algoritmo que expliquen el problema? Construya el algoritmo para la condición de carrera, explíquelo y plantee una solución 1. En el contexto de la evolución histórica de los sistemas informáticos, los manejadores de dispositivos surgieron con a. Los primeros sistemas b. Los sistemas de procesamiento por lotes c. Los sistemas multiprogramados d. Los sistemas de tiempo compartido 2. En el contexto de la evolución histórica de los sistemas informáticos, por monitor sencillo se entiende a. Un programa residente que llevaba a cabo de forma automática ciertas tareas b. Un dispositivo hardware que automatizaba ciertas tareas c. Un programa que se cargaba en memoria cada vez que se necesitaba d. Todas las anteriores son falsas 3. Un sistema de tiempo compartido es a. Un sistema multiprogramado b. Un sistema multiprogramado e interactivo c. Un sistema distribuido d. Todas las anteriores son falsas

Upload: mark07

Post on 27-Oct-2015

230 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Balotario Sistemas Operativos 2012 2 Isw

Teoría Describa los tres estados básicos de un proceso. Use un gráfico. Compare tiempo compartido y multiprogramaciónExplique y de ejemplo(s) de las primitivas de semáforos (wait y signal)Algoritmos() Construir y explicar un algoritmo software (por ejemplo DEKKER) para la coordinación y sincronización entre procesos (sólo la parte principal) Muestre los valores de ent y sal para un tampón(buffer) circular de 65 palabras después de que cada una de las operaciones siguientes: (ambos empiezan en cero).

a. se meten 22 palabrasb. se sacan 9 palabrasc. se meten 40 palabrasd. se sacan 17 palabrase. se meten 12 palabrasf. se sacan 45 palabrasg. se meten 8 palabrash. se sacan 11 palabras

¿Cuál es problema de la sección crítica. Dé un ejemplo breve y/o describa un algoritmo que expliquen el problema?Construya el algoritmo para la condición de carrera, explíquelo y plantee una solución1. En el contexto de la evolución histórica de los sistemas informáticos, los manejadores de dispositivos surgieron con

a. Los primeros sistemasb. Los sistemas de procesamiento por lotesc. Los sistemas multiprogramadosd. Los sistemas de tiempo compartido

2. En el contexto de la evolución histórica de los sistemas informáticos, por monitor sencillo se entiende

a. Un programa residente que llevaba a cabo de forma automática ciertas tareasb. Un dispositivo hardware que automatizaba ciertas tareasc. Un programa que se cargaba en memoria cada vez que se necesitabad. Todas las anteriores son falsas

3. Un sistema de tiempo compartido esa. Un sistema multiprogramadob. Un sistema multiprogramado e interactivoc. Un sistema distribuidod. Todas las anteriores son falsas

4. La confiabilidad es una propiedad especialmente relevante en los sistemasa. De procesamiento por lotesb. Multiprogramadosc. Distribuidosd. De tiempo real

5. El modo dual de operación en los sistemas es posible gracias aa. Que existe el sistema operativob. Que las instrucciones máquina están divididas en privilegiadas y no

privilegiadasc. Que la memoria está dividida en memoria del sistema y de usuariod. Que se dispone de llamadas al sistema

1. Comentar la validez del algoritmo de exclusión mutua del programa siguiente. ¿Sirve como solución al problema de la sección crítica?:

Page 2: Balotario Sistemas Operativos 2012 2 Isw

int flag1, flag2;

2. [El siguiente código representa una solución al problema de lectores y escritores

Si se asume que inicialmente todos los semáforos se encuentran abiertos, esto es, con valor interno 1, y que la variable nlec vale 0, contestar verdadero o falso a cada una de las siguientes afirmaciones y dar una breve explicación del porqué de la respuesta.a) Se garantiza la exclusión mutua en el acceso a la variable nlecb) Existe prioridad para escritoresc) En esta solución existe inanición para lectoresd) En esta solución existe inanición para escritorese) Dos escritores pueden estar escribiendo simultáneamente, siempre que no haya un lector

esperando a leerf) La solución no es correcta porque puede producir interbloqueog) Si existen lectores leyendo entonces un nuevo lector podrá entrar a leer, siempre que no haya

escritores esperando poder escribirh) Esta solución sí es correcta.

3. [] ¿Con cuál de las siguientes afirmaciones te quedarías?a) La instrucción de wait o espera sobre un semáforo duerme siempre al proceso llamador.b) Si se ejecuta un operación signal o señal sobre un semáforo cuyo valor actual es 6, deja un

valor de 7 en el semáforo excepto si existen procesos en espera por el mismo, en cuyo caso se queda con 6.

c) Para resolver el problema de la sección crítica, basta con emplear un semáforo inicializado a uno.

d) Para lograr la ejecución de manera exclusiva de una porción de código basta con emplear un semáforo inicializado a uno.

4. [] Un proceso en estado de bloqueo:a) Siempre espera por la ocurrencia de un evento.b) Siempre espera por la conclusión de una actividad de E/S.c) Reside en la cola de preparados en espera de entrar nuevamente en la CPU.d) Reside en la cola de procesos de baja prioridad.

Proceso escritorInicio

wait(sem1)escribirsignal(sem1)

fin

Proceso lectorInicio

wait(sem2)nlec=nlec+1leer nlec=nlec-1signal(sem2)

fin

void Proceso_2() { while (true) { // SECCION NO CRITICA

flag2=0;while (flag1==0){ flag2=1; while (flag1==0) NULL; flag2=0;}

// SECCION CRITICA flag2=1; // SECCION NO CRITICA }}

void Proceso_1() { while (true) {

// SECCION NO CRITICAflag1=0;while (flag2==0) { flag1=1; while (flag2==0) NULL; flag1=0;}

// SECCION CRITICA flag1=1; // SECCION NO CRITICA }}

Page 3: Balotario Sistemas Operativos 2012 2 Isw

5. []. La multiprogramación implica necesariamente a) concurrencia b) paralelismo c) procesamiento por lotes d) tiempo compartido 6. [] ¿Cuál de estas transiciones de estados de un proceso jamás se produce en un sistema

normal? a) de “bloqueado” a “preparado” b) de “preparado” a “bloqueado” c) de “bloqueado” a “en ejecución” d) de “en ejecución” a “bloqueado” 7. []. El problema de mutua exclusión puede resolverse…a) …utilizando la instrucción test_and_set, si el hardware subyacente la proveeb) …utilizando el algoritmo de Dekkerc) …utilizando el while con una variable bolean (como puerta abierta o puerta cerrada)d) Todas las anteriorese) Dos de las anteriores

Completar los espacios en blanco.a) La ______________ disminuye el tiempo de preparación para la realización de un

trabajo.b) El ______________ fue uno de los primeros sistemas de computación múltiples que

trabajaban en conjunto para mejorar el rendimiento.c) El uso de ___________ mejora el rendimiento aún si la CPU es mucho más rápida que

el dispositivo de entrada.d) Los sistemas con disco superaron considerablemente a la ___________ pues las cintas

son un medio de almacenamiento de acceso directo.e) El _________ puede leer la entrada de un trabajo mientras imprime la de otro distinto.f) La _______________ carga en memoria principal a varios trabajos para que la CPU los

ejecute concurrentemente.g) El __________ casi siempre mantiene ocupados a la CPU y a los dispositivos de E/S.h) En los primeros sistemas el tiempo de ___________ para realizar un trabajo fue

considerable

Construir un cuadro comparativo entre Buffering y SpoolingDefina y trate brevemente los siguientes temas.1. La diferencia entre la instrucción de asignación "s := s + 1" y SIGNAL (s). Ejemplo2. La Instrucción Evaluar y asignar (Test and Set). Utilidad3. Estados de un proceso y transición entre ellos.

¿ qué pasa (si algo pasa) si se invierten las dos primeras operaciones WAIT en la implementación genérica de "n" productores-consumidores ? . Probar y/o explicar.

Construya una solución software tipo PETERSON para TRES PROCESOS. Analice su solución (haga una prueba de escritorio) en los números de instrucción que usted considere utilizando una muestra adecuada.

Page 4: Balotario Sistemas Operativos 2012 2 Isw

Comentar la validez del algoritmo de exclusión mutua del programa siguiente:int flag1, flag2; void Proceso_1(){ while (true) {

// SECCION NO CRITICAflag1=0;while (flag2==0) { flag1=1; while (flag2==0) NULL; flag1=0;}

// SECCION CRITICA flag1=1; // SECCION NO CRITICA }}void Proceso_2(){ while (true) { // SECCION NO CRITICA

flag2=0;while (flag1==0){ flag2=1; while (flag1==0) NULL; flag2=0;}

// SECCION CRITICA flag2=1; // SECCION NO CRITICA }}

1. un sistema operativoa. es un programa de aplicación b. pueden ser multiprocesoc. pueden ser distribuidosd. pueden ser time sharinge. pueden ser batch

2. Los sistemas operativos pueden definirse comoa. administrador de recursos y/o máquina extendidab. un sistema experto y/o AVLc. lista encadenada y/o red petrid. árbol binario de búsqueda y/o gramática de contexto libree. tabla hueca y/o detector de colisiones

3. la multiprogramacióna. usa memoria compartidab. necesita multiprocesamientoc. necesita plataforma cliente servidord. utiliza las primitivas de sincronización

Page 5: Balotario Sistemas Operativos 2012 2 Isw

e. no es realizable en ambientes de tiempo compartido4. los sistemas de tiempo compartido (marque la incorrecta)

a. son conversacionalesb. atiende a varios usuariosc. posee fuerte gestió de archivosd. no gestiona memoria virtual

5. los sistemas de tiempo compartido (marque la incorrecta)a. ofrece tiempo de respuesta cortosb. mantiene una interrogación por pollingc. no puede estar en simultáneo con la técnica por lotesd. utiliza bufferinge. utiliza spooling

6. el sistema operativo(marque la incorrecta)a. es software de baseb. posibilita el uso eficaz de los recursosc. es una máquina extendidad. oculta el hardwaree. son fáciles de construir

7. Son recursos NO administrados por el sistema operativoa. PBIb. CPUc. E/Sd. RAM

8. El spooling:a. utiliza DASDb. se utilizó en el MARK Ic. secuencia los trabajosd. utiliza un monitor residentee. Ninguna

9. El bufferinga. utiliza memoria intermediab. utiliza principalmente cintasc. mantiene ocupada la CPU y los dispositivosd. a y ce. ninguna

10. los tipos de trabajo limitadosa. por proceso, dedican muy poco tiempo en la E/Sb. por E/S, dedican mucho tiempo a CPUc. por proceso, originó la multiprogramaciónd. b y ce. ninguna

11. Los sistemas de tiempo reala. dan tiempo de respuesta largos (minutos)b. la información es casi permanente (no se actualiza)c. no necesita manejar interrupciones con eficaciad. no necesita manejo de prioridadese. permanece prácticamente inactivo para atender evento de entrada.

12. el "Relocatable code" NO se refiere a:a. código de máquinab. convertir direcciones relativasc. convertir direcciones absolutasd. a y be. a, b y c

13. los sistemas interactivosa. son conversacionalesb. las repuestas con inmediatas

Page 6: Balotario Sistemas Operativos 2012 2 Isw

c. no permiten alguna acción del usuariod. a y be. ninguna

14. son servicios de los sistemas operativos a. gestión de archivosb. protecciónc. contabilidadd. operaciones de E/Se. todas

15. NO es programa del sistemaa. intérprete de comandosb. editorc. tratamieno de archivosd. procesador de textose. compilador

16. Un proceso es un programa en ejecución.17. No es un estado activo de un proceso

a. ejecuciónb. preparadoc. bloqueadod. suspendido

1. Se tiene un sistema con 1000 procesos concurrentes que quieren usar un determinado recurso, e interesa que puedan usarlo simultáneamente el máximo número de ellos. Ahora bien, también es necesario impedir (por razones "supersticiosas") que alguna vez estén trece procesos exactamente usando el recurso al mismo tiempo. Más concretamente, si estando 12 procesos usándolo, un decimotercero desea hacerlo, éste se esperará hasta que llegue un decimocuarto, y entonces entrarán los dos juntos a la región crítica para usar el recurso. Pero en todo caso, si al querer entrar se detecta que existe otro que quiere salir, pero que está esperando para no dejar exactamente 13 dentro, el que entra hará que salga al mismo tiempo que él entra, el que está esperando a salir. Y simétricamente cuando quiera salir un proceso y haya otro esperando a entrar, así como cuando habiendo uno que quiera salir (sin estar otro esperando a entrar) quedarían 13 en la región crítica en caso de hacerlo (en este caso se ha de esperar también). Una solución válida para resolver este problema mediante semáforos sería la siguiente (se utilizan 2 variables compartidas y 2 semáforos):

Variables compartidas: Dentro: Indica el número de procesos que están accediendo al recurso (puede valer 13, aunque realmente nunca podrá haber 13 procesos dentro). Inicializada a 0. Esperando: Valor lógico que indica si hay algún proceso esperando para entrar en la región crítica especial (intenta hacerlo habiendo 12 procesos dentro) o para salir de ella (intenta hacerlo habiendo 14 procesos dentro). Inicializada a False. Semáforos: Ex_mutua: Para evitar las condiciones de carrera en el acceso a las variables compartidas. Inicializado a 1. Espera: Para bloquear un proceso cuando intenta entrar en la región crítica especial habiendo 12 procesos dentro o cuando intenta salir de ella habiendo 14 procesos dentro. Inicializado a 0.

Page 7: Balotario Sistemas Operativos 2012 2 Isw

Supongamos ahora que nos dicen que, por problemas de saturación del recurso, no puede permitirse que haya más de 50 procesos accediendo simultáneamente al mismo (por supuesto, manteniendo las mismas condiciones del problema planteado inicialmente, incluidas las cuestiones supersticiosas). Modifique la solución anterior de forma que se evite este problema de saturación del recurso, es decir, que no pueda haber más de 50 procesos accediendo al mismo simultáneamente.

2.- El algoritmo de Perterson corresponde a:a) Una estrategia de sincronización de procesos.b) Una método de ordenación de sucesos en un sistema distribuido.c) Una política de sustitución de páginas al producirse un fallo de página.d) Una solución al problema de la exclusión mutua.3.- la espera activa corresponde a:a) La acción de bloqueo que realiza un semáforo sobre un proceso.b) El estado bloqueado de un proceso pero no retirado a memoria secundaria.c) Cuando un proceso se mantiene chequeando una condición y, por lo tanto, consumiendo ciclos de CPU.d) La espera que realiza la operación wait sobre un contador.4.- Para lograr la exclusión mutua de una sección crítica donde se accede a un recurso compartido inicialmente disponiblea) El semáforo binario debe inicializarse a cero.b) El semáforo binario debe inicializarse a uno.c) La inicialización del semáforo binario depende del recurso que se comparta.d) Los semáforos no sirven para lograr la exclusión mutua de las secciones críticas.

1. El siguiente código representa una solución al problema de lectores y escritoresProceso escritor Proceso lectorinicio inicio

wait(sem1) wait(sem2)

Page 8: Balotario Sistemas Operativos 2012 2 Isw

escribir nlec=nlec+1signal(sem1) leer

fin nlec=nlec-1signal(sem2)

finSi se asume que inicialmente todos los semáforos se encuentran abiertos, esto es, con valor interno 1, y que la variable nlec vale 0, contestar verdadero o falso a cada una de las siguientes afirmaciones y dar una breve explicación del porqué de la respuesta. a) Se garantiza la exclusión mutua en el acceso a la variable nlecb) Existe prioridad para escritoresc) En esta solución existe inanición para lectoresd) En esta solución existe inanición para escritorese) Dos escritores pueden estar escribiendo simultáneamente, siempre que no haya un lector esperando a leerf ) La solución no es correcta porque puede producir interbloqueog) Si existen lectores leyendo entonces un nuevo lector podrá entrar a leer, siempre que no haya escritores esperando poder escribirh) Esta solución sí es correcta.

1.¿Con cuál de las siguientes afirmaciones te quedarías?a) La instrucción de wait o espera sobre un semáforo duerme siempre al proceso llamador.b) Si se ejecuta un operación signal o señal sobre un semáforo cuyo valor actual es 6, deja un valor de 7 en el semáforo excepto si existen procesos en espera por el mismo, en cuyo caso se queda con 6.c) Para resolver el problema de la sección crítica, basta con emplear un semáforo inicializado a uno.d) Para lograr la ejecución de manera exclusiva de una porción de código basta con emplear un semáforo inicializado a uno.2.¿Con cuál de las siguientes afirmaciones te quedarías?a) Un sistema distribuido es un sistema multiprocesador, al que se suele hacer referencia también como sistema estrechamente acoplado.b) Hablar de un sistema que emplea multiprocesamiento simétrico es equivalente a hablar de un sistema paralelo en el que todos los procesadores son iguales y no existen unos procesadores principales y otros subordinados.c) En un sistema de tiempo real crítico existen eventos a los que es necesario responderen un plazo límite, por lo que es necesario que estos sistemas implementen tiempocompartido y memoria virtual.d) Todas las anteriores son ciertas.3.Un proceso en estado de bloqueo:a) Siempre espera por la ocurrencia de un evento.b) Siempre espera por la conclusión de una actividad de E/S.c) Reside en la cola de preparados en espera de entrar nuevamente en la CPU.d) Reside en la cola de procesos de baja prioridad.4.¿Con cuál de las siguientes afirmaciones te quedarías?a) Las interrupciones evitan que la CPU esté continuamente interrogando a los dispositivos de E/S para saber si han concluido las operaciones de E/S pendientes.b) Cuando se van a transferir grandes volúmenes de datos es mejor disponer de DMA (acceso directo a memoria) que tener una E/S dirigida por interrupciones.c) En un sistema de tiempo compartido con una gestión de la E/S dirigida por interrupciones, cuando se produce una interrupción de un dispositivo de E/S mientras se ejecutan instrucciones en modo usuario, esta será atendida cuando el proceso finalice su cuanto de CPU.d) Cuando un dispositivo genera una interrupción, se salva el estado del proceso actualmente en ejecución (A), se atiende la interrupción mediante la rutina de servicio de interrupción correspondiente y se restaura el estado del proceso (X) que estaba pendiente de la finalización de dicha operación de E/S, siendo por tanto dicho proceso (X) el que dispondrá de la CPU para reanudar su ejecución.5.¿Con cuál de las siguientes afirmaciones te quedarías?

Page 9: Balotario Sistemas Operativos 2012 2 Isw

a) Las llamadas al sistema y las excepciones funcionan como interrupciones del software: se gestionan igual que las interrupciones del hardware pero las provoca la propia CPU.b) Las llamadas al sistema se realizan mediante una instrucción especial que depende del procesador y que sirve para que el usuario cambie voluntariamente a modo privilegiado.c) Si programamos en un lenguaje de alto nivel, generalmente escribimos la llamada al sistema como una subrutina, y el compilador la sustituye por la instrucción de máquina correspondiente.d) Todas las afirmaciones anteriores son ciertas.6.¿Cuál de las siguientes afirmaciones es falsa en un sistema multiprogramado con una única CPU?a) Se pueden ejecutar N procesos concurrentemente.b) Es posible que sea un sistema de tiempo compartido y además multiusuario.c) Es posible que sea un sistema de tiempo compartido en el que se pueden ejecutar N procesos en paralelo.d) Podría ser un sistema multiprogramado y de tiempo compartido pero monousuario.7.¿Con cuál de las siguientes afirmaciones te quedarías?a) El intérprete de órdenes es un programa del sistema que permite a los programadores realizar llamadas al sistema directamente.b) El sistema operativo ofrece una gama de servicios a los procesos. Los procesos acceden a estos servicios a través de llamadas al sistema.c) Los programas del sistema constituyen la interfaz de los usuarios con el sistema operativo y por ello siempre forman parte del núcleo del sistema operativo y son estos programas los que realizan en última instancia las llamadas al sistema.d) Toda las afirmaciones anteriores son ciertas.8.¿Con cuál de las siguientes afirmaciones te quedarías?a) El diseño de un S.O. siguiendo una estructura monolítica dificulta el mantenimientodel mismo pero facilita su depuración.b) El diseño por capas de un S.O. hace que éste sea más eficiente que el monolítico.c) Una de los problemas que se presenta al seguir un diseño jerárquico es establecer una definición adecuada de las distintas capas y la interacción entre ellas.d) El enfoque micronúcleo es básicamente igual al diseño monolítico con la salvedad del tamaño final del núcleo.9.Los búferes de E/S son:a) Un dispositivo de gestión de las entradas y salidas de datos al computador.b) El espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes (o con destino) a los periféricos.c) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida.d) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida con los dispositivos muy lentos.10.¿Con cuál de las siguientes afirmaciones te quedarías?a) El planificador a corto plazo que nunca provocará inanición entre los procesos es aquél que emplea una planificación por prioridades. b) El planificador a corto plazo según el algoritmo SJF es el que maximiza el tiempo medio de utilización de CPU.c) Con el algoritmo SJF expulsivo, la llegada de un nuevo proceso al sistema provoca siempre el desalojo del proceso actualmente en ejecución.d) Cuando en un sistema operativo se emplea el algoritmo de Turno Rotatorio (Round Robin) y la duración del cuanto es similar al tiempo invertido en la conmutación de procesos, el rendimiento es bajo.11.¿Con cuál de las siguientes afirmaciones te quedarías?a) Un proceso pesado contiene uno o varios hilos que comparten los diferentes recursos salvo la memoria.b) Los hilos son siempre soportados e implementados por el sistema operativo.c) La comunicación entre los hilos de un proceso pesado se puede realizar fácilmente ya que comparten memoria y por tanto esta comunicación se puede realizar a través de la pila.d) El cambio de contexto entre hilos de diferentes procesos pesados es más costoso que entre hilos de un mismo proceso pesado.12.Un sistema operativo es:

Page 10: Balotario Sistemas Operativos 2012 2 Isw

a) Un programa o conjunto de programas que sirve de intermediario entre los usuarios y el hardware de un sistema informático.b) Un administrador de los recursos físicos (ficheros, memoria, dispositivos de entrada/salida, …) y lógicos (semáforos, monitores…) de un sistema informático.c) Un programa más de un sistema informático.d) Todas las anteriores son ciertas.13.El siguiente código pretende gestionar la exclusión mutua en el acceso a una sección crítica, usando la instrucción atómica swap(a,b) (“bloqueo” es una variable global booleana inicializada a “false” y “flag” es una variable booleana local a cada proceso).

flag = true;repeat

swap (bloqueo, flag);until flag = false;/* Sección crítica */bloqueo = false;

La solución propuesta:a) Cumple las propiedades de exclusión mutua, progreso y espera limitada.b) Cumple la propiedad de exclusión mutua pero padece el problema de la espera activa.c) Cumple las propiedades de exclusión mutua y progreso pero presenta el inconvenientede que sólo es válida para dos procesos.d) Cumple la propiedad de exclusión mutua y progreso pero padece el problema de la espera activa.14.Con el concepto de “independencia de dispositivo” nos referimos a:a) La construcción de dispositivos que sirvan para distintas máquinas.b) La utilización de las funciones del sistema operativo específicas para cada uno de los dispositivos.c) La abstracción que algunos sistemas realizan del sistema de E/S.d) Los sistemas de E/S que dependen únicamente del sistema operativo.15.¿Con cuál de las siguientes afirmaciones te quedarías?a) El modo dual de operación es posible gracias a que el sistema operativo distingue dos modos de ejecución: modo usuario y modo núcleo, sin que sea necesario ningún soporte por parte del hardware.b) El modo dual de operación nos proporciona los medios para proteger el sistema operativo de los usuarios que puedan causar errores. Esta protección se consigue designando como instrucciones privilegiadas a aquellas instrucciones de máquina que pueden causar daño.c) Las instrucciones que permiten la gestión del temporizador (por ejemplo, la operación de lectura del temporizador) deberían ser privilegiadas.d) Cuando un sistema se encuentra en modo usuario, no debería permitir la ejecución de instrucciones privilegiadas, a menos que el usuario que las ejecute sea el usuario administrador de la máquina.

Suponga un sistema en el que existen tres tipos de recursos (A, B, C) con 4, 3 y 4 posibilidades para cada tipo y tres procesos. Suponga el siguiente estado:El proceso 0 declaró como máximo utilizará 4, 1 y 2 de cada tipo. Actualmente posee 1 posibilidad del tipo de recurso A, y del tipo B.El proceso 1 declaró que como máximo utilizará 2, 3 y 2 de cada tipo. Actualmente pose 1 posibilidad del tipo B y 2 del tipo C.El proceso 2 declaró que como máximo utilizará 2, 1 y 2 de cada tipo. Actualmente pose 1 posibilidad del tipo A

1.- El fenómeno de espera activa por operaciones de entrada/salida se puede evitar utilizando:a) interrupcionesb) instrucciones privilegiadasc) acceso directo a memoria (DMA)d) un pareja de registros base y límite2.- En un sistema multihiloa) un proceso pesado puede tener varios hilos con distintos espacios de memoria

Page 11: Balotario Sistemas Operativos 2012 2 Isw

b) un proceso pesado tiene uno o más hilos con distintos conjuntos de registrosc) por lo general, el tiempo de cambio de contexto es mayor entre hilos que entre procesos pesadosd) dos hilos de un mismo usuario comparten el mismo espacio de memoria3.- Sobre planificación de procesos:a) todos los métodos basados en prioridades tienen riesgo de inaniciónb) los métodos multicolas están concebidos para planificar sistemas multiprocesadoresc) el algoritmo FCFS perjudica a los procesos intensivos en CPUd) los enunciados a, b y c son todos falsos4.- Una llamada al sistema es:a. un servicio del sistema operativob. un programa del núcleo del sistema operativoc. una orden del intérprete de órdenesd. un tipo especial de programa del sistema5.- La técnica de planificación Round-Robin:a) en general, da mejores tiempos de espera que el FCFSb) minimiza el tiempo medio de retornoc) permite acotar el tiempo de espera máximod) permite acotar el tiempo de respuesta máximo6.- La técnica de Buffering permite que:a) Un proceso no espere debido a que un recurso no compartido esté asignado a otroproceso.b) Un proceso nunca espere debido a al lentitud de los dispositivos de E/S.c) Se solapen operaciones de CPU de un proceso con operaciones de E/S de otroproceso.d) Todas las afirmaciones anteriores son falsas.7.- La independencia del dispositivo significa o implica que...a) el usuario no debe conocer características propias de cada clase de dispositivo.b) el juego de caracteres empleados por una terminal de caracteres ha de ser ASCII.c) los dispositivos deberían tener independencia de los procesos de usuario.d) los procesos de usuario deberían trabajar indirectamente con los dispositivos.8.- La técnica del spooling...a) exige comprobar periódicamente la aparición de ficheros en el directorio de spool.b) solapa la ejecución en CPU de un proceso con la E/S de otros ya terminados.c) crea un dispositivo virtual dedicado a partir de uno compartido.d) En general, son ciertas a,b y c.9.- ¿ Cuál de estos sistemas informáticos no se puede dar ?a) un sistema monoprogramado por lotes multiusuario.b) un sistema multiprogramado por lotes monousuario.c) un sistema monoprogramado de tiempo compartido multiusuario.d) un sistema multiprogramado de tiempo compartido monousuario.10.- El modo dual de operación en los sistemas es posible gracias aa) Que existe el sistema operativob) Que las instrucciones máquina están divididas en privilegiadas y no privilegiadasc) Que la memoria está dividida en memoria del sistema y de usuariod) Que se dispone de llamadas al sistema11.- ¿Con cuál de las siguientes afirmaciones te quedarías?a) El diseño de un S.O. siguiendo una estructura monolítica permite que se puedarealizar un mantenimiento y depuración sencillos del mismob) En general, el diseño por capas tiende a ser menos eficiente que el monolíticoc) El modelo cliente-servidor es equivalente a un sistema que sigue el enfoquejerárquico donde las capas pueden cambiar su nivel en la jerarquíad) El enfoque micronúcleo tiene como dos de sus mejores virtudes la portabilidad y el tamaño final del sistema operativo, siempre menor que el que se obtiene siguiendo cualquier otro esquema12.- El interprete de órdenes,a) Es un programa del sistema y constituye la única forma de solicitar servicios al SOb) Ejecuta las órdenes indicadas por el usuario y para ello hace uso a su vez de las llamadas al

Page 12: Balotario Sistemas Operativos 2012 2 Isw

sistemac) Al ser un programa del sistema, no necesita realizar llamadas al sistemad) Siempre forma parte del núcleo del sistema operativo14.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervención de la CPU, cuando se tiene:a) E/S controlada por programa.b) E/S por interrupciones.c) DMA.d) Ninguna de las anteriores.15.- El tiempo de cambio de contextoa) es constante para dos hilos cualesquierab) es menor entre dos hilos pertenecientes a la misma tarea, comparado con hilos de distintas tareas.c) es mayor cuanto más grande es el cuanto de tiempo, si planificamos con un Round Robin.d) todas son falsas//**Comentar la validez del algoritmo de exclusión mutua del programa siguiente:int flag1, flag2; void Proceso_1(){ while (true) {

// SECCION NO CRITICAflag1=0;while (flag2==0) { flag1=1; while (flag2==0) NULL; flag1=0;}

// SECCION CRITICA flag1=1; // SECCION NO CRITICA }}

void Proceso_2(){ while (true) { // SECCION NO CRITICA

flag2=0;while (flag1==0){ flag2=1; while (flag1==0) NULL; flag2=0;}

// SECCION CRITICA flag2=1; // SECCION NO CRITICA }}

Page 13: Balotario Sistemas Operativos 2012 2 Isw

Dada la frase: «según el algoritmo del banquero, un sistema es inseguro cuando en él existe interbloqueo». ¿Es dicha afirmación cierta? Justificardetalladamente la respuesta.

2. En un sistema de tiempo real es crítico:a. El grado de ocupación del procesadorb. El flujo de trabajoc. El tiempo de esperad. El tiempo de respuesta3. La confiabilidad es una propiedad característica de los sistemas:a. Multiprogramadosb. De tiempo compartidoc. De tiempo reald. Distribuidos5. Si una solución al problema de la sección crítica da lugar ainanición, entonces no cumple la condición:a. Exclusión mutuab. Espera limitadac. Progresod. Todas las anteriores son falsas6. ¿El problema de la sección crítica puede ser resuelto consemáforos?a. Siempreb. Depende de cómo estén implementados los semáforosc. Nuncad. Todas las anteriores son falsas9. El intérprete de órdenes,a. es un programa del sistemab. Obtiene y ejecuta las órdenes especificadas por el usuarioc. hace uso de las llamadas al sistema para desempeñar su funciónd. Todas las anteriores son ciertas10. No tiene sentido hablar dea. un sistema multiprogramado monousuariob. un sistema de tiempo compartido multiusuarioc. un sistema multiprogramado y multiprocesadord. un sistema de tiempo compartido no multiprogramado11. El que ciertas instrucciones se llamen “atómicas” significa que:a. no se pueden ejecutar concurrentementeb. se han de ejecutar indivisiblementec. No tiene ningún significado especiald. Todas son falsas12. Se ejecutan consecutivamente dos operaciones P o WAIT sobre unsemáforo. ¿ Es esto posible ?a. Síb. Sí, siempre que no hayan sido procesos diferentesc. Nod. No, si las ha realizado un solo proceso13. La utilización de una cola de procesos para la implementación delas operaciones con semáforos:a. es necesaria para poder realizar una implementación de losmismosb. evita las soluciones con espera activac. es posible gracias a las instrucciones atómicas (test-and-set yswap)d. todas las anteriores son ciertas14. Un sistema monoprocesador que lleve a cabo una planificación noexpulsiva:a. No es implementableb. No puede ser multiprogramado ya que para ello es necesario unapolítica expulsivac. Presenta menos dificultades para controlar el problema de la sección críticad. todas las anteriores son falsas

Page 14: Balotario Sistemas Operativos 2012 2 Isw

15. Sobre planificación de procesos:a. Todos los métodos basados en prioridades tienen riesgo deinaniciónb. Los métodos multicolas están concebidos para planificarsistemas multiprocesadoresc. El cuanto de tiempo óptimo para un Round Robin vieneinfluenciado por el tiempo de cambio de contextod. a) y c) son ciertas

//***1. El modo dual de operación se adoptó para que el sistema informático fuera

a. más fácil de usar b. más eficiente c. más rápido d. más seguro

2. El procesamiento fuera de línea (off-line) se concibió para a. hacer que los dispositivos de E/S funcionaran más rápidamente b. conseguir que el procesador espere menos al realizar operaciones de E/S c. hacer que los dispositivos de E/S fueran más seguros d. todas las anteriores son ciertas

3. Si en una solución al problema de la sección crítica un proceso puede verse impedido de acceder a su sección crítica debido a que siempre hay otros procesos que entran antes que él, entonces no se cumple:

a. la condición de progreso b. la condición de espera limitada c. la condición de exclusión mutua d. la condición de interbloqueo

5. ¿Qué tipo de planificador esstá íntimamente ligado con la gestión de la memoria? a. planificador de bajo nivel b. planificador de medio nivel c. planificador de alto nivel d. todas las anteriores son falsas

6. ¿Cuál de estas transiciones de estados de un proceso jamás se produce en un sistema normal? a. de “bloqueado” a “preparado” b. de “preparado” a “bloqueado” c. de “bloqueado” a “en ejecución” d. de “en ejecución” a “bloqueado”

7. ¿Qué ventaja aporta el uso de interrupciones en las operaciones de E/S frente a no usarlas? a. aumenta la rapidez en las transferencias de datos b. aumenta la fiabilidad en las transferencias de datos c. contribuye a proteger la entrada/salida de accesos maliciosos d. permite comprobar fácilmente la finalización de las operaciones de E/S

8. La multiprogramación implica necesariamente a. concurrencia b. paralelismo c. procesamiento por lotes d. tiempo compartido

9. ¿Cuál de estas afirmaciones es cierta? a. un proceso pesado contiene uno o varios hilos b. un proceso pesado pertenece a uno o varios hilos c. un hilo contiene uno o varios procesos pesados d. un hilo pertenece a uno o varios procesos pesados

10. Linux es un sistema operativo a. por lotes b. de tiempo compartido c. de tiempo real

Page 15: Balotario Sistemas Operativos 2012 2 Isw

d. distribuido

11. El núcleo del sistema operativo... a. es un proceso que se ejecuta en modo privilegiado b. contiene el código del programa de usuario c. contiene el código de los programas del sistema d. reside de forma permanente en memoria principal

//**El siguiente algoritmo pretende solucionar el problema de la sección crítica para dos procesos, P0 y P1. Demuestre si el algoritmo es o no es correcto.

El algoritmo usa un vector global “flag”, declarado de la siguiente forma:

boolean flag[2]= {false, false};

i y j son dos constantes cuyos valores dependen del proceso que ejecuta el algoritmo, según esta tabla:

i j

P0 0 1

P1 1 0

Algoritmo:1 while (true){

2 flag[i] = true;3 while flag[j]{4 flag[j] = false;5 while flag[j] ;6 flag[j] = true;7 };

8 ... sección crítica ...

9 flag[j] = false;

10 ... sección no crítica ...

11 };

//**(2 puntos) Considere un sistema que es sometido a la siguiente carga de trabajo: Proceso Tiempo de llegada Tiempo de uso de CPU P0 0 4 P1 1 5 P2 2 2 P3 3 1

Para cada una de las siguientes políticas de planificación: a)Primero el más corto apropiativo; b) Round-Robin (cuanto=3); se pide: · Obtener los diagramas de Gantt. · Calcular el tiempo medio de retorno y el tiempo medio de espera.

1. Un proceso que está realizando una operación de Entrada/Salida está en estado de: a) Ejecución (run) b) Espera (wait) c) Listo (ready) d) Sometido (submit)

2. La técnica de buffering a) Simultanea operaciones de CPU de un proceso con operaciones de Entrada/Salida de otro

Page 16: Balotario Sistemas Operativos 2012 2 Isw

b) Simultanea operaciones de CPU de un proceso con operaciones de Entrada/Salida del mismo c) Simultanea varias operaciones de Entrada/Salida de un mismo proceso d) Todas las anteriores son falsas

3. Multiprogramación implica: a) Tiempo compartido b) Procesamiento en lote c) Interactividad d) Todas las anteriores son falsas

8. En la planificación de procesos en Windows-NT se emplea la política a) Round-Robin b) Primero el más corto c) Round-Robin con colas multinivel d) Prioridades variables 11. La implementación de un semáforo con la instrucción test-and-set a) no evita la espera activa b) no evita la inanición c) no evita el interbloqueo d) todas son ciertas

12. En un canal de capacidad nula no bloqueante, la comunicación sólo se podrá establecer a) cuando el emisor esté listo b) cuando el receptor esté listo c) cuando el receptor esté listo y el emisor haya dejado el mensaje con anterioridad en el canal d) cuando el emisor y el receptor estén ambos listos

13. Para resolver el problema de la exclusión mutua, puede emplearse una variable global turno con el identificador del proceso que tiene derecho a entrar en la sección crítica. Cada vez que un proceso sale de su S.C., cambia el valor de turno al identificador de otro proceso. Esta solución: a) es correcta b) no cumple la propiedad de exclusión mutua c) no cumple la propiedad de progreso d) no cumple la propiedad de independencia de la arquitectura

14. Los monitores a) garantizan la espera limitada, pero no la ejecución en exclusión mutua b) eliminan la necesidad de utilizar variables de tipo condición c) son tipos abstractos de datos d) todas las anteriores son ciertas

15. Sobre las herramientas de coordinación de procesos: a) los monitores no se han empleado en los lenguajes de programación porque su implementación es muy costosa. b) las regiones críticas resuelven cualquier problema de sincronización que sea resoluble con semáforos binarios. c) la semántica de las operaciones con variables condición está bien definida. d) los semáforos facilitan el encapsulamiento de la estructura de los datos y las operaciones privadas que se hacen sobre ellos.

16. Un semáforo tiene actualmente el valor 2. Si se ejecuta una operación wait o P sobre él, ¿qué sucederá? a) El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación signal o V. b) Tras hacer la operación, el proceso continuará adelante sin bloquearse. c) El proceso continuará adelante sin bloquearse, y si previamente existían procesos bloqueados a causa del semáforo, se desbloqueará uno de ellos. d) Un semáforo jamás podrá tener el valor 2, si su valor inicial era 0 (cero) y se ha operado correctamente con él.

18. La instrucción fork del sistema UNIX... a) carga un archivo ejecutable en una zona de memoria y lanza el nuevo programa a ejecución concurrentemente

Page 17: Balotario Sistemas Operativos 2012 2 Isw

b) carga un archivo ejecutable en la zona de memoria ocupada por el proceso que llama y empieza a ejecutar el nuevo programa c) crea un nuevo hilo de ejecución dentro del proceso que hace la llamada d) genera una copia de la memoria del proceso llamador, y crea un nuevo proceso que se ejecuta sobre la copia

1. ¿En qué punto de la evolución histórica de los Sistemas Operativos se introduce la utilización de los lenguajes de alto nivel FORTRAN y COBOL? a) Primeros sistemas b) Sistemas de procesamiento por lotes c) Sistemas multiprogrados d) Sistemas de tiempo compartido

2. Con el empleo de la técnica denominada secuencia automática de tareas se logró: a) Soportar multiprogramación b) Soportar la interactividad c) Reducir el tiempo de preparación (set-up time) d) Todas las opciones anteriores son falsas

3. ¿En qué punto de la evolución histórica de los Sistemas Operativos se introduce la técnica denominada operación fuera de línea (off-line)? a) Primeros sistemas b) Sistemas de procesamiento por lotes c) Sistemas multiprogramados d) Sistemas de tiempo compartido

4. La característica funcional denominada independencia de dispositivo se comenzó a soportar con la utilización de la técnica de: a) Buffering b) Spooling c) Operación fuera de línea d) Secuencia automática de tareas

5. Un sistema de tiempo compartido es un caso particular de: a) Sistema multiprogramado b) Sistema monousuario c) Sistema de procesamiento por lotes d) Sistema monotarea

6. Los sistemas operativos de tiempo real se caracterizan por: a) Ser sistemas muy veloces b) Permitir la multiprogramación c) Cumplir unas restricciones de tiempo de proceso definidas a priori d) Ser sistemas monotarea

7. El sistema operativo UNIX es un caso de: a) Sistema de procesamiento por lotes b) Sistema multiprogramado c) Sistema de tiempo compartido d) Sistema monotarea

8. El sistema operativo UNIX es un caso de: a) Sistema de procesamiento por lotes b) Sistema multiprogramado c) Sistema de tiempo compartido d) Sistema interactivo

10. El ejecutor del WINDOWS-NT es: a) Un subsistema protegido b) La parte del sistema que se ejecuta en modo núcleo (o sistema) c) El responsable de la gestión de procesos e hilos d) El responsable de cargar y ejecutar procesos e hilos

Page 18: Balotario Sistemas Operativos 2012 2 Isw

11. ¿Cuál de estas herramientas elimina por sí misma el riesgo de interbloqueo? a) Instrucciones atómicas b) Regiones críticas c) Semáforos d) Ninguna de ellas 12. ¿Cuál de estas herramientas elimina por sí misma el riesgo de inanición? a) Instrucciones atómicas b) Regiones críticas c) Semáforos d) Ninguna de ellas 13. La llamada fork() del UNIX a) crea un nuevo proceso, compartiendo la memoria virtual del padre b) crea un nuevo proceso, cuya memoria virtual es una copia de la del padre c) crea un nuevo proceso, cuya memoria virtual es una copia de la del padre, pero compartiendo el mismo BCP d) crea un nuevo proceso, ejecutando el programa que se pasa como argumento 14. Cuando un proceso intenta acceder a una dirección de memoria fuera de su ámbito, se genera... a) una interrupción b) una excepción c) un aborto (abort) del proceso d) la suspensión del proceso 15. Los semáforos... a) no tienen sentido en sistemas de procesamiento por lotes b) sólo son aplicables en sistemas de tiempo real c) sólo son aplicables en sistemas que planifican procesos mediante round robin d) son aplicables en sistemas que planifican procesos mediante SJF (o aproximaciones a esa política)

1. Un sistema operativo tiene la finalidad de:a. Hacer que el sistema informático sea más rápido. b. Hacer que el sistema informático sea más eficiente. c. Hacer que el sistema informático sea más cómodo de usar para los usuarios. d. Hacer que el sistema informático sea más eficiente, amigable y seguro.

2. En el contexto de la evolución histórica de los sistemas informáticos, los manejadores de dispositivos aparecieron como una mejora de:

a. Los primeros sistemas. b. Los sistemas de procesamiento en lotes sencillos. c. Los sistemas de procesamiento en lote sofisticados. d. Los sistemas multiprogramados.

3. Los primeros sistemas operativos rudimentarios se crearon para que los ordenadores fueran más:a. Fáciles de utilizar. b. Productivos. c. Seguros. d. Interactivos.

4. El modo de operación denominado "fuera de línea" permite:a. Simultanear operaciones de E/S de una tarea con operaciones de CPU de esa misma tarea. b. Simultanear operaciones de E/S de una tarea con operaciones de CPU de otras en el mismo

sistema. c. Reducir los tiempos de inactividad de la CPU debido a la lentitud de los dispositivos de E/S. d. Todas las anteriores son falsas.

5. La técnica de buffering permite:a. Simultanear operaciones de E/S de una tarea con operaciones de CPU de esa misma tarea. b. Simultanear operaciones de E/S de una tarea con operaciones de CPU de otras en el mismo

sistema. c. Reducir los tiempos de inactividad de la CPU debido a la lentitud de los dispositivos de E/S. d. Todas las anteriores son falsas.

6. La técnica de spooling permite:a. Simultanear operaciones de E/S de una tarea con operaciones de CPU de esa misma tarea. b. Simultanear operaciones de E/S de una tarea con operaciones de CPU de otras en el mismo

sistema. c. Reducir los tiempos de inactividad de la CPU debido a la lentitud de los dispositivos de E/S. d. Todas las anteriores son falsas.

7. El tiempo de respuesta es un parámetro de especial importancia en un sistema:

Page 19: Balotario Sistemas Operativos 2012 2 Isw

a. Sistema de procesamiento en lotes. b. Sistema multiprogramado. c. Sistema de tiempo compartido. d. En todos los sistemas anteriores posee la misma importancia.

8. Para procesar simultáneamente operaciones de CPU con operaciones de E/S se requieren:a. Dispositivos rápidos de E/S. b. Un reloj del sistema. c. Interrupciones. d. Instrucciones hardware especiales de protección.

Pregunta1 a) Si en un S.O. la implementación de los threads (hebras) se realizó a nivel de usuario, qué sucede con las restantes hebras de un proceso cuando una se bloquea como consecuencia de la invocación de un servicio (system call) del S.O.?b) Se analiza un sistema de paginación por demanda y se observa que, con cierta carga de trabajo, de la CPU se emplea un 15% y el disco de intercambio (swap) está ocupado un 92% del tiempo. ¿Qué acción tomaría para aumentar el rendimiento del sistema para esta misma carga de trabajo?c) Describa brevemente en que consiste la técnica de swapping así como su oportunidad de uso.

Pregunta 2 a) El semáforo es un buen mecanismo para obtener la exclusión mutua entre dos procesos. Explique brevemente porque si las operaciones P y V no se ejecutan en forma atómica puede no proporcionarse la exclusión mutua.b) Un proceso A recibe datos por la red y lo escribe en una zona de memoria. Un proceso B debe imprimir por pantalla cada uno de los datos recibidos por A. Explique si el siguiente código resuelve el problema.

Semaphore ready = 0;Semaphore go = 0;While(TRUE) { Leer_red(); v(go); poner_datos(); P(ready); }

While(TRUE) { P(go); Copiar_datos(); V(ready); Imprimir();}

Pregunta 5 Especifique los requerimientos de hardware para soportar eficientemente y en modo protegido un esquema de segmentación de memoria.Problema 2 En una empresa pública los clientes deben pedir hora de atención en N mostradores habilitados, presentando su Documento de identidad. Aquí se les dará una fecha y hora para atención, en función de la descripción de su caso y de su número de documento de identidad.Los clientes deberán elegir el mostrador con menor cantidad de gente en la cola.Se desea modelar este problema utilizando mailboxes, usando solo las primitivas send y receive.Se contará con la función:

Function fecha_atención (documento_identidad: in integer, Descripción_caso: in string) : datetimeSi se desea se podrá implementar únicamente una tarea auxiliar (Portero).El programa principal deberá ejecutar el siguiente código:Begin

Co-beginPortero; /* Opcional */

Cliente (Documento_identidad1, “descripción caso 1”);Cliente (Documento_identidad2, “descripción caso 2”);...Cliente (Documento_identidadM, “descripción caso M”);Mostrador (1);Mostrador (2);....Mostrador (N);

Co-end;End;

Page 20: Balotario Sistemas Operativos 2012 2 Isw
Page 21: Balotario Sistemas Operativos 2012 2 Isw
Page 22: Balotario Sistemas Operativos 2012 2 Isw

1. Porque, una de las funciones del sistema operativo es presentar al computador como una maquina virtual?

2. Porque los procesos entran en condiciones de competencia? (mencione un ejemplo).3. Dada la siguiente propuesta para el problema de productor – consumidor, mediante un ejemplo

explique por qué falla el código presentado.

T1) En el caso del Productor-consumidor con un productor y un consumidor con buffer ilimitado es necesaria la sincronización

a) Para evitar que el productor y el consumidor accedan simultáneamente al buffer. b) Para evitar que el productor deje una unidad en el buffer estando éste lleno. c) Para evitar que el consumidor coja una unidad del buffer estando éste vacío.d) Ninguna del resto de las respuestas es correcta. T2) En el modelo de procesos de estados visto en clase, la planificación a corto plazo tiene por

objetoa. Aumentar el grado de multiprogramación del sistema cuando esto es posible.b. Disminuir el grado de multiprogramación del sistema, cuando éste es excesivamente grande.c. Pasar procesos a la CPU.d. Ninguna del resto de respuestas es correcta.T3) ¿Cuál de las siguientes afirmaciones es correcta?a) Un sistema operativo multitarea se basa, entre otras cosas, en la concurrencia real entre el procesador y las operaciones de E/S realizadas por los controladores de los periféricos.b) En un sistema monotarea, el procesador se mantiene ocioso mientras se realizan operaciones de e/sc) En los sistemas de tiempo compartido, se divide el tiempo de procesamiento entre los diferentes procesos que se encuentren listos para ejecutar, asignando pequeñas porciones a cada uno de ellos.d) Ninguna de las afirmaciones restantes es correctaT4) ¿Cuál de las siguientes afirmaciones es correcta?a) Ninguna de las afirmaciones restantes es correctab) La imagen en memoria de un proceso es una estructura de datos que forma parte del sistema operativo.c) El bloque de control de proceso almacena una copia del estado del procesador en el instante en que el proceso abandona la CPUd) El bloque de control de un proceso almacena la imagen en memoria del mismoT5) En función del número de procesos concurrentes que puede ejecutar cada usuario, los

sistemas operativos se clasifican en: Monoproceso / Multiproceso. b) Monoprogramación / Multiprogramación. c) Monotarea / Multitarea. d) Monousuario / Multiusuario.

T6) Para poder implementar políticas de tiempo compartido es imprescindible a) Ninguna del resto de las respuestas es correcta. b) Manejar adecuadamente la interrupción de reloj. c) Gestionar varias tareas por usuario. d) Ser capaces de atender múltiples peticiones simultáneas de e/s. T7) Cuál de las siguientes afirmaciones es correctaa) La activación de un proceso implica la copia de los registros del procesador en el bloque de control del proceso activadob) Ninguna de las afirmaciones restantes es correctac) Cuando se produce una interrupción es necesario salvar el estado del procesador en el BCP y ejecutar la rutina de manejo de la interrupciónd) El cambio de contexto es una operación que realiza el propio hardwareT8) ¿Cuál de las siguientes afirmaciones es correcta?a) Si dos hilos de la misma tarea comparten una variable y la modifican, será necesario proteger su acceso con algún mecanismo de sincronización que proporcione exclusión mutuab) Ninguna de las afirmaciones restantes es correctac) La creación de un nuevo hilo dentro de una tarea existente implica menor coste que la creación de una nueva taread) El cambio entre hilos de la misma tarea implica menos coste que el cambio entre tareas diferentesT9) ¿Cuál de las siguientes afirmaciones es correcta?a) Un proceso que se encuentra en ejecución no tiene BCP puesto que no lo necesitab) El vapuleo es el intercambio excesivo del BCP de memoria principal a secundaria

Page 23: Balotario Sistemas Operativos 2012 2 Isw

c) Un proceso que se ejecute deberá pasar por todos y cada uno de los estados del ciclo de vida antes de finalizar el mismod) Ninguna de las afirmaciones restantes es correctaT10) ¿Cuál de las siguientes afirmaciones es correcta?a) El planificador a largo plazo elige procesos de entre los que quieren entrar al sistemab) Ninguna de las afirmaciones restantes es correctac) El planificador a corto plazo elige un proceso de la lista de listos para pasarlo a ejecuciónd) El planificador a medio plazo suspende y reanuda procesos para controlar la carga del sistemaT11) ¿Cuál de las siguientes afirmaciones es correcta?a) En los sistemas de tiempo compartido, se divide el tiempo de procesamiento entre los diferentes procesos que se encuentren listos para ejecutar, asignando pequeñas porciones a cada uno de ellos.b) Ninguna de las afirmaciones restantes es correctac) Un sistema operativo multitarea se basa, entre otras cosas, en la concurrencia real entre el procesador y las operaciones de E/S realizadas por los controladores de los periféricos.d) En un sistema monotarea, el procesador se mantiene ocioso mientras se realizan operaciones de e/sT12) ¿Cuál de las siguientes afirmaciones es correcta?(Concepto de Proceso)a) El bloque de control de proceso almacena una copia del estado del procesador en el instante en que el proceso abandona la CPUb) Ninguna de las afirmaciones restantes es correctac) La imagen en memoria de un proceso es una estructura de datos que forma parte del sistema operativo.d) El bloque de control de un proceso almacena la imagen en memoria del mismoT13) ¿Cuál de las siguientes afirmaciones es correcta?a) No es posible suspender los procesos que están bloqueadosb) Ninguna de las restantes respuestas es correctac) Si un proceso está en estado suspendido, no necesita BCPd) El BCP de un proceso suspendido está almacenado en el discoT14) Sean dos procesos concurrentes que comparten un conjunto de variables, tanto de

lectura como de escritura. a) Los dos procesos no necesariamente son independientes en el tiempo. b) Los dos procesos necesariamente son independientes en el tiempo. c) Es imprescindible utilizar semáforos para su sincronización. d) Ninguna del resto de las respuestas es correcta. T15) ¿Cuál de las siguientes afirmaciones es correcta?a) Proceso y programa son conceptos equivalentesb) Proceso e hilo son conceptos equivalentesc) Monoproceso y monoprocesador son conceptos equivalentesd) Ninguna de las afirmaciones restantes es correctaT16) ¿Cuál de las siguientes afirmaciones es correcta?a) El paralelismo real entre el procesador y la e/s es aprovechado por el S.Operativo para gestionar la ejecución de múltiples procesos simultáneamenteb) El reparto del uso del procesador entre diferentes procesos en pequeñas porciones, permite al S.Operativo gestionar la ejecución de múltiples procesos simultáneamentec) La multiprogramación y el tiempo compartido constituyen las dos técnicas que permiten al S. Operativo la ejecución de múltiples procesos simultáneamente d) Ninguna de las afirmaciones restantes es correctaT17) ¿Cuál de las siguientes afirmaciones es correcta?a) El Bloque de Control de un Proceso almacena el estado del procesador del instante en que el proceso es interrumpido por última vezb) Siempre que se produce una interrupción, el sistema operativo salva el estado delprocesador en el BCP del proceso interrumpidoc) Desde el BCP se puede localizar los segmentos de memoria asignados a los procesosCierto, esta información se guarda en el BCPd) Ninguna de las afirmaciones restantes es correctaT18) ¿Cuál de las siguientes afirmaciones es correcta?a) El código de un proceso se encuentra localizado en la imagen de memoria del proceso, la pila de ejecución se localiza en el Bloque de Control de Procesob) La imagen de memoria de un proceso es una copia del fichero ejecutable cargado desde el discoc) El BCP de un proceso forma parte de la imagen de dicho procesod) Ninguna de las afirmaciones restantes es correcta

Page 24: Balotario Sistemas Operativos 2012 2 Isw

T19) ¿Cuál de las siguientes afirmaciones es correcta?a) La información sobre el estado de un proceso forma parte de la información de control almacenada en su BCPb) La información sobre la prioridad de planificación de un proceso forma parte de la información de control almacenada en su BCPc) La información sobre el propietario de un proceso forma parte de la información de control almacenada en su BCPd) Ninguna de las afirmaciones restantes es correctaT20) Sea un modelo de ciclo de vida con estados vistos en clase ¿Cuál de las siguientes

afirmaciones es correcta?a) Cuando se crea un proceso, si no existe espacio en memoria principal para asignarle, no se crea un BCP para élb) El estado de ejecución tiene asignada una cola con los procesos que desean ser ejecutadosc) Los procesos en estado listo suspendido no se encuentran cargados en memoria principald) Ninguna de las afirmaciones restantes es correctaT21) Sea un modelo de ciclo de vida de 7 estados ¿Cuál de las siguientes afirmaciones es

correcta?a) El planificador a largo plazo elige procesos creados y los carga en memoria principalb) El planificador a corto plazo decide que proceso pasará a ser ejecutado, de entre los procesos listosc) El planificador a medio plazo decide cuándo intercambiar procesos entre memoria y discod) Ninguna de las afirmaciones restantes es correctaT22) Sobre la gestión de interrupciones ¿Cuál de las siguientes afirmaciones es correcta?a) Cuando se produce una interrupción, el propio hardware salva el valor de todos los registros del procesadorb) Siempre que se produce una interrupción, entra a ejecutarse alguna parte del sistema operativoc) Cuando se gestiona una interrupción el hardware cambia la ejecución de modo usuario a modo supervisor, a través del registro de estadod) Ninguna de las afirmaciones restantes es correctaT23) Sobre la gestión del tiempo compartido ¿Cuál de las siguientes afirmaciones es

correcta?a) Si se aplica una política de planificación cíclica, cada vez que se produce una interrupción de reloj, el sistema operativo cambia el proceso que se está ejecutandob) El reloj produce una interrupción cada vez que llega al máximo delimitado por el cuanto de tiempoc) En el modelo básico de 3 estados, los procesos que esperan por un evento y están bloqueados, vuelven al estado de ejecución en el momento en que llegue el evento esperadod) Ninguna de las afirmaciones restantes es correctaT24) Acerca de la concurrencia de procesos ¿Cuál de las siguientes afirmaciones es

correcta?a) En un sistema monoprocesador en el que se gestionen hilos, la concurrencia que se puede dar es una concurrencia realb) Los procesos concurrentes son aquellos que comparten recursosc) Los procesos concurrentes son dependientes en el tiempod) Ninguna de las afirmaciones restantes es correctaT25) Los sistemas de procesamiento por lotes con respecto a los sistemas de tiempo

compartidoa. Introducen menos sobrecarga en el sistema. b. Disminuyen la productividad del sistema. c. Introducen una mayor sobrecarga al sistema. d. Ninguna del resto de las respuestas es correcta.T26) La aparición de los sistemas de procesamiento por lotes supusoa. La posibilidad de utilización del ordenador desde varias terminales. b. La posibilidad de que haya varios procesos ejecutándose simultáneamente. c. Ninguna del resto de las respuestas es correcta. d. Un aumento en la utilización de los procesadores.T27) Cuando ocurre una interrupción, ¿quién es responsable de almacenar el valor del

registro contador de programa del procesador?a. El hardware.b. La rutina de tratamiento de la interrupción.c. El programa de usuario interrumpido.d. Ninguna del resto de respuestas es correcta.

LAB1) ¿Cuál de las siguientes afirmaciones es correcta?(Llamada al sistema fork())

Page 25: Balotario Sistemas Operativos 2012 2 Isw

Sea el siguiente códigomain()if (fork()==0) { if (fork() == 0) fork(); printf(“%d\n”, getpid());}a) A partir del proceso P, que ejecuta este código se generan 8 procesos más (2 elevado a 3)Falso, se generan 3 procesosb) A partir del proceso P, que ejecuta este código, se generan 3 procesos, hijo, nieto ybisnieto de P.c) A partir del proceso P, que ejecuta este código, se generan 3 procesos, hijos de Pd) Ninguna de las restantes

LAB2) Dado el siguiente código Código 1 #include <unistd.h> main () { int valor; printf(“3\n ”); valor=fork(); if (valor!=0) printf(“6 \n”); execlp(“codigo2”,”codigo2”,NULL); printf(“Fin de la ejecución \n“); }

Siendo el código2 el siguiente: main () { int i; for (i=0;i<2;i++) printf(“%d ”,i ); }

Page 26: Balotario Sistemas Operativos 2012 2 Isw

Si inicialmente se pone en ejecución el primer código, y suponiendo que el padre se ejecuta antes que el hijo, cuál será la salida de la ejecución: a) 3 0 1 Fin de la ejecución 6 0 1 Fin de la ejecución b) 3 0 1 6 0 1 c) 3 0 1 6 Fin de la ejecución d) Ninguna del resto de las respuestas es válida.

LAB3) Dado el siguiente código#include <fcntl.h> main() { int fd[2]; int valor, f; char buffer[3]; pipe(fd); valor=fork(); if (valor ==0) write(fd[1],"hhh",3); else { f = open("mifichero",O_WRONLY); read(fd[0],buffer,3); write(f,buffer,3); close(f); } }Suponiendo que se ejecuta antes el proceso padre que el hijo, cuál de las siguientes respuestas es correcta: a) El proceso padre intenta escribir en “mifichero” pero el contenido de buffer que le pasa es vacío y se produce un error b) Después de la ejecución tanto el pipe como “mifichero” contienen “hhh” c) Después de la ejecución tanto el pipe como “mifichero” están vacíos d) Ninguna de las anteriores respuestas es válidaLAB4) .- Sea el siguiente código

Código 1 #include <unistd.h> main() { int p=fork(); If (p==0) execl(“codigo1”,”codigo1”, NULL); else printf(getpid()); }Cuál de las siguientes respuestas es correcta a) Hay un proceso que no acaba nunca b) Se generan infinitos procesos hijos del primer proceso que se genera c) Se generan 2 procesos d) Ninguna de las respuestas LAB5) Sea el siguiente código en lenguaje C de un programa que se

ejecuta bajo el sistema operativo Unix void main() { int a=0; if (fork()) {a=a+1;

26

Page 27: Balotario Sistemas Operativos 2012 2 Isw

printf(a); }}

¿Cuál es el resultado de la ejecución? a. Tan sólo el padre imprime el valor de a, que podrá ser 0 o 1 dependiendo de quién se ejecute antesb. Tan sólo el padre imprime el valor de a que será 1.c. Se imprime una vez la variable a con valor 0 y otra vez con valor 1d. Ninguna del resto de respuestas es correcta.LAB6) Sea el siguiente código en lenguaje C de un programa que se

ejecuta bajo el sistema operativo Unixvoid main() {int a = 0;if ( fork() )a=a+1;elsea=a+1;printf(“Valor de a: %d\n”, a);}¿Cuál es el resultado de la ejecución?a) Independientemente de quién se ejecute antes, se imprime una vez la variable a con valor 1 y otra vez con valor 2b) Ninguna del resto de respuestas es correcta.c) Tanto el padre como el hijo escribirán un 1d) Suponiendo que se ejecuta antes el padre que el hijo, se escribirá primero un 1 y luego un 2LAB7) ¿Cuál de las siguientes afirmaciones es correcta?a) Sea el siguiente código del programa hola.c (fichero ejecutable “hola.out”)main(){if (fork())printf("Hola\n");elseexeclp(“hola.out”,”hola.out”,null); /* esta llamada ejecuta el ficherohola.out */}a) Al ejecutar hola.out el resultado será la impresión de “Hola” dos veces por pantallab) Ninguna de las afirmaciones restantes es correctac) Cuando se crea un proceso en Unix con un fork(), se crea un bloque de control de proceso para el proceso hijo que se almacena en la imagen del proceso hijod) En la creación de procesos en Unix, padre e hijo comparten las variables globales, por lo que si uno de ellos modifica un valor, éste será modificado también para el otro.

1 (4 puntos) Suponga un sistema operativo que funciona según el modelo cliente-servidor en un ordenador con un solo procesador. Los procesos de usuario se planifican mediante una política Round-Robin con cuanto 20 milisegundos (mseg) y los procesos del sistema operativo por prioridades, teniendo éstos mayor prioridad que los procesos de usuarios. En este sistema existe, entre otros, un proceso del sistema operativo que atiende las peticiones de entrada-salida llamado ES. Si asumimos que: • El proceso ES trata cualquier petición de entrada-salida consumiendo siempre 25 milisegundos de CPU. • El tiempo consumido por cualquier otra acción o servicio del sistema operativo es despreciable. • El sistema posee un solo dispositivo de entrada-salida, siendo no compartido y se gestiona mediante una política FIFO. Si pide hallar el Tiempo de Espera y el Tiempo de Retorno de cada procesoPara la siguiente carga de procesos:

T. de llegada

Proceso Ráfaga CPU

Ráfaga de E/S

Ráfaga de CPU

0 mseg P0 45 mseg 25 mseg 40 mseg 50 mseg P1 20 mseg 25 mseg 15 mseg

2 () Indique si las siguientes afirmaciones son verdaderas (V) o falsas (F) justificando la respuesta (no se puntuarán respuestas mal justificadas):a) En un sistema multiprogramado con dos procesos en estado preparado: uno orientado a E/S otro orientado a cómputo, la estrategia de planificación SJF da un mejor tiempo de retorno que la estrategia FCFS ()b) La multiprogramación aumenta el nivel de ocupación tanto del procesador como de los dispositivos de E/S. ()

27

Page 28: Balotario Sistemas Operativos 2012 2 Isw

c) Las soluciones por software al problema de la sección crítica presentan todas el problema de la espera activa. Esto no ocurre en cambio con las soluciones basadas en las instrucciones hardware Test_and_Set o Swap. ()() a) Comentar qué valores posibles tendrían las variables i y j al finalizar la ejecución de los siguientes tres procesos concurrentes. Los procesos pueden llegar al sistema (y ejecutarse) en cualquier orden. Los valores iniciales de las variables son:

b) Reorganizar los semáforos Sem A y Sem C para que el orden de ejecución sea :Proceso B – Proceso C – Proceso A. ¿Hace falta cambiar los valores iniciales de los semáforos?

() Seguidamente se muestra una propuesta de solución al problema de la sección crítica para n procesos. ¿Crees que es una propuesta válida? Justifica tu respuesta.

28

Page 29: Balotario Sistemas Operativos 2012 2 Isw

() Comentar la validez del siguiente algoritmo como solución al problema de la Sección Crítica para dos procesos: Variables compartidas int c0=1, c1=1 ;Proceso P0() { while (true) {

c0=0;; While (c1==0) {

c0=1; While (c1==0) do null; c0=0;

} Sección crítica c0=1;

} }

Proceso P1() { while (true) {

c1=0;; while (c0==0) {

c1=1; While (c0==0) do null; c1=0;

} Sección crítica c1=1;

} }

7() En cada uno de los siguientes apartados, señale cuál opción es correcta. En caso de que existan varias opciones ciertas, se considerará como correcta la más completa o precisa. Las preguntas no contestadas no puntúan; las contestadas erróneamente penalizan un tercio de su valor. 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

29

Page 30: Balotario Sistemas Operativos 2012 2 Isw

7.1.- ¿Con cual de las siguientes afirmaciones te quedarías? a) La instrucción wait sobre un semáforo duerme al proceso llamador b) Si se ejecutan dos operaciónes signal sobre un semáforo cuyo valor actual es 2, el valor final del semáforo podría ser 3 o 4 dependiendo de cómo se produzcan los cambios de contexto en la modificación del valor entero interno del semáforo. c) Los semáforos son herramientas que se emplean únicamente para resolver el problema de la exclusión mutua y para ello basta con emplear un semáforo inicializado a 1. d) Una operación signal sobre un semáforo despertará a un proceso que previamente haya quedado bloqueado en dicho semáforo y esta operación es atómica. 7.3.-¿Con cuál de las siguientes afirmaciones te quedarías? a) Es posible plantear soluciones por software al problema de la sección crítica que cumplan las propiedades de exclusión mutua y progreso. Sin embargo estas soluciones no cumplen la propiedad de espera limitada. b) Uno de los problemas de las soluciones por software al problema de la sección crítica es la “espera activa”, entendida como el tiempo que el sistema invierte en realizar los cambios de contexto entre los procesos que intervienen. c) Los semáforos resuelven el problema de la espera activa que padecen las soluciones por software al problema de la sección crítica ya que en su implementación en ningún caso se incurre en espera activa. d) Todas las anteriores son falsas. 7.4.- El siguiente código pretende gestionar la exclusión mutua en el acceso a una sección crítica, usando la instrucción atómica swap(a,b) (“bloqueo” es una variable global booleana inicializada a “true” y “flag” es una variable booleana local a cada proceso).

flag := true; repeat swap (bloqueo, flag); until flag = false; /* Sección crítica */ bloqueo := true;

La solución propuesta: a) Cumple las propiedades de exclusión mutua, progreso y espera limitada. b) Cumple la propiedad de exclusión mutua y progreso pero no la propiedad de espera limitada. c) Cumple las propiedades de exclusión mutua y progreso pero presenta el inconveniente de que sólo es válida para dos procesos. d) No cumple la propiedad de progreso. 7.5.-¿Cuál de estas transiciones de estados de un proceso jamás se produce en un sistema normal? a) de “bloqueado” a “preparado” b) de “preparado” a “bloqueado” c) de “ejecución” a “preparado” d) de “ejecución” a “bloqueado”

30

Page 31: Balotario Sistemas Operativos 2012 2 Isw

7.7.- El modo dual de operación en los sistemas es posible gracias aa) Que existe el sistema operativob) Que las instrucciones máquina están divididas en privilegiadas y no privilegiadasc) Que la memoria está dividida en memoria del sistema y de usuariod) Que se dispone de llamadas al sistema7.8.- El modo dual de operación a) Permite al sistema operativo establecer mecanismos de protección eficaz b) Sólo tiene sentido con múltiples procesadores c) Sólo tiene sentido en sistemas operativos de tiempo compartido d) Todas las anteriores son falsas 7.9.- Sobre planificación de procesos:a. Todos los métodos basados en prioridades tienen riesgo de inaniciónb. Los métodos multicolas están concebidos para planificar sistemas multiprocesadoresc. El cuanto de tiempo óptimo para un Round Robin viene influenciado por el tiempo de cambio de contextod. a) y c) son ciertas7.10.- En la planificación Round Robin: a) El proceso preparado que pasa a ejecución corresponde al de tiempo de ejecución más corto b) De acuerdo a su prioridad cada proceso preparado pasa a ejecución durante un periodo de tiempo llamado cuanto c) De forma secuencial cada proceso preparado pasa a ejecución durante un periodo de tiempo llamado cuanto d) El proceso preparado que pasa a ejecución es el que tiene mayor prioridad que el que ya ocupa la CPU 9.- () En una tienda de pájaros están teniendo problemas para tener a todos sus canarios felices. Los canarios comparten una jaula en la que hay un plato con alpiste y un columpio para hacer ejercicio. Todos los canarios quieren inicialmente comer del plato y, después columpiarse. Pero se encuentran con el inconveniente de que sólo tres de ellos pueden comer del plato al mismo tiempo y sólo uno puede columpiarse. Define un proceso que ejecuten los canarios concurrentemente de forma que sincronicen sus actividades usando semáforos.

8. ¿Con cuál de las siguientes afirmaciones te quedarías?e) La instrucción de wait o espera sobre un semáforo duerme siempre al proceso llamador.f) Si se ejecuta un operación signal o señal sobre un semáforo cuyo valor actual es 6, deja un valor de 7 en el

semáforo excepto si existen procesos en espera por el mismo, en cuyo caso se queda con 6.g) Para resolver el problema de la sección crítica, basta con emplear un semáforo inicializado a uno.h) Para lograr la ejecución de manera exclusiva de una porción de código basta con emplear un semáforo

inicializado a uno.9. Un proceso en estado de bloqueo:e) Siempre espera por la ocurrencia de un evento.f) Siempre espera por la conclusión de una actividad de E/S.g) Reside en la cola de preparados en espera de entrar nuevamente en la CPU.h) Reside en la cola de procesos de baja prioridad.10.La multiprogramación implica necesariamente e) concurrencia f) paralelismo g) procesamiento por lotes h) tiempo compartido 11.¿Cuál de estas transiciones de estados de un proceso jamás se produce en un sistema normal? e) de “bloqueado” a “preparado” f) de “preparado” a “bloqueado” g) de “bloqueado” a “en ejecución” h) de “en ejecución” a “bloqueado” 12.El problema de mutua exclusión puede resolverse…f) …utilizando la instrucción test_and_set, si el hardware subyacente la proveeg) …utilizando el algoritmo de Dekkerh) …utilizando el while con una variable boolean (como puerta abierta o puerta cerrada)i) Todas las anterioresj) Dos de las anteriores13.la multiprogramacióna) .usa memoria compartidab) necesita multiprocesamiento

Page 32: Balotario Sistemas Operativos 2012 2 Isw

c) necesita plataforma cliente servidord) utiliza las primitivas de sincronizacióne) no es realizable en ambientes de tiempo compartido14.los sistemas de tiempo compartido (marque la incorrecta)a) ofrece tiempo de respuesta cortosb) mantiene una interrogación por pollingc) no puede estar en simultáneo con la técnica por lotesd) utiliza bufferinge) utiliza spooling

15.el sistema operativo(marque la incorrecta)a) es software de baseb) posibilita el uso eficaz de los recursosc) es una máquina extendidad) oculta el hardwaree) son fáciles de construir16.El bufferinga) Se da entre programas que originan diferentes procesosb) utiliza principalmente cintasc) mantiene ocupada la CPU y los dispositivosd) a y ce) ninguna17.Los sistemas de tiempo reala) dan tiempo de respuesta largos (minutos)b) la información es casi permanente (no se actualiza)c) no necesita manejar interrupciones con eficaciad) no necesita manejo de prioridadese) permanece prácticamente inactivo para atender evento de entrada.18.los sistemas interactivosa) son conversacionalesb) las repuestas son casi inmediatasc) no permiten alguna acción del usuariod) a y be) ninguna19.en una política apropiativaa) un proceso nunca abandona el procesador voluntariamenteb) son usado en sistemas por lotesc) se utilizan en tiempo reald) ninguna20.son condiciones para el interbloqueoa) exclusión mutuab) posesión y esperac) no apropiaciónd) espera circular21.NO es estrategia para tratar el interbloqueoa) prevenirb) postergación indefinidac) evitard) detectar y recuperar

22.[] Dado el Siguiente programa ejecutado sin errores. Cual es el resultado impreso en LINUX…int main(void){

if ((pid = fork()) == 0)printf(“ hijo, ”);

else {wait(NULL);printf(“ padre, ”);

}printf (“ fork terminado, ”);flux(stdout);

}

Page 33: Balotario Sistemas Operativos 2012 2 Isw

23.[] Comentar la validez del algoritmo de exclusión mutua del programa siguiente. ¿Sirve como solución al problema de la sección crítica?:

int flag1, flag2;

void Proceso_2() { while (true) { // SECCION NO CRITICA

flag2=0;while (flag1==0){ flag2=1; while (flag1==0) NULL; flag2=0;}

// SECCION CRITICA flag2=1; // SECCION NO CRITICA }}

void Proceso_1() { while (true) {

// SECCION NO CRITICAflag1=0;while (flag2==0) { flag1=1; while (flag2==0) NULL; flag1=0;}

// SECCION CRITICA flag1=1; // SECCION NO CRITICA }}