Skip to content

Preguntas examen

Tema 1

Qué conducta, en las Interrupciones Múltiples, es más eficiente?

a) Cuando se recibe una interrupción se para completamente el proceso actual y se procesa la Interrupción.
b) Cuando se recibe una interrupción más prioritaria que el proceso actual, se para el proceso y se sigue con la Interrupción.
c) Se deja en espera la Interrupción hasta que se haya acabado el proceso actual.
d) Ningún caso anterior es cierto.

Cuáles son las características fundamentales de una Memoria?

a) Cantidad, Velocidad y Coste.
b) Coste, Tipo (HD o Flash), Cantidad.
c) Cantidad.
d) Ninguna de las anteriores es cierta.

Sobre la Memoria Caché, cuál de estas afirmaciones es cierta?

a) La Memoria Caché es una memoria barata, de tipo RAM.
b) Es un dispositivo de memoria muy rápido que es usado por la CPU, donde se carga parte del código que se va a ejecutar.
c) Puede ser una parte reservada de la Memoria Principal.
d) B y C son correctas.

Cuándo puede ocurrir un error en una lista Pila?

a) Cuando intentemos sacar la cima de la Pila.
b) Cuando intentemos meter un elemento en el Fondo de la Pila en una Pila Vacía.
c) Cuando intentemos meter un elemento en una Pila Llena.
d) Cuando intentemos sacar un elemento del Fondo de la Pila.

El Ciclo de Instrucción con Interrupciones

a) Se realiza íntegramente por el hardware del ordenador.
b) Consta de dos Fases.
c) Consta de tres Fases.
d) Ninguna de las anteriores.

¿Cuál de estos métodos de E/S es el más eficiente para sistemas de multiprogramación?

a) DMA.
b) Basado en interrupciones.
c) Programada.
d) Polling.

La DMA es la más eficiente porque transfiere bloques de datos, palabra a palabra, hacia/desde la memoria sin pasar por el procesador (involucrado solamente al principio y al final de la transferencia)

A medida que se desciende en la jerarquía de memoria

a) Aumenta el coste por bit.
b) Aumenta el tiempo de acceso.
c) Disminuye la capacidad.
d) Ninguna de las anteriores.

Cuanto mayor es la capacidad de la memoria (más abajo de la jerarquía se encuentra). Por esto, la velocidad de acceso es menor y por lo tanto, el tiempo de acceso es mayor.

¿Cuáles de estos son registros visibles para el usuario?

a) Puntero de Pila, Registro de Instrucción y Puntero de Segmento.
b) Registro de instrucción, Contador de Programa y Puntero de Pila.
c) Registro Índice, Puntero de Segmento y Registro de Instrucción.
d) Puntero de Pila, Registro Índice y Puntero de Segmento.

Los registros visibles por el usuario son los Registros de Datos, el Registro Índice, el Puntero de Segmento y el Puntero de Pila. Algunos otros, como el Contador de Programa o el Registro de Instrucción son registros de control que solo son visibles por el programador.

Relacionado con DMA, cuál de estas sentencias es verdadera

a) La tasa de Transferencia de E/S no está limitada por la velocidad con la que el procesador puede comprobar el estado de un dispositivo y ofrecerle un servicio.
b) El procesador puede no estar involucrado en la gestión de E/S.
c) Se deben ejecutar varias instrucciones para cada transferencia de E/S.
d) Ninguna es correcta.

Para una transferencia de E/S, se necesitan algunas instrucciones, como lo que se desea leer o escribir, entre otras.

¿Cuál de estas opciones es una estrategia para implementar múltiples instrucciones?

a) Utilizar contadores.
b) Establecer prioridades.
c) Semáforos
d) Ninguna de las anteriores.

Las estrategias para implementar múltiples instrucciones son por Prioridades o por Interrupciones.

¿Cuál de estas opciones no es una técnica de comunicación de E/S?

a) Programada.
b) Dirigida por Interruciones.
c) Semáforos.
d) DMA.

El uso de semáforos no es una técnica de comunicación de E/S, sino de uso de los recursos del sistema.

Relacionado con la jerarquía de memoria, cuál de estas sentencias es falsa?

a) A menor tiempo de acceso, mayor coste por bit.
b) A mayor capacidad, menor coste por bit.
c) A mayor capacidad, menor velocidad de acceso.
d) A menor tiempo de acceso, menor velocidad de acceso.

Si se reduce el tiempo de acceso, al ser inversamente proporcional a la velocidad de acceso, esta última aumentaría.

Tema 2

¿Cuáles eran los principales problemas de las máquinas previas a los Sistemas Operativos (aquellas que utilizaban procesos en serie)?

a) Planificación y salida en la impresora.
b) Programación a nivel físico y coste.
c) Planificación y tiempo de configuración.
d) Tiempo de configuración y dificultad de localizar los errores.

Planificación: muy frecuente malgastar tiempo de procesamiento del computador.
Tiempo de configuración: carga en memoria del compilador, lenguaje de alto nivel del programa, enlace al programa objeto y funciones comunes; todo a base de montar y desmontar cintas en el computador.

¿Cuáles son los posibles problemas de los procesos?

