You are on page 1of 32

Teora Describa los tres estados bsicos de un proceso. Use un grfico.

Compare tiempo compartido y multiprogramacin Explique y de ejemplo(s) de las primitivas de semforos (wait y signal) Algoritmos() Construir y explicar un algoritmo software (por ejemplo DEKKER) para la coordinacin y sincronizacin entre procesos (slo la parte principal) Muestre los valores de ent y sal para un tampn(buffer) circular de 65 palabras despus 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 Cul es problema de la seccin crtica. D un ejemplo breve y/o describa un algoritmo que expliquen el problema? Construya el algoritmo para la condicin de carrera, explquelo y plantee una solucin
1. En el contexto de la evolucin histrica de los sistemas informticos, 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 evolucin histrica de los sistemas informticos, por monitor sencillo se entiende a. Un programa residente que llevaba a cabo de forma automtica 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 4. La confiabilidad es una propiedad especialmente relevante en los sistemas a. De procesamiento por lotes b. Multiprogramados c. Distribuidos d. De tiempo real 5. El modo dual de operacin en los sistemas es posible gracias a a. Que existe el sistema operativo b. Que las instrucciones mquina estn divididas en privilegiadas y no privilegiadas c. Que la memoria est dividida en memoria del sistema y de usuario d. Que se dispone de llamadas al sistema

1. Comentar la validez del algoritmo de exclusin mutua del programa siguiente. Sirve como solucin al problema de la seccin crtica?:
int flag1, flag2; void Proceso_1() { while (true) { // SECCION NO CRITICA flag1=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 } }

2. [El siguiente cdigo representa una solucin al problema de lectores y escritores


Proceso escritor Inicio wait(sem1) escribir signal(sem1) fin Proceso lector Inicio wait(sem2) nlec=nlec+1 leer nlec=nlec-1 signal(sem2) fin

Si se asume que inicialmente todos los semforos 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 explicacin del porqu de la respuesta. a) Se garantiza la exclusin mutua en el acceso a la variable nlec b) Existe prioridad para escritores c) En esta solucin existe inanicin para lectores d) En esta solucin existe inanicin para escritores e) Dos escritores pueden estar escribiendo simultneamente, siempre que no haya un lector esperando a leer f) La solucin no es correcta porque puede producir interbloqueo g) Si existen lectores leyendo entonces un nuevo lector podr entrar a leer, siempre que no haya escritores esperando poder escribir h) Esta solucin s es correcta. 3. [] Con cul de las siguientes afirmaciones te quedaras? a) La instruccin de wait o espera sobre un semforo duerme siempre al proceso llamador. b) Si se ejecuta un operacin signal o seal sobre un semforo cuyo valor actual es 6, deja un valor de 7 en el semforo excepto si existen procesos en espera por el mismo, en cuyo caso se queda con 6. c) Para resolver el problema de la seccin crtica, basta con emplear un semforo inicializado a uno. d) Para lograr la ejecucin de manera exclusiva de una porcin de cdigo basta con emplear un semforo inicializado a uno. 4. [] Un proceso en estado de bloqueo: a) Siempre espera por la ocurrencia de un evento. b) Siempre espera por la conclusin de una actividad de E/S.

c) d) 5. a) b) c) d) 6. a) b) c) d) 7. a) b) c) d) e)

Reside en la cola de preparados en espera de entrar nuevamente en la CPU. Reside en la cola de procesos de baja prioridad. []. La multiprogramacin implica necesariamente concurrencia paralelismo procesamiento por lotes tiempo compartido [] Cul de estas transiciones de estados de un proceso jams se produce en un sistema normal? de bloqueado a preparado de preparado a bloqueado de bloqueado a en ejecucin de en ejecucin a bloqueado []. El problema de mutua exclusin puede resolverse utilizando la instruccin test_and_set, si el hardware subyacente la provee utilizando el algoritmo de Dekker utilizando el while con una variable bolean (como puerta abierta o puerta cerrada) Todas las anteriores Dos de las anteriores

Completar los espacios en blanco. a) La ______________ disminuye el tiempo de preparacin para la realizacin de un trabajo. b) El ______________ fue uno de los primeros sistemas de computacin mltiples que trabajaban en conjunto para mejorar el rendimiento. c) El uso de ___________ mejora el rendimiento an si la CPU es mucho ms rpida 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 Spooling Defina y trate brevemente los siguientes temas. 1. La diferencia entre la instruccin de asignacin "s := s + 1" y SIGNAL (s). Ejemplo 2. La Instruccin Evaluar y asignar (Test and Set). Utilidad 3. Estados de un proceso y transicin entre ellos. qu pasa (si algo pasa) si se invierten las dos primeras operaciones WAIT en la implementacin genrica de "n" productores-consumidores ? . Probar y/o explicar. Construya una solucin software tipo PETERSON para TRES PROCESOS. Analice su solucin (haga una prueba de escritorio) en los nmeros de instruccin que usted considere utilizando una muestra adecuada.

Comentar la validez del algoritmo de exclusin mutua del programa siguiente:


