Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos Examen Final. TEORÍA. 2 de Febrero de 2004 Nombre: DNI: P1. ¿Por qué motivos puede cambiar el modo de ejecución a un programa de kernel a usuario o de usuario a kernel? P2. (a) ¿Cuál es el criterio de prioridad de la política HRRN? (b) ¿Cuál es la definición de “época” cuando hablamos de planificación en LINUX? (b) La planificación de tiempo real “Monótona en Frecuencias” sólo es aplicable a tareas periódicas. ¿Cierto o Falso? ¿Porqué? P3. ¿En qué se diferencian un semáforo y una variable condition de monitor?. ¿Y las operaciones wait() y waitc()? ¿Y las operaciones signal() y signalc()? P4. (a) ¿Qué se entiende por comportamiento “rendezvous” (cita) del mecanismo de mensajes? (b) Simula tal comportamiento entre dos procesos, sin envío de datos, utilizando semáforos. P5. En gestión de memoria virtual ¿qué se entiende por fallo de página MENOR y qué por fallo de página MAYOR? P6. Un computador tiene direcciones virtuales de 32 bits y páginas de 4KB. El código y los datos de un determinado programa caben juntos en la página más baja (rango de direcciones: 0 - 4095). La pila cabe en la página más alta. (a) ¿Cuántas entradas se necesitan en las tablas de páginas para ese programa si se usa paginación de un nivel? (b) ¿Y si se usa paginación de dos niveles, con 10 bits de dirección para cada nivel? P7. ¿Qué componentes contribuyen al tiempo de acceso total a un bloque en un disco de cabezas móviles, dentro de un sistema operativo de multiprogramación? P8. El RAID nivel 3 puede corregir errores de un solo bit utilizando una sola unidad de disco de paridad. ¿Por qué usar RAID nivel 2 que también permite corregir un bit de error pero empleando varias unidades de disco de paridad (log2 N)? P9. Nombra y comenta los distintos tipos de ficheros que admite típicamente un sistema de ficheros UNIX, e indica si la llamada open() le es aplicable o no; en caso afirmativo, ¿qué efecto tiene open()?. P10. (a) Se ha sugerido que la primera parte (los primeros datos) de cada fichero UNIX se almacene en el mismo bloque de disco que su i-nodo. ¿De qué serviría esto?. (b) En tal caso, ¿cuántas operaciones de disco se necesitarían, como mínimo, para obtener el i-nodo del fichero /usr/ast/cursos/so/apuntes.txt suponiendo que en memoria se encuentra el i-nodo del directorio raíz pero ninguna otra cosa de las necesarias para recorrer la ruta. Ingeniería Superior en Informática. Curso 3º. Sistemas Operativos. Examen Final. PROBLEMAS. 2 de Febrero de 2004 Nombre: DNI: P1. void main () { int i; for (i=1; i<=2; i++){ fork(); printf("PID=%d,PPID=%d i=%d\n",getpid(),getppid(),i); wait(NULL); } exit(0); } Mostrar la salida del programa anterior en el orden exacto en que se produce, suponiendo para los valores identificadores de procesos números enteros consecutivos empezando desde 100, y suponiendo que los procesos padres tienen prioridad sobre los procesos hijos. P2. El siguiente algoritmo trata de resolver el problema de los lectores-escritores de manera justa, esto es, que ni los lectores adelantan a los escritores ni al revés. Lector Escritor while (1) { P(fifo); V(fifo); P(mutex); rc = rc+1; if (rc==1) P(basedatos); LEER P(mutex); rc = rc-1; V(mutex); if (rc==0) V(basedatos); USAR datos leidos } while (1) { PREPARAR datos; P(fifo); P(basedatos); V(fifo); ESCRIBIR V(basedatos); } Contestar razonadamente: ésta solución no es correcta; explicar qué situaciones anómalas se pueden producir, por qué se pueden producir, y modificar la solución para que sea correcta. Indicar también la misión que cumplen cada uno de los semáforos y cuál es su valor inicial respectivo. P3. (a) Un disco tiene un tiempo medio de desplazamiento (seek) del brazo de 8 ms, una velocidad de rotación de 15000 rpm y 262144 bytes por pista. Calcular la tasa de datos de transferencia en bytes por segundo que se obtienen al transferir un bloque si los bloques son de 1, 2 y 4 KB respectivamente. (b) ¿Cuál debería ser el sesgo de cilindro (desfase del sector 0 en dos pistas consecutivas que permite la lectura de varias pistas en una sola operación continua sin pérdida de tiempo) del disco anterior si el tiempo de desplazamiento (seek) del brazo de pista a pista es de 1ms? (Tamaño de sector = 512 bytes) (c) Un sistema utiliza el algoritmo del ascensor (SCAN) para acceder al disco. Suponiendo que tiene una lista de peticiones que afecta a las siguientes pistas: 98, 183, 37, 122, 14, 65 y 67 y que la cabeza del disco está situada en la pista 53, indique en qué orden se atienden las peticiones. A. 65, 67, 98, 122, 183, 14 y 37. B. 98, 183, 37, 122, 14, 65 y 67. C. 37, 14, 65, 67, 98, 122 y 183. D. 65, 67, 37, 14, 98, 122 y 183