a) Inanición, sincronización incorrecta e interbloqueo.
b) Sincronización incorrecta, violación de la exclusión mutua, funcionamiento no determinista e interbloqueo.
c) Violación de la exclusión mutua y no ejecución.
d) Sincronización incorrecta, funcionamiento determinista e interbloqueo.

La respuesta A no puede ser porque la inanición no es un problema por si solo, sino que viene dentro de la violación de la exclusión mutua.
La respuesta C no puede ser porque es incompleta i, además, la no ejecución es inanición y se da el mismo caso que en la respuesta A.
La respuesta D no puede ser porque que un proceso funcione de manera determinista no es un problema, es correcto.

¿Que es la memoria virtual?

a) Es un mecanismo accesible para todos los procesos que permite direccionar memoria sin importar la cantidad de memoria física.
b) El conjunto de la memoria secundaria y la memora auxiliar.
c) Memoria de procesos subdividida en páginas en las que el acceso a estas no es transparente para el programador.
d) Es un concepto prácticamente inédito sobre el que se esta investigando.

La respuesta B no puede ser porque la memoria virtual no es el conjunto de esas memorias.
La respuesta C no puede ser porque el acceso a las páginas SI es transparente para el programador.
La respuesta D no puede ser porque la memoria virtual se utiliza desde hace tiempo.

¿Cómo funcionan los sistemas en lotes multiprogramados o multitarea?

a) Bloquea cualquier ejecución menos la del programa que esta ejecutándose hasta que este acabe.
b) Permite la ejecución de diversos programas a la vez (ejecución en paralelo), mejorando la eficiencia al ejecutar un programa durante el tiempo de espera de otro.
c) Permite la ejecución de programas en serie, uno detrás de otro.
d) Permite la ejecución de hasta dos programas en paralelo.

La respuesta A no puede ser porque la multitarea no bloquea al resto de programas.
La respuesta C no puede ser porque la multitarea ejecuta los procesos en paralelo.
La respuesta D no puede ser porque permite la ejecución de más de dos programas en paralelo.

Además de la estrategia round-robin, que otra estrategia puede seguir el dispatcher a la hora de elegir un proceso que se encuentra en la cola a corto plazo?

a) FILO. El primero que ha entrado en la cola sera el último en salir de ella.
b) Asignar niveles de prioridad.
c) Ninguna es correcta.
d) LIFO. El último en entrar en la cola sera el primero en salir.

La estrategia común del dispatcher (o planificador) es la técnica conocida como roundrobin o turno rotatorio; pero además de esta, hay otra estrategia que consiste en asignar niveles de prioridad a los distintos procesos, siendo el planificador el encargado de elegir los procesos en el orden de prioridad.

Que significa el termino simétrico en la técnica de multiprocesamiento simétrico (SMP)?

a) Que el computador tiene un número par de procesadores.
b) Que cada proceso está formado por dos únicos hilos.
c) Que todos los procesadores pueden realizar las mismas funciones.
d) Todas las opciones anteriores son ciertas.

Una de las características del SMP y que además da el nombre de simétrico, es que todos los procesadores pueden realizar las mismas funciones, es decir, que todos los procesadores comparten el acceso a memoria.

En que cuatro categorías se pueden agrupar de forma genérica el trabajo en seguridad y protección relacionado con los sistemas operativos?

a) Disponibilidad, confidencialidad, integridad de los datos y autenticidad.
b) Confidencialidad, unicidad, autenticidad y soporte a la programación modular.
c) Disponibilidad, integridad de los datos, unicidad y eficiencia.
d) Unicidad, disponibilidad, integridad de los datos y seguridad.

La mayoría del trabajo en seguridad y protección relacionado con los sistemas operativos se puede agrupar de forma genérica en cuatro categorías: Disponibilidad, Confidencialidad, Integridad de los datos y Autenticidad.

En multiprogramación, en que consiste la técnica de tiempo compartido?

a) En compartir el tiempo de procesador entre múltiples procesos.
b) En compartir el tiempo de procesador entre múltiples usuarios.
c) En compartir el tiempo de procesador entre todos los recursos.
d) Ninguna de las anteriores es correcta.
La multiprogramación también se puede utilizar para gestionar múltiples trabajos interactivos, en este caso, la técnica se denomina tiempo compartido, porque comparte el tiempo de procesador entre múltiples usuarios

Un S.O. Importante evolucionará en el tiempo por

a) Resolución de fallos.
b) Actualizaciones del hardware.
c) Todas son correctas.
d) Nuevos servicios.
c) Todas son correctas.

Son las tres razones de la evolucion de los sistemas operativos importantes.

Sobre instrucciones privilegiadas en sistemas de lotes sencillos

a) Solamente pueden ser ejecutadas en modo de “SuperUsuario”.
b) Son ejecutadas directamente por el monitor.
c) Permite que un programa de usuario realice operaciones de E/S.
d) Ninguna es correcta.
c) Sabiendo que las instrucciones de E/S son privilegiadas y deben ser ejecutadas por el monitor, si el programa de usuario desea realizar operaciones de E/S, debe solicitar al monitor que realice las operaciones por él.

B → NO, son ejecutadas por el programa usuario y cuando ven que son instrucciones privilegiadas mediante un error se transfiere la instrucción al monitor.