int flag1, flag2; void Proceso_1() { while (true) { // SECCION NO CRITICA flag1=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 operativo a. es un programa de aplicacin b. pueden ser multiproceso c. pueden ser distribuidos d. pueden ser time sharing e. pueden ser batch Los sistemas operativos pueden definirse como a. administrador de recursos y/o mquina extendida b. un sistema experto y/o AVL c. lista encadenada y/o red petri d. rbol binario de bsqueda y/o gramtica de contexto libre e. tabla hueca y/o detector de colisiones la multiprogramacin a. usa memoria compartida b. necesita multiprocesamiento c. necesita plataforma cliente servidor

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

d. utiliza las primitivas de sincronizacin e. no es realizable en ambientes de tiempo compartido los sistemas de tiempo compartido (marque la incorrecta) a. son conversacionales b. atiende a varios usuarios c. posee fuerte gesti de archivos d. no gestiona memoria virtual los sistemas de tiempo compartido (marque la incorrecta) a. ofrece tiempo de respuesta cortos b. mantiene una interrogacin por polling c. no puede estar en simultneo con la tcnica por lotes d. utiliza buffering e. utiliza spooling el sistema operativo(marque la incorrecta) a. es software de base b. posibilita el uso eficaz de los recursos c. es una mquina extendida d. oculta el hardware e. son fciles de construir Son recursos NO administrados por el sistema operativo a. PBI b. CPU c. E/S d. RAM El spooling: a. utiliza DASD b. se utiliz en el MARK I c. secuencia los trabajos d. utiliza un monitor residente e. Ninguna El buffering a. utiliza memoria intermedia b. utiliza principalmente cintas c. mantiene ocupada la CPU y los dispositivos d. a y c e. ninguna los tipos de trabajo limitados a. por proceso, dedican muy poco tiempo en la E/S b. por E/S, dedican mucho tiempo a CPU c. por proceso, origin la multiprogramacin d. b y c e. ninguna Los sistemas de tiempo real a. dan tiempo de respuesta largos (minutos) b. la informacin es casi permanente (no se actualiza) c. no necesita manejar interrupciones con eficacia d. no necesita manejo de prioridades e. permanece prcticamente inactivo para atender evento de entrada. el "Relocatable code" NO se refiere a: a. cdigo de mquina b. convertir direcciones relativas c. convertir direcciones absolutas d. a y b e. a, b y c los sistemas interactivos a. son conversacionales

14.

15.

16. 17.

b. las repuestas con inmediatas c. no permiten alguna accin del usuario d. a y b e. ninguna son servicios de los sistemas operativos a. gestin de archivos b. proteccin c. contabilidad d. operaciones de E/S e. todas NO es programa del sistema a. intrprete de comandos b. editor c. tratamieno de archivos d. procesador de textos e. compilador Un proceso es un programa en ejecucin. No es un estado activo de un proceso a. ejecucin b. preparado c. bloqueado d. suspendido

1. Se tiene un sistema con 1000 procesos concurrentes que quieren usar un determinado recurso, e interesa que puedan usarlo simultneamente el mximo nmero de ellos. Ahora bien, tambin es necesario impedir (por razones "supersticiosas") que alguna vez estn trece procesos exactamente usando el recurso al mismo tiempo. Ms concretamente, si estando 12 procesos usndolo, un decimotercero desea hacerlo, ste se esperar hasta que llegue un decimocuarto, y entonces entrarn los dos juntos a la regin crtica 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 simtricamente 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) quedaran 13 en la regin crtica en caso de hacerlo (en este caso se ha de esperar tambin). Una solucin vlida para resolver este problema mediante semforos sera la siguiente (se utilizan 2 variables compartidas y 2 semforos): Variables compartidas: Dentro: Indica el nmero de procesos que estn accediendo al recurso (puede valer 13, aunque realmente nunca podr haber 13 procesos dentro). Inicializada a 0. Esperando: Valor lgico que indica si hay algn proceso esperando para entrar en la regin crtica especial (intenta hacerlo habiendo 12 procesos dentro) o para salir de ella (intenta hacerlo habiendo 14 procesos dentro). Inicializada a False. Semforos: 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 regin crtica especial habiendo 12 procesos dentro o cuando intenta salir de ella habiendo 14 procesos dentro. Inicializado a 0.

Supongamos ahora que nos dicen que, por problemas de saturacin del recurso, no puede permitirse que haya ms de 50 procesos accediendo simultneamente al mismo (por supuesto, manteniendo las mismas condiciones del problema planteado inicialmente, incluidas las cuestiones supersticiosas). Modifique la solucin anterior de forma que se evite este problema de saturacin del recurso, es decir, que no pueda haber ms de 50 procesos accediendo al mismo simultneamente. 2.- El algoritmo de Perterson corresponde a: a) Una estrategia de sincronizacin de procesos. b) Una mtodo de ordenacin de sucesos en un sistema distribuido. c) Una poltica de sustitucin de pginas al producirse un fallo de pgina. d) Una solucin al problema de la exclusin mutua. 3.- la espera activa corresponde a: a) La accin de bloqueo que realiza un semforo sobre un proceso. b) El estado bloqueado de un proceso pero no retirado a memoria secundaria. c) Cuando un proceso se mantiene chequeando una condicin y, por lo tanto, consumiendo ciclos de CPU. d) La espera que realiza la operacin wait sobre un contador. 4.- Para lograr la exclusin mutua de una seccin crtica donde se accede a un recurso compartido inicialmente disponible a) El semforo binario debe inicializarse a cero. b) El semforo binario debe inicializarse a uno. c) La inicializacin del semforo binario depende del recurso que se comparta. d) Los semforos no sirven para lograr la exclusin mutua de las secciones crticas. 1. El siguiente cdigo representa una solucin al problema de lectores y escritores Proceso escritor Proceso lector inicio inicio wait(sem1) wait(sem2)

nlec=nlec+1 leer fin nlec=nlec-1 signal(sem2) fin Si se asume que inicialmente todos los semforos 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 explicacin del porqu de la respuesta. a) Se garantiza la exclusin mutua en el acceso a la variable nlec b) Existe prioridad para escritores c) En esta solucin existe inanicin para lectores d) En esta solucin existe inanicin para escritores e) Dos escritores pueden estar escribiendo simultneamente, siempre que no haya un lector esperando a leer f ) La solucin no es correcta porque puede producir interbloqueo g) Si existen lectores leyendo entonces un nuevo lector podr entrar a leer, siempre que no haya escritores esperando poder escribir h) Esta solucin s es correcta. 1.Con cul de las siguientes afirmaciones te quedaras? a) La instruccin de wait o espera sobre un semforo duerme siempre al proceso llamador. b) Si se ejecuta un operacin signal o seal sobre un semforo cuyo valor actual es 6, deja un valor de 7 en el semforo excepto si existen procesos en espera por el mismo, en cuyo caso se queda con 6. c) Para resolver el problema de la seccin crtica, basta con emplear un semforo inicializado a uno. d) Para lograr la ejecucin de manera exclusiva de una porcin de cdigo basta con emplear un semforo inicializado a uno. 2.Con cul de las siguientes afirmaciones te quedaras? a) Un sistema distribuido es un sistema multiprocesador, al que se suele hacer referencia tambin como sistema estrechamente acoplado. b) Hablar de un sistema que emplea multiprocesamiento simtrico 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 crtico existen eventos a los que es necesario responder en un plazo lmite, por lo que es necesario que estos sistemas implementen tiempo compartido 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 conclusin 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 cul de las siguientes afirmaciones te quedaras? 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 volmenes 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 gestin de la E/S dirigida por interrupciones, cuando se produce una interrupcin 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 interrupcin, se salva el estado del proceso actualmente en ejecucin (A), se atiende la interrupcin mediante la rutina de servicio de interrupcin correspondiente y se restaura el estado del proceso (X) que estaba pendiente de la finalizacin de dicha operacin de E/S, siendo por tanto dicho proceso (X) el que dispondr de la CPU para reanudar su ejecucin. 5.Con cul de las siguientes afirmaciones te quedaras?

