0% encontró este documento útil (0 votos)
47 vistas5 páginas

Examen de Sistemas Operativos UNED 2020

Este documento presenta un examen sobre sistemas operativos que consta de 5 preguntas. La primera pregunta explica cómo gestiona el núcleo la entrada del teclado y define una tabla de asignación de archivos. La segunda pregunta describe las principales configuraciones de hilos soportadas. La tercera pregunta enumera las estructuras de datos usadas para la paginación. La cuarta pregunta pide pseudocódigo para coordinar procesos ciudadanos. La quinta pregunta pide representar diagramas de uso del procesador usando dos algoritmos de planificación

Cargado por

Juan Diego
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas5 páginas

Examen de Sistemas Operativos UNED 2020

Este documento presenta un examen sobre sistemas operativos que consta de 5 preguntas. La primera pregunta explica cómo gestiona el núcleo la entrada del teclado y define una tabla de asignación de archivos. La segunda pregunta describe las principales configuraciones de hilos soportadas. La tercera pregunta enumera las estructuras de datos usadas para la paginación. La cuarta pregunta pide pseudocódigo para coordinar procesos ciudadanos. La quinta pregunta pide representar diagramas de uso del procesador usando dos algoritmos de planificación

Cargado por

Juan Diego
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SISTEMAS OPERATIVOS (Código: 71902048) Enero 2020

Material permitido: Solo calculadora no programable Aviso 1: Todas las respuestas deben estar debida-
mente razonadas.
Tiempo: 2 horas Aviso 2: Escriba con buena letra y evite los tachones.
N1 Aviso 3: Solución del examen y fecha de revisión en
[Link]

1. Conteste razonadamente a las siguientes preguntas:


a) (1 p) Explicar la gestión de la entrada del teclado que realiza el núcleo de un sistema
operativo.
b) (1 p) ¿Qué es una tabla de asignación de archivos o FAT? Señalar las principales
ventajas e inconvenientes de su uso.
2. (2 p) Describir las principales configuraciones en función del número y tipo de hilos
soportados por un sistema operativo.
3. (2 p) Enumerar y explicar brevemente las estructuras de datos que utiliza el sistema
operativo para implementar la paginación.
4. (2 p) En una oficina municipal de atención al ciudadano existen N ventanillas. Cuando
un ciudadano entra en la oficina para realizar alguna gestión debe guardar una única cola
hasta que alguna ventanilla queda libre. Escribir el pseudocódigo de un programa basa-
do en C que usando un monitor coordine la actividad de los ciudadanos en la oficina.
Considerar la solución de Hansen en el comportamiento de la operación signal_mon.
El programa debe tener tres partes: pseudocódigo del monitor, pseudocódigo del proceso
ciudadano y pseudocódigo de la función principal para lanzar la ejecución concurrente de
los procesos.
5. (2 p) Considérense los procesos A, B, C y D cuyo tiempo de llegada, prioridad y tiempo
de servicio se muestran en la Tabla 1. Supuesto que 1 es la prioridad más alta, que el
tiempo de colocación en la cola de procesos preparados es despreciable y que el tiempo
de cambio de contexto es de 1 ut, representar el diagrama de uso del procesador en el caso
de que se utilicen los siguientes algoritmos de planificación:
a) Algoritmo de turno rotatorio con un cuanto q = 2 ut. Suponer que si varios procesos
tienen el mismo tiempo de llegada se colocan en la cola de procesos preparados por
orden de prioridad.
b) Algoritmo basado en prioridades de tipo expropiativo.
Proceso Tiempo de llegada (ut) Prioridad Tiempo de servicio (ut)
A 0 1 4
B 0 2 2
C 1 3 3
D 1 4 5

Tabla 1

1
UNED - SISTEMAS OPERATIVOS (Cód. 71902048) Solución Examen Enero 2020

SISTEMAS OPERATIVOS (Cód. 71902048)


Solución Examen Enero 2020