Algunas de las responsabilidades del S.O. para garantizar un control eficiente y ordenado de asignación de recursos en un entorno de computación que permita programación modular y uso flexible de datos son

a) Soporte a la programación modular.
b) Todas son correctas.
c) Aislamiento de procesos.
d) Almacenamiento a largo plazo.
b) Son tres de las cinco responsabilidades estudiadas.

Las capas de un sistema de computación en orden de la superior a la más baja son

a) Utilidades, Sistema Operativo, Hardware del computador.
b) Utilidades, Firmware, Sistema Operativo, Hardware del computador.
c) Utilidades, Programas de aplicación, Sistema Operativo, Hardware del computador.
d) Programas de aplicación, Utilidades, Sistema Operativo, Hardware del computador.

Tema 3

Un proceso, mientras esté ejecutándose, en cualquier instante puede caracterizar por una serie de elementos que pueden ser

a) Identificador, Estado, Prioridad y número de líneas de código.
b) Identificador, Estado, Ubicación en el sistema, Permisos de ejecución.
c) Identificador, Prioridad, Datos de contexto y información de estado de E/S
d) Nombre, Identificador, Prioridad y contador de programa.

Una razón por la cual se termina un proceso puede ser

a) Por exceder un tiempo límite.
b) Que el sistema no disponga de suficiente memoria.
c) Porque el proceso padre decide finalizarlo.
d) Todas las anteriores son correctas.

Para que el sistema operativo pueda manejar un proceso

a) Necesita muchísima información del proceso.
b) Es suficiente con el ID, los registros y el puntero de la pila.
c) Es suficiente con el ID y la información de estado del procesador.
d) El SO puede acceder a todos los datos necesarios a través del ID.

Cuando se crea un proceso para con el siguiente órden

a) Reservar memoria, asignar un ID, inicializar el BCP y ejecutarlo.
b) Asignar un ID, reservar memoria, inicializar el BCP, establecer los enlaces y creación de estructura de datos.
c) Reservar memoria, asignar un ID, inicializar BCP, inicializar enlaces y expandir otras estructuras de datos.
d) Reservar memoria, asignar un ID, establecer enlaces, inicializaciones y ejecución.

¿Cual de las siguientes no es una característica de los procesos suspendidos?

a) El proceso no está inmediatamente disponible para su ejecución.
b) El proceso puede estar o no a la espera de un evento.
c) El proceso siempre estará disponible una vez pasado un determinado tiempo.
d) El proceso no puede ser recuperado de este estado hasta que el agente explícitamente así lo indique.

La respuesta correcta es la “c”, ya que si el agente no indica lo contrario, un proceso puede estar suspendido durante un tiempo indefinido.

¿Que significa la expulsión de un proceso?

a) Un proceso es expulsado cuando ha finalizado.
b) Un proceso es expulsado cuando estando en ejecución es sustituido por otro que estaba bloqueado, el cual es de prioridad superior, cuando se produce el evento esperado.
c) Un proceso es expulsado cuando estando en ejecución es sustituido por otro.
d) Es cuando se finaliza un proceso debido a un exceso de procesos.

La respuesta “b” es la correcta, ya que es la definición completa de proceso expulsado.

¿Cual de estas no es una categoría general de información que hay en el bloque de control de proceso?

a) Identificación del proceso.
b) Información de estado del procesador.
c) Identificación del procesador.
d) Información de control del proceso.

La respuesta “c” es la correcta ya que no existe en un bloque de control de proceso.

¿Cual de los siguientes no es uno de los pasos que realiza el S.O. para la creación de un proceso?

a) Eliminar algún proceso suspendido.
b) Reservar espacio para el proceso.
c) Inicializar el bloque de control del proceso.
d) Establecer los enlaces apropiados.

No es necesario eliminar ningún otro proceso para crear uno nuevo, por lo tanto la respuesta correcta es la “a”.

En los cambios de proceso

a) La interrupción y el cepo son lo mismo.
b) El cepo es originado por un proceso externo e independiente.
c) El cepo es generado por una excepción de un proceso externo e independiente.
d) La interrupción es generada por un proceso externo e independiente, como por ejemplo la culminación de una operación E/S

El cepo es generado por una excepción sólo del proceso en curso, las interrupciones siempre son generadas por procesos externos.

Los pasos a seguir para cambiar el estado de un proceso son

a) Salvar contexto del procesador, seleccionar otro proceso para ejecución, restaurar el contexto del procesador.
b) Salvar contexto del procesador, actualizar el bloque de control del proceso, mover bloque de control del proceso a la cola apropiada, seleccionar otro proceso para ejecución, actualizar el bloque de control del proceso seleccionado, actualizar el bloque de estructuras de datos de gestión de memoria y restaurar el contexto del procesador
c) No existen unos pasos predefinidos.
d) Seleccionar otro proceso para ejecución, restaurar el contexto del procesador.

En una interrupción de reloj

a) El sistema operativo determina exactamente que se ha producido una acción de E/S.
b) El sistema operativo determina si el proceso que está en ejecución ha estado ejecutando durante la fracción máxima de tiempo permitida.
c) El proceso genera la interrupción porque ha acabado.
d) El sistema operativo determina que se ha producido un error.

Como su nombre indica, esta interrupción es en relación al tiempo asignado al proceso.