escribir signal(sem1)

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 instruccin 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 instruccin de mquina correspondiente. d) Todas las afirmaciones anteriores son ciertas. 6.Cul 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 adems multiusuario. c) Es posible que sea un sistema de tiempo compartido en el que se pueden ejecutar N procesos en paralelo. d) Podra ser un sistema multiprogramado y de tiempo compartido pero monousuario. 7.Con cul de las siguientes afirmaciones te quedaras? a) El intrprete 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 travs 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 ncleo 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 cul de las siguientes afirmaciones te quedaras? a) El diseo de un S.O. siguiendo una estructura monoltica dificulta el mantenimiento del mismo pero facilita su depuracin. b) El diseo por capas de un S.O. hace que ste sea ms eficiente que el monoltico. c) Una de los problemas que se presenta al seguir un diseo jerrquico es establecer una definicin adecuada de las distintas capas y la interaccin entre ellas. d) El enfoque microncleo es bsicamente igual al diseo monoltico con la salvedad del tamao final del ncleo. 9.Los bferes de E/S son: a) Un dispositivo de gestin 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 perifricos. 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 cul de las siguientes afirmaciones te quedaras? a) El planificador a corto plazo que nunca provocar inanicin entre los procesos es aqul que emplea una planificacin por prioridades. b) El planificador a corto plazo segn el algoritmo SJF es el que maximiza el tiempo medio de utilizacin de CPU. c) Con el algoritmo SJF expulsivo, la llegada de un nuevo proceso al sistema provoca siempre el desalojo del proceso actualmente en ejecucin. d) Cuando en un sistema operativo se emplea el algoritmo de Turno Rotatorio (Round Robin) y la duracin del cuanto es similar al tiempo invertido en la conmutacin de procesos, el rendimiento es bajo. 11.Con cul de las siguientes afirmaciones te quedaras? 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 comunicacin entre los hilos de un proceso pesado se puede realizar fcilmente ya que comparten memoria y por tanto esta comunicacin se puede realizar a travs de la pila. d) El cambio de contexto entre hilos de diferentes procesos pesados es ms costoso que entre hilos de un mismo proceso pesado. 12.Un sistema operativo es:

a) Un programa o conjunto de programas que sirve de intermediario entre los usuarios y el hardware de un sistema informtico. b) Un administrador de los recursos fsicos (ficheros, memoria, dispositivos de entrada/salida, ) y lgicos (semforos, monitores) de un sistema informtico. c) Un programa ms de un sistema informtico. d) Todas las anteriores son ciertas. 13.El siguiente cdigo pretende gestionar la exclusin mutua en el acceso a una seccin crtica, usando la instruccin atmica 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; /* Seccin crtica */ bloqueo = false; La solucin propuesta: a) Cumple las propiedades de exclusin mutua, progreso y espera limitada. b) Cumple la propiedad de exclusin mutua pero padece el problema de la espera activa. c) Cumple las propiedades de exclusin mutua y progreso pero presenta el inconveniente de que slo es vlida para dos procesos. d) Cumple la propiedad de exclusin mutua y progreso pero padece el problema de la espera activa. 14.Con el concepto de independencia de dispositivo nos referimos a: a) La construccin de dispositivos que sirvan para distintas mquinas. b) La utilizacin de las funciones del sistema operativo especficas para cada uno de los dispositivos. c) La abstraccin que algunos sistemas realizan del sistema de E/S. d) Los sistemas de E/S que dependen nicamente del sistema operativo. 15.Con cul de las siguientes afirmaciones te quedaras? a) El modo dual de operacin es posible gracias a que el sistema operativo distingue dos modos de ejecucin: modo usuario y modo ncleo, sin que sea necesario ningn soporte por parte del hardware. b) El modo dual de operacin nos proporciona los medios para proteger el sistema operativo de los usuarios que puedan causar errores. Esta proteccin se consigue designando como instrucciones privilegiadas a aquellas instrucciones de mquina que pueden causar dao. c) Las instrucciones que permiten la gestin del temporizador (por ejemplo, la operacin de lectura del temporizador) deberan ser privilegiadas. d) Cuando un sistema se encuentra en modo usuario, no debera permitir la ejecucin de instrucciones privilegiadas, a menos que el usuario que las ejecute sea el usuario administrador de la mquina. 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 mximo 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 mximo 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 mximo utilizar 2, 1 y 2 de cada tipo. Actualmente pose 1 posibilidad del tipo A 1.- El fenmeno de espera activa por operaciones de entrada/salida se puede evitar utilizando: a) interrupciones b) instrucciones privilegiadas c) acceso directo a memoria (DMA) d) un pareja de registros base y lmite 2.- En un sistema multihilo a) un proceso pesado puede tener varios hilos con distintos espacios de memoria

b) un proceso pesado tiene uno o ms hilos con distintos conjuntos de registros c) por lo general, el tiempo de cambio de contexto es mayor entre hilos que entre procesos pesados d) dos hilos de un mismo usuario comparten el mismo espacio de memoria 3.- Sobre planificacin de procesos: a) todos los mtodos basados en prioridades tienen riesgo de inanicin b) los mtodos multicolas estn concebidos para planificar sistemas multiprocesadores c) el algoritmo FCFS perjudica a los procesos intensivos en CPU d) los enunciados a, b y c son todos falsos 4.- Una llamada al sistema es: a. un servicio del sistema operativo b. un programa del ncleo del sistema operativo c. una orden del intrprete de rdenes d. un tipo especial de programa del sistema 5.- La tcnica de planificacin Round-Robin: a) en general, da mejores tiempos de espera que el FCFS b) minimiza el tiempo medio de retorno c) permite acotar el tiempo de espera mximo d) permite acotar el tiempo de respuesta mximo 6.- La tcnica de Buffering permite que: a) Un proceso no espere debido a que un recurso no compartido est asignado a otro proceso. 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 otro proceso. d) Todas las afirmaciones anteriores son falsas. 7.- La independencia del dispositivo significa o implica que... a) el usuario no debe conocer caractersticas propias de cada clase de dispositivo. b) el juego de caracteres empleados por una terminal de caracteres ha de ser ASCII. c) los dispositivos deberan tener independencia de los procesos de usuario. d) los procesos de usuario deberan trabajar indirectamente con los dispositivos. 8.- La tcnica del spooling... a) exige comprobar peridicamente la aparicin de ficheros en el directorio de spool. b) solapa la ejecucin 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.- Cul de estos sistemas informticos 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 operacin en los sistemas es posible gracias a a) Que existe el sistema operativo b) Que las instrucciones mquina estn divididas en privilegiadas y no privilegiadas c) Que la memoria est dividida en memoria del sistema y de usuario d) Que se dispone de llamadas al sistema 11.- Con cul de las siguientes afirmaciones te quedaras? a) El diseo de un S.O. siguiendo una estructura monoltica permite que se pueda realizar un mantenimiento y depuracin sencillos del mismo b) En general, el diseo por capas tiende a ser menos eficiente que el monoltico c) El modelo cliente-servidor es equivalente a un sistema que sigue el enfoque jerrquico donde las capas pueden cambiar su nivel en la jerarqua d) El enfoque microncleo tiene como dos de sus mejores virtudes la portabilidad y el tamao final del sistema operativo, siempre menor que el que se obtiene siguiendo cualquier otro esquema 12.- El interprete de rdenes, a) Es un programa del sistema y constituye la nica forma de solicitar servicios al SO b) Ejecuta las rdenes indicadas por el usuario y para ello hace uso a su vez de las llamadas al