Solución Ejercicio 1
a) Un teclado es un dispositivo modo carácter de entrada. Cuando un usuario pulsa una tecla y tam-
bién cuando la libera el hardware del teclado envía el número de tecla a un registro del controlador
de E/S que lo supervisa. Éste genera una interrupción que al ser atendida por el manejador corres-
pondiente provoca que se despierte al driver del teclado.
El driver extrae del registro de E/S el número de tecla y lo traduce en un carácter usando unos
mapas de teclas, también denominados páginas de códigos, que mantiene el sistema operativo en
función del idioma que haya elegido el usuario al instalar el sistema operativo. El número de tecla
suele tener un tamaño de 8 bits, el bit más significativo se utiliza para indicar si la tecla ha sido
presionada o no. Nótese que un teclado suele tener entre 99 y 108 teclas, por lo que se necesitan 7
bits para codificar el número de tecla.
El driver también tiene que llevar la cuenta de las teclas que han sido pulsadas y todavía siguen
presionadas. Con dicha información es capaz de determinar si la última tecla pulsada, hace refe-
rencia a un carácter en minúscula o en mayúscula o si es una combinación de teclas del tipo CTRL
+ [carácter] o ALT + [carácter].
Una vez establecido el carácter o la combinación de teclas pulsadas el driver almacena dicha
información en un buffer para que sea leída y procesada por el proceso adecuado.

b) Una Tabla de asignación de archivos (File Allocation Table, FAT) es una estructura de datos que
se utiliza para localizar los bloques asignados a los archivos. Esta tabla tiene una entrada por cada
bloque físico existente en la partición del sistema de archivos. Así la entrada j de la tabla, hace
referencia al bloque físico j. Si el bloque físico j está asignado a un archivo, entonces la entrada j
en la FAT contiene la dirección física del siguiente bloque del archivo. Por otro lado, si un bloque
físico h es el último asociado a un determinado archivo, entonces la entrada h de la FAT contendrá
un identificador especial de fin de archivo, por ejemplo, el valor −1. Si un bloque físico k está
libre, entonces la entrada k de la FAT contendrá un número entero especial, por ejemplo, el valor
0.
De esta forma el espacio ocupado por un archivo en el disco se organiza como una lista enlazada
de entradas de la FAT. La dirección física del primer bloque del archivo se almacena o en la entrada
del directorio que contiene al archivo.
Usando la FAT es posible dar un mejor soporte a los archivos de acceso aleatorio, ya que para ac-
ceder a un determinado bloque de un archivo únicamente debe seguirse la cadena leyendo entradas
de la FAT. Además, el espacio de los bloques físicos se puede utilizar únicamente para alojar datos
de archivos.
La principal desventaja del uso de una FAT es que para que su uso sea eficiente conviene tener
una copia de la FAT en memoria principal. En caso contrario se generan muchos movimientos
de las cabezas de lectura/escritura del disco desde los cilindros iniciales de la partición donde
se encuentra ubicada la FAT hasta los cilindros donde se encuentre el bloque que se desea leer
o escribir. El problema reside en que la copia de la FAT puede ocupar una cantidad de memoria
principal no despreciable si la partición de disco es grande.

1
UNED - SISTEMAS OPERATIVOS (Cód. 71902048) Solución Examen Enero 2020

Solución Ejercicio 2
Dependiendo del número y tipo de hilos soportados por un sistema operativo se pueden distinguir prin-
cipalmente las siguientes configuraciones:

• Múltiples hilos de usuario sin soporte de hilos del núcleo. En esta configuración la gestión de los
hilos de usuario de un proceso se realiza mediante una biblioteca de hilos que se ejecuta en modo
usuario. Cuando un hilo de un proceso realiza una llamada al sistema comienza a ejecutarse el
sistema operativo. Si la realización de dicha llamada al sistema requiere el bloqueo del hilo de
usuario entonces se bloquea todo el proceso completo. Además aunque el sistema soporte multi-
procesamiento no es posible que varios hilos se ejecuten simultáneamente ya que solamente uno
de ellos puede acceder a la vez al sistema operativo. En esta configuración el sistema operativo
planifica procesos, cada proceso está constituido por uno o varios hilos de usuario.