Al crear un proceso. ¿Cual de estas opciones no es correcta?

a) Se debe asignar espacio para el proceso.
b) Se deben establecer los enlaces apropiados.
c) Puede haber otras estructuras de datos que crear o ampliar.
d) Hay que asignar cualquier identificador al proceso.

El identificador debe ser único

Tema 4

Qué es un hilo?

a) Un proceso.
b) Conjunto de instrucciones de un proceso.
c) La primera instrucción de un programa.
d) Todas las anteriores son correctas.

Por definición

Principales estados de los hilos

a) Creado, Bloqueado, Desbloqueado
b) Listo, Bloqueado, Finalizado
c) Ejecutando, Listo, Bloqueado
d) Creado, Finalizado

Las otras contienen operaciones del estado de un hilo.

Cuantas operaciones básicas relacionadas con los hilos están relacionadas con el cambio de estado del hilo

a) 2
b) 3
c) 4
d) 5

Creación, Bloqueo, Desbloqueo, Finalización.

Características para el diseño de sistemas operativos multiprocesador

a) Procesos simultáneos concurrentes, posibilidad de planificar múltiples hilos del mismo proceso simultáneamente en múltiples procesadores, el sistema operativo no debe degradarse en caso de fallo de un procesador.
b) El mismo hilo se ejecuta simultáneamente en múltiples procesadores usando el sistema el de tiempo más reducido.
c) Todos los procesos de núcleo se ejecutan en un procesador y los de usuario en otro.
d) Todas las respuestas son correctas

Dentro de un proceso puede haber uno o más hilos cada uno con

a) Estado de ejecución, contexto del procesador, pila de ejecució, acceso a memoria y recursos del proceso
b) Estado de ejecución, contexto del procesador y pila de ejcución
c) Contexto del procesador, pila de ejecución y espacio para variables locales.
d) Estado de ejecución, contexto del procesador, pila de ejecución, espacio para variables, acceso a memoria y recursos del proceso.

Las otras son incompletas

Cual de estos es un beneficio de la organización micronúcleo

a) Interfaces multiformes.
b) Flexibilidad.
c) Soporte de sistemas centralizados.
d) Todas son incorrectas

La b) es correcta porque las otras son beneficios negados.

Los hilos a nivel de usuario (ULT)

a) El núcleo gestiona todo el trabajo de los hilos.
b) Una aplicación empieza a la vez en múltiples hilos.
c) a) y b) son correctas.
d) El núcleo no es consciente de la existencia de los hilos.

La a) es incorrecta porque el núcleo NO gestiona todo el trabajo de los hilos.
La b) es incorrecta porque una aplicación empieza en un UNICO hilo.

Los hilos a nivel de núcleo (KLT)

a) Se pueden planificar simultáneamente múltiples hilos de un solo proceso en múltiples procesadores.
b) La aplicación gestiona todo el trabajo de los hilos.
c) Se pueden ejecutar en cualquier sistema operativo.
d) Pocas llamadas al sistema.

La b) y la c) serian de ULT y en KLT se hacen muchas llamadas recursivas.

Sobre la arquitectura micronúcleo

a) Consiste en un núcleo por capas donde el núcleo controla todos los recursos.
b) El micronúcleo es la pequeña parte central del sistema operativo que proporciona las bases para extensiones modulares.
c) Tiene una estructura vertical.
d) Los procesos necesitan diferenciar entre servicios a nivel de núcleo y a nivel de usuario.

En la a) estaríamos hablando de arquitectura por capas, el micronúcleo tiene una estructura horizontal y no se necesitan diferenciar los servicios.

En un modelo de proceso multihilo

a) Mientras un proceso se ejecuta, los registros del procesador se controlan por este proceso.
b) Cuando no se ejecuta el hilo se almacenan los registros.
c) El valor de los registros del hilo se almacenan en un BCP.
d) Ninguna de las anteriores es correcta.

La a) y la b) corresponden al modelo monohilo.

A que se refiere el concepto multihilo

a) A la ejecución de un mismo hilo varias veces
b) Capacidad de un sistema operativo de dar soporte a múltiples hilos de ejecución en un solo proceso.
c) Capacidad de un sistema operativo de dar soporte a múltiples procesos de ejecución en un solo hilo.
d) Ninguna de las anteriores es correcta.

Definición de multihilo

Que permite la arquitectura micronúcleo sobre la gestión de E/S e interrupciones

a) Manejar las interrupciones hardware como mensajes e incluir los puertos de E/S en los espacios de memoria
b) Manejar las interrupciones hardware y E/S como mensajes
c) Manejar las interrupciones hardware y E/S como espacios de memoria
d) Manejas las interrupciones hardware como espacios de memoria y los puertos E/S como mensajes

Definición de gestión de E/S e interrupciones con arquitectura micronúcleo.

Tema 5

Los temas centrales del diseño de sistemas operativos, relacionados con la gestión de procesos e hilos son

a) Paso de mensajes, proceso concurrente y recurso crítico.
b) Multiprocesamiento, multiprogramación y procesamiento distribuido.
c) Paso de mensajes, multiprocesamiento y recurso crítico.
d) Multiprogramación, paso de mensajes y procesamiento distribuido.

Señala la opción falsa