sistema c) Al ser un programa del sistema, no necesita realizar llamadas al sistema d) Siempre forma parte del ncleo del sistema operativo 14.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervencin 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 contexto a) es constante para dos hilos cualesquiera b) es menor entre dos hilos pertenecientes a la misma tarea, comparado con hilos de distintas tareas. c) es mayor cuanto ms grande es el cuanto de tiempo, si planificamos con un Round Robin. d) todas son falsas //** Comentar la validez del algoritmo de exclusin mutua del programa siguiente: int flag1, flag2; void Proceso_1() { while (true) { // SECCION NO CRITICA flag1=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 } }

Dada la frase: segn el algoritmo del banquero, un sistema es inseguro cuando en l existe interbloqueo. Es dicha afirmacin cierta? Justificar detalladamente la respuesta. 2. En un sistema de tiempo real es crtico: a. El grado de ocupacin del procesador b. El flujo de trabajo c. El tiempo de espera d. El tiempo de respuesta 3. La confiabilidad es una propiedad caracterstica de los sistemas: a. Multiprogramados b. De tiempo compartido c. De tiempo real d. Distribuidos 5. Si una solucin al problema de la seccin crtica da lugar a inanicin, entonces no cumple la condicin: a. Exclusin mutua b. Espera limitada c. Progreso d. Todas las anteriores son falsas 6. El problema de la seccin crtica puede ser resuelto con semforos? a. Siempre b. Depende de cmo estn implementados los semforos c. Nunca d. Todas las anteriores son falsas 9. El intrprete de rdenes, a. es un programa del sistema b. Obtiene y ejecuta las rdenes especificadas por el usuario c. hace uso de las llamadas al sistema para desempear su funcin d. Todas las anteriores son ciertas 10. No tiene sentido hablar de a. un sistema multiprogramado monousuario b. un sistema de tiempo compartido multiusuario c. un sistema multiprogramado y multiprocesador d. un sistema de tiempo compartido no multiprogramado 11. El que ciertas instrucciones se llamen atmicas significa que: a. no se pueden ejecutar concurrentemente b. se han de ejecutar indivisiblemente c. No tiene ningn significado especial d. Todas son falsas 12. Se ejecutan consecutivamente dos operaciones P o WAIT sobre un semforo. Es esto posible ? a. S b. S, siempre que no hayan sido procesos diferentes c. No d. No, si las ha realizado un solo proceso 13. La utilizacin de una cola de procesos para la implementacin de las operaciones con semforos: a. es necesaria para poder realizar una implementacin de los mismos b. evita las soluciones con espera activa c. es posible gracias a las instrucciones atmicas (test-and-set y swap) d. todas las anteriores son ciertas 14. Un sistema monoprocesador que lleve a cabo una planificacin no expulsiva: a. No es implementable b. No puede ser multiprogramado ya que para ello es necesario una poltica expulsiva c. Presenta menos dificultades para controlar el problema de la seccin crtica d. todas las anteriores son falsas

15. Sobre planificacin de procesos: a. Todos los mtodos basados en prioridades tienen riesgo de inanicin b. Los mtodos multicolas estn concebidos para planificar sistemas multiprocesadores c. El cuanto de tiempo ptimo para un Round Robin viene influenciado por el tiempo de cambio de contexto d. a) y c) son ciertas //*** 1. El modo dual de operacin se adopt para que el sistema informtico fuera a. ms fcil de usar b. ms eficiente c. ms rpido d. ms seguro 2. El procesamiento fuera de lnea (off-line) se concibi para a. hacer que los dispositivos de E/S funcionaran ms rpidamente b. conseguir que el procesador espere menos al realizar operaciones de E/S c. hacer que los dispositivos de E/S fueran ms seguros d. todas las anteriores son ciertas 3. Si en una solucin al problema de la seccin crtica un proceso puede verse impedido de acceder a su seccin crtica debido a que siempre hay otros procesos que entran antes que l, entonces no se cumple: a. la condicin de progreso b. la condicin de espera limitada c. la condicin de exclusin mutua d. la condicin de interbloqueo 5. Qu tipo de planificador esst ntimamente ligado con la gestin 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. Cul de estas transiciones de estados de un proceso jams se produce en un sistema normal? a. de bloqueado a preparado b. de preparado a bloqueado c. de bloqueado a en ejecucin d. de en ejecucin 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 fcilmente la finalizacin de las operaciones de E/S 8. La multiprogramacin implica necesariamente a. concurrencia b. paralelismo c. procesamiento por lotes d. tiempo compartido 9. Cul 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

d. distribuido 11. El ncleo del sistema operativo... a. es un proceso que se ejecuta en modo privilegiado b. contiene el cdigo del programa de usuario c. contiene el cdigo de los programas del sistema d. reside de forma permanente en memoria principal //** El siguiente algoritmo pretende solucionar el problema de la seccin crtica 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, segn esta tabla: i j P0 0 1 P1 1 0 Algoritmo: 1 while (true){ 2 3 4 5 6 7 8 9 10 11 flag[i] = true; while flag[j]{ flag[j] = false; while flag[j] ; flag[j] = true; }; ... seccin crtica ... flag[j] = false; ... seccin no crtica ... };

//** (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 polticas de planificacin: a)Primero el ms corto apropiativo; b) RoundRobin (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 operacin de Entrada/Salida est en estado de: a) Ejecucin (run) b) Espera (wait) c) Listo (ready) d) Sometido (submit) 2. La tcnica de buffering

a) Simultanea operaciones de CPU de un proceso con operaciones de Entrada/Salida de otro 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. Multiprogramacin implica: a) Tiempo compartido b) Procesamiento en lote c) Interactividad d) Todas las anteriores son falsas 8. En la planificacin de procesos en Windows-NT se emplea la poltica a) Round-Robin b) Primero el ms corto c) Round-Robin con colas multinivel d) Prioridades variables 11. La implementacin de un semforo con la instruccin test-and-set a) no evita la espera activa b) no evita la inanicin c) no evita el interbloqueo d) todas son ciertas 12. En un canal de capacidad nula no bloqueante, la comunicacin slo 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 estn ambos listos 13. Para resolver el problema de la exclusin mutua, puede emplearse una variable global turno con el identificador del proceso que tiene derecho a entrar en la seccin crtica. Cada vez que un proceso sale de su S.C., cambia el valor de turno al identificador de otro proceso. Esta solucin: a) es correcta b) no cumple la propiedad de exclusin 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 ejecucin en exclusin mutua b) eliminan la necesidad de utilizar variables de tipo condicin c) son tipos abstractos de datos d) todas las anteriores son ciertas 15. Sobre las herramientas de coordinacin de procesos: a) los monitores no se han empleado en los lenguajes de programacin porque su implementacin es muy costosa. b) las regiones crticas resuelven cualquier problema de sincronizacin que sea resoluble con semforos binarios. c) la semntica de las operaciones con variables condicin est bien definida. d) los semforos facilitan el encapsulamiento de la estructura de los datos y las operaciones privadas que se hacen sobre ellos. 16. Un semforo tiene actualmente el valor 2. Si se ejecuta una operacin wait o P sobre l, qu suceder? a) El proceso que ejecuta la operacin se bloquea hasta que otro ejecute una operacin signal o V. b) Tras hacer la operacin, el proceso continuar adelante sin bloquearse. c) El proceso continuar adelante sin bloquearse, y si previamente existan procesos bloqueados a causa del semforo, se desbloquear uno de ellos.