• Un hilo del núcleo por cada hilo de usuario. En esta configuración el sistema operativo crea un
hilo del núcleo asociado a cada hilo de usuario. En consecuencia no es necesario la utilización
de una biblioteca de hilos por parte de la aplicación, basta con una interfaz de programación de
aplicaciones para acceder a las utilidades de hilos del núcleo.

• Menor número de hilos del núcleo que hilos de usuarios. En esta configuración el número de
hilos del núcleo que soporta el sistema operativo está limitado y es inferior al número de hilos
de usuario. Para su implementación se requiere una biblioteca de hilos para gestionar los hilos de
usuario. Los diferentes hilos de usuario de un proceso se asocian a un número menor o igual de
hilos del núcleo. Es el programador de la aplicación el que se encarga de establecer el número de
hilos del núcleo que requieren los hilos de usuario en que ha descompuesto su aplicación.

Solución Ejercicio 3
Un sistema operativo para implementar la paginación generalmente utiliza las siguientes estructuras de
datos:

• Tablas de páginas. Cada proceso tiene asignada una tabla de páginas. Cada entrada i de la tabla
de páginas de un proceso X contiene, entre otras informaciones, el marco j donde se encuentra
almacena la página i del proceso X y los permisos de acceso a la página. Además puede contener
información sobre la ubicación de la copia de la página en memoria secundaria, aunque a veces
esta información se implementa en una tabla diferente.

• Tabla de marcos de página. Esta tabla tiene tantas entradas como marcos de página tiene la me-
moria principal. Cada entrada j de la tabla de marcos de página contiene, entre otras, las siguientes
informaciones relativas al marco: su estado, es decir, si está libre o ocupado, punteros para crear
una lista de marcos libres, y la ubicación en memoria secundaria de la copia de la página i conte-
nida en el marco.

• Lista de marcos libres. Es consultada cuando hay que asignar espacio a los procesos que deben ser
cargados en memoria principal. Cuando hay que asignar un marco se selecciona al primero de la
lista. Si un marco queda libre es colocado al final de la lista.

2
UNED - SISTEMAS OPERATIVOS (Cód. 71902048) Solución Examen Enero 2020

Solución Ejercicio 4
La solución que se propone para este ejercicio se muestra en la Figura 1.

#define N /* Número de ventanillas */


monitor oficina /* Definición del monitor */
condición ventanilla_disponible;
int contador;

int obtener_ventanilla() /* Procedimiento del monitor */


{
if (contador == N) wait_mon(ventanilla_disponible);
contador=contador+1;
}

void dejar_ventanilla() /* Procedimiento del monitor */


{
contador = contador - 1;
signal_mon(ventanilla_disponible);
}

{ /* Inicialización del monitor */


contador=0;
}
end monitor

void ciudadano() /* Proceso ciudadano */


{
oficina.obtener_ventanilla();
realizar_gestión();
oficina.dejar_ventanilla();
}

main() /* Ejecución concurrente */


{
ejecución_concurrente(ciudadano,...,ciudadano);
}

Figura 1 – Solución ejercicio 4

3
UNED - SISTEMAS OPERATIVOS (Cód. 71902048) Solución Examen Enero 2020

Solución Ejercicio 5
En la Figura 2 se muestran los diagramas de uso del procesador pedidos para cada algoritmo de planifi-
cación.

B D
A C B A C D

(a) Uso del


A B C D A C D
procesador

0 5 10 15 Tiempo (ut) 20

B D
A C A B C D

Uso del
(b) A B C D
procesador

0 5 10 15 Tiempo (ut)

Figura 2 – Diagrama de uso del procesador usando los siguientes algoritmos de planificación: a) Turno
rotatorio con q = 2 ut. b) Planificación por prioridades de tipo expropiativo.

También podría gustarte