a) Podemos encontrar la concurrencia en múltiples aplicaciones, aplicaciones estructuradas y en la estructura del sistema operativo.
b) La concurrencia abarca aspectos como la comunicación entre procesos y la compartición de recursos.
c) La multiprogramación fue ideada para permitir compartir dinámicamente el tiempo de procesamiento entre varias aplicaciones activas.
d) Toda aplicación puede ser programada de manera eficaz como un conjunto de procesos concurrentes.

Indica cuál de éstas definiciones corresponde con el término de interbloqueo

a) Situación en la cual un proceso preparado para avanzar es soslayado indefinidamente por el planificador, aunque es capaz de avanzar, nunca se le escoge.
b) Requisito de que cuando un proceso esté en una sección crítica que accede a recursos compartidos, ningún otro proceso pueda estar en una sección crítica que acceda a ninguno de estos recursos compartidos.
c) Situación en la cual dos o más procesos son incapaces de actuar porque cada uno está esperando que alguno de los otros haga algo.
d) Situación en la cual dos o más procesos cambian continuamente su estado en respuesta a cambios en los otros procesos, sin realizar ningún trabajo útil.

Indica cuál no es un requisito para la exclusión mutua

a) Un proceso permanece dentro de su sección crítica sólo por un tiempo finito.
b) Un proceso que se pare en su sección no crítica puede interferir en otros procesos.
c) No debe ser posible que un proceso que solicite acceso a una sección crítica sea postergado indefinidamente: ni interbloqueo ni inanición.
d) No se hacen suposiciones sobre las velocidades relativas de los procesos ni sobre el número de procesadores.

Indica cuál es una desventaja del uso de una instrucción máquina especial para conseguir exclusión mutua

a) Posibilidad de inanición.
b) Posibilidad de círculo vicioso.
c) Posibilidad de condición de carrera.
d) Dificultad de verificación.

¿Cual es el principio fundamental del semáforo?

a) Es un recurso compartido de UNIX, en el cual dos o mas procesos pueden cooperar por medio de señales, tales que un proceso pueda ser obligado a parar en un lugar especifico hasta que haya recibido una señal especifica.
b) Es un recurso compartido que hace que los procesos se ejecuten de forma más rapida y en orden aleatorio.
c) Es un recurso compartido de UNIX, el cual hace que todos los procesos se ejecuten en un recurso a la vez.
d) Todas son falsas.

¿Que hace un semWait y un semSignal?

a) Dan paso al proceso dentro del recurso y lo hacen salir del recurso respectivamente.
b) Se usa en otros recursos compartidos de UNIX.
c) Decrementa el semáforo antes de entrar en el recurso, y lo incremente justo cuando lo acaba de usar respectivamente.
d) No sirven para nada, els SO controla totalmente los procesos.

¿Si tenemos tres procesos usando un recurso(contador semáforo está = -2) y un proceso sale y hace un semSignal (contador semáforo = -1), y tenemos varios procesos en la cola de bloqueados del semáforo, como y cuando pueden entrar a usar el recurso que han dejado disponible?

a) El mismo proceso en cola se metera en el recurso cuando el último haya hecho un semSignal.
b) No va entrar hasta que el semáforo sea igual o mayor que 0.
c) Aunque el semáforo este en negativo, el SO coge un proceso de la cola de bloqueados del semáforo cuando un proceso hace un semSignal. Y va a ser lo primero que haga el SO, ya que la cola de bloqueados de los semáforos tienen prioridad absoluta en todos los SO.
d) Aunque el semáforo este en negativo, el SO coge un proceso de la cola de bloqueados del semáforo cuando un proceso hace un semSignal. Y va a tardar dependiendo de las politicas del SO.

¿Cual es la diferencia entre un semáforo fuerte y uno debil?

a) No existen los semáforos debiles ni fuertes.
b) Los semáforos fuertes son los que tienen una politica FIFO (los primero que han entrado son los primeros que saldran), mintras que un semáforo debil es aquel que no sigue esta politica.
c) Ninguna de las otras es correcta.
d) Los semáforo fuertes son los que tiene mas prioridad delante semáforos debiles.

¿Como actua el semáforo, para solucionar el problema del productor/consumidor?

a) El problema del productor/consumidor, solo admite un productor (puede haber varios) o un consumidor usar el buffer de datos, no puede haber más procesos a la vez, por tanto usando un semáforo binario.
b) El problema del productor/rconsumidor no necesita semáforos.
c) El problema del productor/consumidor es un problema visto en empresa de primero de GEIN, no tiene nada que ver con SO I.
d) El problema del productor/consumidor, solo acepta varios(dependiendo del semáforo que se haya definido) procesos productores o varios procesos consumidores coger del buffer de datos.

Cómo hace un programa para entrar en el monitor?

a) Haciendo un wait sobre el semáforo del monitor.
b) Haciendo un signal sobre el semáforo del monitor.
c) El monitor invoca al programa para que entre.
d) Invocando un método del monitor..

Un monitor es un módulo de software distinto a un semáforo que implementa unas funciones internas de forma que la exclusión mutua se consigue evitando que un método del mismo sea utilizado por dos procedimientos a la vez.

Como se consigue la sincronización entre procesos usando un monitor, es decir cómo puede informar a otro proceso bloqueado que un recurso está disponible?