d) Un semforo jams podr tener el valor 2, si su valor inicial era 0 (cero) y se ha operado correctamente con l. 18. La instruccin fork del sistema UNIX... a) carga un archivo ejecutable en una zona de memoria y lanza el nuevo programa a ejecucin concurrentemente 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 ejecucin 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 evolucin histrica de los Sistemas Operativos se introduce la utilizacin 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 tcnica denominada secuencia automtica de tareas se logr: a) Soportar multiprogramacin b) Soportar la interactividad c) Reducir el tiempo de preparacin (set-up time) d) Todas las opciones anteriores son falsas 3. En qu punto de la evolucin histrica de los Sistemas Operativos se introduce la tcnica denominada operacin fuera de lnea (off-line)? a) Primeros sistemas b) Sistemas de procesamiento por lotes c) Sistemas multiprogramados d) Sistemas de tiempo compartido 4. La caracterstica funcional denominada independencia de dispositivo se comenz a soportar con la utilizacin de la tcnica de: a) Buffering b) Spooling c) Operacin fuera de lnea d) Secuencia automtica 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 multiprogramacin 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 ncleo (o sistema) c) El responsable de la gestin de procesos e hilos d) El responsable de cargar y ejecutar procesos e hilos 11. Cul de estas herramientas elimina por s misma el riesgo de interbloqueo? a) Instrucciones atmicas b) Regiones crticas c) Semforos d) Ninguna de ellas 12. Cul de estas herramientas elimina por s misma el riesgo de inanicin? a) Instrucciones atmicas b) Regiones crticas c) Semforos 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 direccin de memoria fuera de su mbito, se genera... a) una interrupcin b) una excepcin c) un aborto (abort) del proceso d) la suspensin del proceso 15. Los semforos... a) no tienen sentido en sistemas de procesamiento por lotes b) slo son aplicables en sistemas de tiempo real c) slo son aplicables en sistemas que planifican procesos mediante round robin d) son aplicables en sistemas que planifican procesos mediante SJF (o aproximaciones a esa poltica) 1. Un sistema operativo tiene la finalidad de: a. Hacer que el sistema informtico sea ms rpido. b. Hacer que el sistema informtico sea ms eficiente. c. Hacer que el sistema informtico sea ms cmodo de usar para los usuarios. d. Hacer que el sistema informtico sea ms eficiente, amigable y seguro. 2. En el contexto de la evolucin histrica de los sistemas informticos, 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 ms: a. Fciles de utilizar. b. Productivos. c. Seguros. d. Interactivos. 4. El modo de operacin denominado "fuera de lnea" 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 tcnica 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 tcnica 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 parmetro de especial importancia en un sistema: 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 simultneamente operaciones de CPU con operaciones de E/S se requieren: a. Dispositivos rpidos de E/S. b. Un reloj del sistema. c. Interrupciones. d. Instrucciones hardware especiales de proteccin.

Pregunta1
a) Si en un S.O. la implementacin 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 invocacin de un servicio (system call) del S.O.? b) Se analiza un sistema de paginacin 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 accin tomara para aumentar el rendimiento del sistema para esta misma carga de trabajo? c) Describa brevemente en que consiste la tcnica de swapping as como su oportunidad de uso. Pregunta 2 a) El semforo es un buen mecanismo para obtener la exclusin mutua entre dos procesos. Explique brevemente porque si las operaciones P y V no se ejecutan en forma atmica puede no proporcionarse la exclusin 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 cdigo resuelve el problema. Semaphore ready = 0; While(TRUE) { Semaphore go = 0; P(go); While(TRUE) { Copiar_datos(); Leer_red(); V(ready); v(go); Imprimir(); poner_datos(); } P(ready); } Pregunta 5 Especifique los requerimientos de hardware para soportar eficientemente y en modo protegido un esquema de segmentacin de memoria. Problema 2 En una empresa pblica los clientes deben pedir hora de atencin en N mostradores habilitados, presentando su Documento de identidad. Aqu se les dar una fecha y hora para atencin, en funcin de la descripcin de su caso y de su nmero de documento de identidad. Los clientes debern 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 funcin: Function fecha_atencin (documento_identidad: in integer, Descripcin_caso: in string) : datetime Si se desea se podr implementar nicamente una tarea auxiliar (Portero). El programa principal deber ejecutar el siguiente cdigo: Begin Co-begin Portero; /* Opcional */ Cliente (Documento_identidad1, descripcin caso 1); Cliente (Documento_identidad2, descripcin caso 2); ... Cliente (Documento_identidadM, descripcin caso M); Mostrador (1); Mostrador (2);

.... Mostrador (N); Co-end; End;

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 cdigo presentado.

T1) En el caso del Productor-consumidor con un productor y un consumidor con buffer ilimitado es necesaria la sincronizacin
a) Para evitar que el productor y el consumidor accedan simultneamente 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 vaco. d) Ninguna del resto de las respuestas es correcta. T2) En el modelo de procesos de estados visto en clase, la planificacin a corto plazo tiene por objeto
a. b. c. d. Aumentar el grado de multiprogramacin del sistema cuando esto es posible. Disminuir el grado de multiprogramacin del sistema, cuando ste es excesivamente grande. Pasar procesos a la CPU. Ninguna del resto de respuestas es correcta.

T3) Cul 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 perifricos. b) En un sistema monotarea, el procesador se mantiene ocioso mientras se realizan operaciones de e/s c) En los sistemas de tiempo compartido, se divide el tiempo de procesamiento entre los diferentes procesos que se encuentren listos para ejecutar, asignando pequeas porciones a cada uno de ellos. d) Ninguna de las afirmaciones restantes es correcta

T4) Cul de las siguientes afirmaciones es correcta?


a) Ninguna de las afirmaciones restantes es correcta b) 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 CPU d) El bloque de control de un proceso almacena la imagen en memoria del mismo

T5) En funcin del nmero de procesos concurrentes que puede ejecutar cada usuario, los sistemas operativos se clasifican en:
Monoproceso / Multiproceso. b) Monoprogramacin / Multiprogramacin. c) Monotarea / Multitarea. d) Monousuario / Multiusuario.

T6) Para poder implementar polticas de tiempo compartido es imprescindible


a) b) c) d) Ninguna del resto de las respuestas es correcta. Manejar adecuadamente la interrupcin de reloj. Gestionar varias tareas por usuario. Ser capaces de atender mltiples peticiones simultneas de e/s.

T7) Cul de las siguientes afirmaciones es correcta


a) La activacin de un proceso implica la copia de los registros del procesador en el bloque de control del proceso activado b) Ninguna de las afirmaciones restantes es correcta c) Cuando se produce una interrupcin es necesario salvar el estado del procesador en el BCP y ejecutar la rutina de manejo de la interrupcin d) El cambio de contexto es una operacin que realiza el propio hardware

T8) Cul 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 algn mecanismo de sincronizacin que proporcione exclusin mutua b) Ninguna de las afirmaciones restantes es correcta c) La creacin de un nuevo hilo dentro de una tarea existente implica menor coste que la creacin de una nueva tarea d) El cambio entre hilos de la misma tarea implica menos coste que el cambio entre tareas diferentes

T9) Cul de las siguientes afirmaciones es correcta?


a) Un proceso que se encuentra en ejecucin no tiene BCP puesto que no lo necesita b) El vapuleo es el intercambio excesivo del BCP de memoria principal a secundaria c) Un proceso que se ejecute deber pasar por todos y cada uno de los estados del ciclo de vida antes de finalizar el mismo d) Ninguna de las afirmaciones restantes es correcta

T10)

Cul de las siguientes afirmaciones es correcta?

a) El planificador a largo plazo elige procesos de entre los que quieren entrar al sistema b) Ninguna de las afirmaciones restantes es correcta c) El planificador a corto plazo elige un proceso de la lista de listos para pasarlo a ejecucin d) El planificador a medio plazo suspende y reanuda procesos para controlar la carga del sistema

T11)

Cul 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 pequeas porciones a cada uno de ellos. b) Ninguna de las afirmaciones restantes es correcta c) 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 perifricos. d) En un sistema monotarea, el procesador se mantiene ocioso mientras se realizan operaciones de e/s

T12)

Cul 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 CPU b) Ninguna de las afirmaciones restantes es correcta c) 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 mismo

T13)

Cul de las siguientes afirmaciones es correcta?

a) No es posible suspender los procesos que estn bloqueados b) Ninguna de las restantes respuestas es correcta c) Si un proceso est en estado suspendido, no necesita BCP d) El BCP de un proceso suspendido est almacenado en el disco

T14) 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 semforos para su sincronizacin. d) Ninguna del resto de las respuestas es correcta. T15) Cul de las siguientes afirmaciones es correcta?
a) Proceso y programa son conceptos equivalentes b) Proceso e hilo son conceptos equivalentes c) Monoproceso y monoprocesador son conceptos equivalentes d) Ninguna de las afirmaciones restantes es correcta

T16)

Cul 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 ejecucin de mltiples procesos simultneamente b) El reparto del uso del procesador entre diferentes procesos en pequeas porciones, permite al S.Operativo gestionar la ejecucin de mltiples procesos simultneamente c) La multiprogramacin y el tiempo compartido constituyen las dos tcnicas que permiten al S. Operativo la ejecucin de mltiples procesos simultneamente d) Ninguna de las afirmaciones restantes es correcta

T17)

Cul 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 vez b) Siempre que se produce una interrupcin, el sistema operativo salva el estado del procesador en el BCP del proceso interrumpido c) Desde el BCP se puede localizar los segmentos de memoria asignados a los procesos Cierto, esta informacin se guarda en el BCP d) Ninguna de las afirmaciones restantes es correcta

T18)

Cul de las siguientes afirmaciones es correcta?

a) El cdigo de un proceso se encuentra localizado en la imagen de memoria del proceso, la pila de ejecucin se localiza en el Bloque de Control de Proceso

b) La imagen de memoria de un proceso es una copia del fichero ejecutable cargado desde el disco c) El BCP de un proceso forma parte de la imagen de dicho proceso d) Ninguna de las afirmaciones restantes es correcta

T19)

Cul de las siguientes afirmaciones es correcta?

a) La informacin sobre el estado de un proceso forma parte de la informacin de control almacenada en su BCP b) La informacin sobre la prioridad de planificacin de un proceso forma parte de la informacin de control almacenada en su BCP c) La informacin sobre el propietario de un proceso forma parte de la informacin de control almacenada en su BCP d) Ninguna de las afirmaciones restantes es correcta

T20) Sea un modelo de ciclo de vida con estados vistos en clase Cul 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 l b) El estado de ejecucin tiene asignada una cola con los procesos que desean ser ejecutados c) Los procesos en estado listo suspendido no se encuentran cargados en memoria principal d) Ninguna de las afirmaciones restantes es correcta

T21) Sea un modelo de ciclo de vida de 7 estados Cul de las siguientes afirmaciones es correcta?
a) El planificador a largo plazo elige procesos creados y los carga en memoria principal b) El planificador a corto plazo decide que proceso pasar a ser ejecutado, de entre los procesos listos c) El planificador a medio plazo decide cundo intercambiar procesos entre memoria y disco d) Ninguna de las afirmaciones restantes es correcta

T22)

Sobre la gestin de interrupciones Cul de las siguientes afirmaciones es correcta?

a) Cuando se produce una interrupcin, el propio hardware salva el valor de todos los registros del procesador b) Siempre que se produce una interrupcin, entra a ejecutarse alguna parte del sistema operativo c) Cuando se gestiona una interrupcin el hardware cambia la ejecucin de modo usuario a modo supervisor, a travs del registro de estado d) Ninguna de las afirmaciones restantes es correcta

T23) Sobre la gestin del tiempo compartido Cul de las siguientes afirmaciones es correcta?
a) Si se aplica una poltica de planificacin cclica, cada vez que se produce una interrupcin de reloj, el sistema operativo cambia el proceso que se est ejecutando b) El reloj produce una interrupcin cada vez que llega al mximo delimitado por el cuanto de tiempo c) En el modelo bsico de 3 estados, los procesos que esperan por un evento y estn bloqueados, vuelven al estado de ejecucin en el momento en que llegue el evento esperado d) Ninguna de las afirmaciones restantes es correcta

T24) Acerca de la concurrencia de procesos Cul 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 real b) Los procesos concurrentes son aquellos que comparten recursos c) Los procesos concurrentes son dependientes en el tiempo d) Ninguna de las afirmaciones restantes es correcta

T25) Los sistemas de procesamiento por lotes con respecto a los sistemas de tiempo compartido
a. b. c. d. Introducen menos sobrecarga en el sistema. Disminuyen la productividad del sistema. Introducen una mayor sobrecarga al sistema. Ninguna del resto de las respuestas es correcta.