a) Con un signal del semáforo del monitor.
b) Utilizando variables condicionales.
c) Por paso de mensajes.
d) Invocando a un método especifico del monitor que cumple dicho objetivo.

Con el uso de semáforos el mismo semáforo actúa como un sistema de sincronización, es decir que si el semáforo está disponible entonces el recurso está disponible. En el caso del monitor lo que se protege es un método (programación orientada a objetos) de forma que al terminar la ejecución del método no se puede asegurar que el recurso está disponible, sin embargo como el método solo lo puede utilizar un proceso a la vez entonces al introducir una variable condicional dentro del procedimiento se puede indicar a otro proceso de que puede continuar.

En el caso de semáforos para asegurar exclusión mutua sobre varios recursos se necesitan tantos como recursos se quieran proteger. En el caso de un monitor cómo se consigue?

a) Creando tantas variables condicionales como recursos haya que proteger.
b) Creando funciones internas propias para cada recurso.
c) Creando tantos monitores como recursos haya que proteger.
d) Con el paso de mensajes.

Como la variable condicional es utilizada por el monitor para conseguir la sincronización entre procesos, entonces al utilizar varias variables se consigue que un proceso se bloque en diferentes colas que representarían las colas de los recursos.

Que sucede cuando un proceso que está dentro del monitor ejecuta un signal sobre una variable condicional

a) Todos los procesos que están esperando por entrar en el monitor lo hacen.
b) Se activan todos los procesos que están en la cola de espera de la variable condicional.
c) Dependiendo de la implementación el proceso actual se bloquea en el monitor o termina su ejecución.
d) Ninguna de las anteriores.
Cuando el proceso actual realiza un signal podría continuar su ejecución mientras no se active ningún otro proceso, o podría bloquearse dentro del monitor para que entre otro proceso (no necesariamente un proceso de la cola de la variable condicional) ya que en ambos casos se sigue cumpliendo la exclusión mutua.

Con qué implementación de paso de mensajes no tienen que esperar el emisor ni el receptor?

a) Blocking send, nonblocking receive.
b) Nonblocking send, nonblocking receive.
c) Nonblocking send, blocking receive.
d) Blocking send, blocking receive.

En qué tipo de direccionamiento en los mensajes entre procesos se refiere al mailbox como port?

a) Many to one.
b) One to one.
c) One to many.
d) Many to many.

Una forma de implementar la cola de mensajes es con un FIFO, pero si algunos mensajes pueden ser más urgentes que otros una opción es

a) Que el receptor asigne un campo de prioridad a los mensajes.
b) Que el emisor decida la prioridad del mensaje según el contenido del mensaje.
c) Que el receptor decida la prioridad del mensaje según el contenido del mensaje.
d) Que el receptor pueda inspeccionar la cola de mensajes y elegir cual quiere recibir.

Cuál de los siguientes elementos NO se encuentra en la cabecera un mensaje típico

a) Tipo de mensaje.
b) ID de la fuente.
c) Prioridad del mensaje.
d) Información de control.

Tema 6

En qué categorias se pueden dividir los recursos?

a) Reutilizables y no reutilitzables.
b) Reutilizables y consumibles.
c) Necesarios, no reutilitzables y consumibles.
d) Necesarios, consumibles y destruibles.

Tan solo existen los recursos reutilitzables y los consumibles.

De las listas siguientes, en cual de ellas todos los recursos son reutilizables?

a) Procesadores, canales de E/S y bases de datos.
b) Buffers de E/S, memoria principal y semáforos.
c) Procesadores, interrupciones y memoria principal.
d) Memoria principal y secundaria, interrupciones y seméaforos.

Los recursos reutilitzables son aquellos que pueden ser usados con seguridad por un proceso y no se agota con el uso. Como ejemplos de recursos reutilizables se tienen los procesadores, canales de E/S, memoria principal y secundaria, dispositivos y estructuras de datos tales como archivos, bases de datos y semáforos.

Cuales son los métodos generales para hacer frente al interbloqueo?

a) Prevención, andlisis y estructuración.
b) Prevención, deteccién y predicción. (X)
c) Prevención, deteccion y estructuración.
d) Comprobación, captaci6n y predicción.

Los métodos generales para hacer frente al interbloqueo son tres: prevención, detección y predicción.

Señala que opción es correcta

a) Un estado seguro es aquel estado capaz de llegar hasta el final sin generar interbloqueo.
b) Un estado seguro es aquel estado capaz de llegar hasta el final generando interbloqueo.
c) Un estado seguro es un estado en el cual no existe ningún orden en el que todos los procesos puedan ejecutar hasta el final sin generar un interbloqueo.
d) Un estado seguro es un estado en el cual existe al menos un orden en el que todos los procesos puedan ejecutar hasta el final sin generar un interbloqueo.

Cual de las siguientes afirmaciones es falsa?

a) Una señal es un mecanismo de software que informa a un proceso de la existencia de eventos asincronos.
b) Las señales pueden ser enviadas tanto por procesos como por el núcleo.
c) Un proceso siempre tiene que responder una señal.
d) Las señales tienen todas la misma prioridad y se le presentan al proceso una detras de otra.