T26)
a. b. c. d.

La aparicin de los sistemas de procesamiento por lotes supuso


La posibilidad de utilizacin del ordenador desde varias terminales. La posibilidad de que haya varios procesos ejecutndose simultneamente. Ninguna del resto de las respuestas es correcta. Un aumento en la utilizacin de los procesadores.

T27) Cuando ocurre una interrupcin, quin es responsable de almacenar el valor del registro contador de programa del procesador?
a. b. c. d. El hardware. La rutina de tratamiento de la interrupcin. El programa de usuario interrumpido. Ninguna del resto de respuestas es correcta.

LAB1) Cul de las siguientes afirmaciones es correcta? (Llamada al sistema fork()) Sea el siguiente cdigo main() if (fork()==0) { if (fork() == 0) fork(); printf(%d\n, getpid()); } a) A partir del proceso P, que ejecuta este cdigo se generan 8 procesos ms (2 elevado a 3)
Falso, se generan 3 procesos

b) A partir del proceso P, que ejecuta este cdigo, se generan 3 procesos, hijo, nieto y bisnieto de P. c) A partir del proceso P, que ejecuta este cdigo, se generan 3 procesos, hijos de P d) Ninguna de las restantes LAB2) Dado el siguiente cdigo

#include <unistd.h> Siendo el cdigo2 el siguiente: main () { main () { int valor; int i; printf(3\n ); for (i=0;i<2;i++) valor=fork(); printf(%d ,i ); if (valor!=0) } printf(6 \n); execlp(codigo2,codigo2,NULL); printf(Fin de la ejecucin \n); } Si inicialmente se pone en ejecucin el primer cdigo, y suponiendo que el padre se ejecuta antes que el hijo, cul ser la salida de la ejecucin: a) 3 0 1 Fin de la ejecucin 6 0 1 Fin de la ejecucin

Cdigo 1

b) 3 01 6 01 c) 3 01 6 Fin de la ejecucin d) Ninguna del resto de las respuestas es vlida.


LAB3)
#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);

Dado el siguiente cdigo

} } Suponiendo que se ejecuta antes el proceso padre que el hijo, cul de las siguientes respuestas es correcta: a) El proceso padre intenta escribir en mifichero pero el contenido de buffer que le pasa es vaco y se produce un error

b) Despus de la ejecucin tanto el pipe como mifichero contienen hhh c) Despus de la ejecucin tanto el pipe como mifichero estn vacos d) Ninguna de las anteriores respuestas es vlida
LAB4) .- Sea el siguiente cdigo Cdigo 1 #include <unistd.h> main() { int p=fork(); If (p==0) execl(codigo1,codigo1, NULL); else printf(getpid()); } Cul 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 cdigo en lenguaje C de un programa que se ejecuta bajo el sistema operativo Unix
void main() { int a=0; if (fork()) {a=a+1; printf(a); }} Cul es el resultado de la ejecucin? a. Tan slo el padre imprime el valor de a, que podr ser 0 o 1 dependiendo de quin se ejecute antes b. Tan slo 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 1 d. Ninguna del resto de respuestas es correcta.

LAB6) Sea el siguiente cdigo en lenguaje C de un programa que se ejecuta bajo el sistema operativo Unix
void main() { int a = 0; if ( fork() ) a=a+1; else a=a+1; printf(Valor de a: %d\n, a); }

Cul es el resultado de la ejecucin? a) Independientemente de quin se ejecute antes, se imprime una vez la variable a con valor 1 y otra vez con valor 2 b) Ninguna del resto de respuestas es correcta. c) Tanto el padre como el hijo escribirn un 1 d) Suponiendo que se ejecuta antes el padre que el hijo, se escribir primero un 1 y luego un 2

LAB7)

Cul de las siguientes afirmaciones es correcta?

a) Sea el siguiente cdigo del programa hola.c (fichero ejecutable hola.out)


main(){ if (fork()) printf("Hola\n"); else execlp(hola.out,hola.out,null); /* esta llamada ejecuta el fichero hola.out */ }

a) Al ejecutar hola.out el resultado ser la impresin de Hola dos veces por pantalla b) Ninguna de las afirmaciones restantes es correcta c) 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 hijo

d) En la creacin de procesos en Unix, padre e hijo comparten las variables globales, por lo que si uno de ellos modifica un valor, ste ser modificado tambin para el otro.

1 (4 puntos) Suponga un sistema operativo que funciona segn el modelo cliente-servidor en un ordenador con un solo procesador. Los procesos de usuario se planifican mediante una poltica 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 peticin de entrada-salida consumiendo siempre 25 milisegundos de CPU. El tiempo consumido por cualquier otra accin o servicio del sistema operativo es despreciable. El sistema posee un solo dispositivo de entrada-salida, siendo no compartido y se gestiona mediante una poltica FIFO. Si pide hallar el Tiempo de Espera y el Tiempo de Retorno de cada proceso Para la siguiente carga de procesos: T. de Proceso Rfaga Rfaga de Rfaga de llegada CPU E/S 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 puntuarn respuestas mal justificadas): a) En un sistema multiprogramado con dos procesos en estado preparado: uno orientado a E/S otro orientado a cmputo, la estrategia de planificacin SJF da un mejor tiempo de retorno que la estrategia FCFS () b) La multiprogramacin aumenta el nivel de ocupacin tanto del procesador como de los dispositivos de E/S. () c) Las soluciones por software al problema de la seccin crtica 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 tendran las variables i y j al finalizar la ejecucin 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 semforos Sem A y Sem C para que el orden de ejecucin sea : Proceso B Proceso C Proceso A. Hace falta cambiar los valores iniciales de los semforos? () Seguidamente se muestra una propuesta de solucin al problema de la seccin crtica para n procesos. Crees que es una propuesta vlida? Justifica tu respuesta.

() Comentar la validez del siguiente algoritmo como solucin al problema de la Seccin Crtica para dos procesos: Variables compartidas int c0=1, c1=1 ; Proceso P0() { Proceso P1() { while (true) { while (true) { c0=0;; c1=0;; While (c1==0) { while (c0==0) { c0=1; c1=1; While (c1==0) do null; While (c0==0) do null; c0=0; c1=0; } } Seccin crtica Seccin crtica c0=1; c1=1; } } } } 7() En cada uno de los siguientes apartados, seale cul opcin es correcta. En caso de que existan varias opciones ciertas, se considerar como correcta la ms completa o precisa. Las preguntas no contestadas no puntan; las contestadas errneamente penalizan un tercio de su valor. Seale sus respuestas rodeando con un crculo la opcin correcta. Si se equivoca, tache la respuesta incorrecta y rodee la opcin que considere correcta. Escriba con tinta. Las preguntas respondidas con lpiz o con varios crculos no tachados se considerarn no contestadas 7.1.- Con cual de las siguientes afirmaciones te quedaras?