Un proceso puede responder a una señal (ya sea realizando alguna accion por defecto o ejecutando una función de manejo de la señal) o simplemente ignorarla.

En qué consiste la prevencion del interbloqueo?

a) Se permiten las tres condiciones necesarias del interbloqueo pero se toman decisiones razonables para evitarlo.
b) Mirar los procesos detectando algun indicio de interbloqueo.
c) Diseñar el sistema de tal manera que se excluya la posibilidad de interbloqueo.
d) Detecta el interbloqueo y lo soluciona como lo requiera el problema.
La prevención de un interbloqueo se basa en diseñar un sistema donde no exista la posibilidad de interbloqueo.

Que tipos de tuberias existen en UNIX?

a) Las de 64B, de 128B y de 264B.
b) Con nombre y sin nombre.
C) Las débiles, las medianas y las fuertes.
d) Las que aceptan varios procesos a la vez y las que solo aceptan uno.

Existen las que tienen nombre, que pueden ser compartidas por cualquier proceso, y las que no tienen nombre que pueden ser compartidas únicamente por procesos relacionados entre si.

De cuales de los siguientes elementos no consta un semáforo?

a) El valor actual del semáforo.
b) El número de procesos en espera de que el valor del semáforo sea 0.
c) El identificador de los procesos que estan a la espera.
d) El identificador del último proceso que operó con el semáforo.

Un semáforo puede indicar el número de procesos que desean acceder al recuso y esta asociado a una cola de procesos bloqueados, pero no tiene el identificador de los procesos en cola.

Qué condiciones debe haber para que, siempre, se produzca un interbloqueo?

a) Exclusión mutua, retención y espera, sin expropiación y espera circular.
b) Exclusón mutua, prevención y sin expropiación.
c) Exclusión mutua, retención y espera, y sin expropiación.
d) Exclusión mutua, retención y espera, y asignación de recursos.

Las condiciones necesarias para que exista la posibilidad de que haya interbloqueo son exclusión mutua, retenci6n y espera y sin expropiación, pero incluso con estas tres condiciones puede no producirse el interbloqueo, para que siempre haya interbloqueo, hay que añadir una cuarta condición, la espera circular.

Cual de las siguientes afirmaciones sobre las tuberías es falsa?

a) Un proceso que intenta leer mas bytes de los que están en la tuberia, se bloquea.
b) Una tubería es un buffer circular que permite que dos procesos se comuniquen siguiendo el modelo productor-consumidor. Por tanto, se establece una cola de tipo que el primero en entrar en la tuberia, es el primero en salir.
c) Una tuberia puede ser accedida por mas de un proceso simultaneamente.
d) Cuando un proceso intenta escribir en la tubería, la petición de escritura se ejecuta inmediatamente siempre y cuando haya espacio en la tubería, en caso contrario se bloquea el proceso. En cada momento sólo puede acceder a una tubería, un único proceso.

Cual de los siguientes tipos de semaforos no existe?

a) Semaforos con contador.
b) Semaforos de lectura - escritura.
c) Semaforos de E/S (Entrada / Salida).
d) Semaforos binarios.

Los semaforos de Entrada/Salida no existen.

Elije la opción correcta

a) Los procesos no pueden enviar sejiales entre si.
b) La forma mas rápida de comunicacién entre procesos son las tuberías.
c) Un mensaje entre procesos, nunca podra provocar un bloqueo de algún proceso.
d) La forma mas rápida de comunicacién entre procesos es la memoria compartida.

Los procesos pueden enviar señales entre si, la forma mas rápida de comunicación entre procesos es la memoria compartida, Un mensaje entre procesos, puede provocar un bloqueo de algín proceso, si se intenta enviar un mensaje a una cola llena o si se intenta leer un mensaje de una cola vacía.

Preguntas de examen

La instrucción signal(SIGINT, ctrlc)

a) Al ser ejecutada lanza el manejador ctrlc pasándole la señal SIGINT como parámetro.
b) Interrumpe el proceso ctrlc cuando recibe una señal externa.
c) Indica que hay que ejecutar el manejador ctrlc cuando se reciba la señal SIGINT.
d) Produce la señal SIGINT y se la pasa por función a ctrlc.

En la práctica de hilos, siendo NUM_THREADS = 10, cuantos hilos pueden permanecer bloqueados a la vez en el mutex?

a) 10
b) 9
c) 1
d) 0

¿Cuál es la técnica más sencilla y breve para implementar productor-consumidor con buffer finito?

a) Usando semáforos.
b) Canal de comunicación asíncrona.
c) Dos semáforos contadores.
d) Memoria compartida.

¿De qué depende le tamaño de los arrays de números y selección en el algoritmo de la panadería?

a) Del tiempo de ejecución de los procesos.
b) Del número máximo de procesos concurrentes y/o activos en el sistema.
c) Del número de procesos que pueden acceder a la sección crítica.
d) Del número de accesos toales a la sección crítica.

Indica cuál de las siguientes afirmaciones es falsa

a) En un sistema operativo apropiativo, el uso del temporizador evita que un proceso monopolice el uso del procesador.
b) El planificador o scheduler es quien toma la decisión de cuál de los procesos bloqueados pasa a estado listo.
c) El activador o dispatcher es la parte del sistema operativa que intercambia el procesador de un proceso a otro.
d) La traza es el listado de la secuencia de instrucciones que se ejecutan para un proceso.