a) La instruccin wait sobre un semforo duerme al proceso llamador b) Si se ejecutan dos operacines signal sobre un semforo cuyo valor actual es 2, el valor final del semforo podra ser 3 o 4 dependiendo de cmo se produzcan los cambios de contexto en la modificacin del valor entero interno del semforo. c) Los semforos son herramientas que se emplean nicamente para resolver el problema de la exclusin mutua y para ello basta con emplear un semforo inicializado a 1. d) Una operacin signal sobre un semforo despertar a un proceso que previamente haya quedado bloqueado en dicho semforo y esta operacin es atmica. 7.3.-Con cul de las siguientes afirmaciones te quedaras? a) Es posible plantear soluciones por software al problema de la seccin crtica que cumplan las propiedades de exclusin 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 seccin crtica 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 semforos resuelven el problema de la espera activa que padecen las soluciones por software al problema de la seccin crtica ya que en su implementacin en ningn caso se incurre en espera activa. d) Todas las anteriores son falsas. 7.4.- El siguiente cdigo pretende gestionar la exclusin mutua en el acceso a una seccin crtica, usando la instruccin atmica 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; /* Seccin crtica */ bloqueo := true; La solucin propuesta: a) Cumple las propiedades de exclusin mutua, progreso y espera limitada. b) Cumple la propiedad de exclusin mutua y progreso pero no la propiedad de espera limitada. c) Cumple las propiedades de exclusin mutua y progreso pero presenta el inconveniente de que slo es vlida para dos procesos. d) No cumple la propiedad de progreso. 7.5.-Cul de estas transiciones de estados de un proceso jams se produce en un sistema normal? a) de bloqueado a preparado b) de preparado a bloqueado c) de ejecucin a preparado d) de ejecucin a bloqueado

7.7.- El modo dual de operacin en los sistemas es posible gracias a a) Que existe el sistema operativo b) Que las instrucciones mquina estn divididas en privilegiadas y no privilegiadas c) Que la memoria est dividida en memoria del sistema y de usuario d) Que se dispone de llamadas al sistema 7.8.- El modo dual de operacin a) Permite al sistema operativo establecer mecanismos de proteccin eficaz b) Slo tiene sentido con mltiples procesadores c) Slo tiene sentido en sistemas operativos de tiempo compartido d) Todas las anteriores son falsas 7.9.- Sobre planificacin de procesos: a. Todos los mtodos basados en prioridades tienen riesgo de inanicin b. Los mtodos multicolas estn concebidos para planificar sistemas multiprocesadores c. El cuanto de tiempo ptimo para un Round Robin viene influenciado por el tiempo de cambio de contexto d. a) y c) son ciertas 7.10.- En la planificacin Round Robin: a) El proceso preparado que pasa a ejecucin corresponde al de tiempo de ejecucin ms corto b) De acuerdo a su prioridad cada proceso preparado pasa a ejecucin durante un periodo de tiempo llamado cuanto c) De forma secuencial cada proceso preparado pasa a ejecucin durante un periodo de tiempo llamado cuanto d) El proceso preparado que pasa a ejecucin es el que tiene mayor prioridad que el que ya ocupa la CPU 9.- () En una tienda de pjaros estn 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, despus columpiarse. Pero se encuentran con el inconveniente de que slo tres de ellos pueden comer del plato al mismo tiempo y slo uno puede columpiarse. Define un proceso que ejecuten los canarios concurrentemente de forma que sincronicen sus actividades usando semforos.
8. Con cul de las siguientes afirmaciones te quedaras? e) La instruccin de wait o espera sobre un semforo duerme siempre al proceso llamador. f) Si se ejecuta un operacin signal o seal sobre un semforo cuyo valor actual es 6, deja un valor de 7 en el semforo excepto si existen procesos en espera por el mismo, en cuyo caso se queda con 6. g) Para resolver el problema de la seccin crtica, basta con emplear un semforo inicializado a uno. h) Para lograr la ejecucin de manera exclusiva de una porcin de cdigo basta con emplear un semforo inicializado a uno. 9. Un proceso en estado de bloqueo: e) Siempre espera por la ocurrencia de un evento. f) Siempre espera por la conclusin 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 multiprogramacin implica necesariamente e) concurrencia f) paralelismo g) procesamiento por lotes h) tiempo compartido 11. Cul de estas transiciones de estados de un proceso jams se produce en un sistema normal? e) de bloqueado a preparado f) de preparado a bloqueado g) de bloqueado a en ejecucin h) de en ejecucin a bloqueado 12. El problema de mutua exclusin puede resolverse f) utilizando la instruccin test_and_set, si el hardware subyacente la provee g) utilizando el algoritmo de Dekker h) utilizando el while con una variable boolean (como puerta abierta o puerta cerrada) i) Todas las anteriores j) Dos de las anteriores 13. la multiprogramacin a) .usa memoria compartida b) necesita multiprocesamiento

c) necesita plataforma cliente servidor d) utiliza las primitivas de sincronizacin e) no es realizable en ambientes de tiempo compartido 14. los sistemas de tiempo compartido (marque la incorrecta) a) ofrece tiempo de respuesta cortos b) mantiene una interrogacin por polling c) no puede estar en simultneo con la tcnica por lotes d) utiliza buffering e) utiliza spooling 15. el sistema operativo(marque la incorrecta) a) es software de base b) posibilita el uso eficaz de los recursos c) es una mquina extendida d) oculta el hardware e) son fciles de construir 16. El buffering a) Se da entre programas que originan diferentes procesos b) utiliza principalmente cintas c) mantiene ocupada la CPU y los dispositivos d) a y c e) ninguna 17. Los sistemas de tiempo real a) dan tiempo de respuesta largos (minutos) b) la informacin es casi permanente (no se actualiza) c) no necesita manejar interrupciones con eficacia d) no necesita manejo de prioridades e) permanece prcticamente inactivo para atender evento de entrada. 18. los sistemas interactivos a) son conversacionales b) las repuestas son casi inmediatas c) no permiten alguna accin del usuario d) a y b e) ninguna 19. en una poltica apropiativa a) un proceso nunca abandona el procesador voluntariamente b) son usado en sistemas por lotes c) se utilizan en tiempo real d) ninguna 20. son condiciones para el interbloqueo a) exclusin mutua b) posesin y espera c) no apropiacin d) espera circular 21. NO es estrategia para tratar el interbloqueo a) prevenir b) postergacin indefinida c) evitar d) 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); }

23. [] Comentar la validez del algoritmo de exclusin mutua del programa siguiente. Sirve como solucin al problema de la seccin crtica?:
int flag1, flag2; void Proceso_1() { while (true) { // SECCION NO CRITICA flag1=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 } }

You might also like