En el problema de los filósofos, haciendo que uno o varios filósofos sean zurdos y los demás diestros, ¿cuál de las siguientes condiciones necesarias para que se produzcan interbloqueos no se cumple?

a) Exclusión mutua.
b) Retención y espera.
c) No apropiación.
d) Espera circular.

test&set (TAS) o compare&swap (CAS)

a) Son instrucciones que leen y modifican el valor de uno o varios registros sin ser interrumpidas.
b) Evitan la espera activa.
c) Aseguran la espera limitada.
d) No hacen uso de barreras de memoria.

El intervalo de tiempo entre que se lanza un proceso hasta el momento que se completa su ejecución se llama

a) Tiempo de respuesta.
b) Timpo de estancia (turnaround time).
c) Tiempo de espera.
d) Rendimiento (throughput).

Un semáforo contador se inicializa a 10. Se realizan 6 intrucciones Wait i 4 operaciones Signal. ¿Cuál es el valor final del semáforo?

a) 0
b) 8
c) 10
d) 12

Tras la ejecución del siguiente programa, que utiliza las estructuras de datos de nuestra pila dinámica genérica y las funciones implementadas en my_lib.c, ¿qué se habrá escrito en el fichero “mipila”?

#include "my_lib.h"
int main(){
struct my_stack *s;
s = my_stack_init(sizef(int));
for (int i = 0; i < 3; i++){
my_stack_push(s, &datos[i]);
}
my_stack_write(s, "mipila");
}

a) 321
b) 123
c) 1123
d) 4123

Cuando múltiples procesos o hilos leen y escriben datos de manera que el resultado final depende del orden de ejecución de las instrucciones en los procesos se denomina

a) Inanición (Starvation).
b) Bloqueo activo (Livelock).
c) Interbloqueo (Deadlock).
d) Condición de carrera (race condtion).

Indica cuál de las siguientes afirmaciones es falsa

a) Lleva menos tempo crear un nuevo hilo en un proceso existente que crear un proceso totalmente nuevo.
b) Una interrupción siempre implica un cambio de proceso.
c) Si se expulsa un proceso, también se expulsan sus hilos ya que comparten el mismo espacio de direcciones.
d) Todos los hilos de un proceso comparten los recursos de ese proceso y tienen acceso a las mismas variables globales.

Si lanzamos nuestro mini shell y ejecutamos la siguiente secuencia. Indica cuál seria el contenido de jobs_list[1].status y jobs_list[1].cmd en cuanto ejecutamos la misma instrucción

Terminal window
$ ./mi_sleep 80
^Z
$ bg 1

a) E  ./mi_sleep 80
b) D  ./mi_sleep 80
c) E  ./mi_sleep 80 &
d) D  ./mi_sleep 80 &

Indica cuál de las siguientes afirmaciones es falsa

a) La multiprogramación es la técnica mediante la cual se pueden ejecutar varios programas en paralelos.
b) El multihilo es la capacidad del sistema operativo de dar soporte a múltiples hilos de ejecución simultáneos en un solo proceso.
c) Los sistemas multiusuario normalmente son sistemas de tiempo completo.
d) El multiproceso requiere de mútiples procesadores.

En la instrucción que sigue inmediatamente a un exec…()

a) No se ejecuta nunca.
b) Se ejecuta dos veces.
c) Se ejecuta siempre una vez.
d) Sólo se ejecuta si hubo error.

Indica cuál de las siguientes definiciones no se corresponden con el concepto de proceso

a) Un progrma en ejecución.
b) Una instancia de un programa en ejecución.
c) Entidad que se puede asignar o ejecutar en un procesador.
d) Unidad menos de expedición a la que el procesador puede asignar tiempo.

Los hilos creados en la práctica con la llamada al sistema pthread_create() son

a) Hilos a nivel de usuario (ULT).
b) Hilos nativos (KLT).
c) Hilos ligeros.
d) Ninguno de los anteriores.

Indica cual de las siguientes afirmaciones es falsa

a) La exclusión mutua es un problema básico y fundamental de sicronización entre procesos sin memoria compartida.
b) La exclusión mutua asegura el accdeso ordenado a los recursos para impedir errores e incosnsistencias.
c) La intercalación de instrucciones de una sección crítica provoca condiciones de carrara que pueden generar resultados erróneos dependiendo de la secuencia de ejecución.
d) Los 3 requisitos para la exclusión mutua son: asegurar la exclusión mutua, progreso y espera limitada.

Indica qué afirmacióom relacionada con monitores es falsa

a) El mutex es liberado cuando el proceso se bloquea en una variable de condición para que pueda entrar otro proceso.
b) El proceso que se despierta en la variable de condicón compite en la entrada con los demás procesos en la cola del mutex.
c) Las variables de condición se pueden utilizar para almacenar y leer valores cualesquiera.
d) Las variables de condición tienen asociada una cola de los procesos bloqueados en ellas.

¿Cuál de las siguientes opciones no puede ser una raón para que un proceso abandone el estado “bloqueado”?

a) Recepción de mensaje.
b) Finalización de un hijo.
c) Finalización del cuanto de procesador.
d) Finalización de E/S.