Final Sistemas Operativos 21/07/2007 RESUELTO UTN FRBA 1. Cuando se abre por primera vez un archivo, ¿el sistema de gestión de archivos carga en memoria el descriptor de archivos almacenado en disco, correspondiente a dicho archivo? Rta: Cierto. El descriptor guarda información acerca del archivo y es necesaria para su gestión. 2. ¿Cuál de los planificadores es el encargado de bajar la tasa de multiprogramación del sistema? Rta: Planificador a largo plazo. Éste es el planificador que hace lo indicado. 3. En un sistema operativo que ofrezca mecanismos de suspensión y reanudación, mediante un único cambio de estado ¿a que estado puede pasar un proceso que está dormido? Rta: Listo. Si despierta el proceso pasaría a este estado. 4. En un sistema operativo Microkernel la forma básica de comunicación entre procesos (ó entre hilos) son las interrupciones a nivel software. Rta: Falso. No son las interrupciones, son los mensajes. Pág. 178, 1er. párrafo de IPC. 5. El algoritmo de cifrado es el único que permite realizar varias sustituciones y transformaciones sobre un texto claro VERDADERO Pag 136 5ta ed, Ejercicios Ejercicio 1: Un proceso productor deposita los mensajes en un Buffer de 30 posiciones. Otro proceso intermediario los retira y los procesa depositando los mensajes procesados en un Buffer de 5 posiciones. Luego otros dos procesos C1 y C2 los retiran e Imprimen alternadamente, (C1, C2, C1, C2, C1, C2 etc.). Se pide realizar la sincronizar de los 4 procesos utilizando solamente las primitivas de semáforos P() y V(), considerando que los valores de los mismos son: vacío =30, lleno=0, vacío1 =5, lleno1 =0, a =1, b =0, mutex =1, Mutex1 = 1. SOLUCIÓN A while(1) { m=producir() P(vacío) P(mutex) depositar(m) V(mutex) V(lleno) } B while(1) { P(lleno) P(mutex) m=retirar() V(mutex) V(vacío) k=procesar(m) P(vacío1) P(mutex1) depositar(k) V(mutex1) V(lleno1) } C1 while(1) { P(a) P(lleno1) P(mutex1) k=retirar_k() V(mutex1) V(vacio1) consumir(k) V(b) } C2 while(1) { P(b) P(lleno1) P(mutex1) k=retirar_k() V(mutex1) V(vacio1) consumir(k) V(a) } Se desea implementar un sistema de administración de memoria virtual mediante paginación. El bus de direcciones es de 32 bits. La unidad mínima direccionable es un byte. La cantidad de memoria RAM (real) instalada en el equipo puede ser variable. La cantidad mínima de memoria es de 4 MB y se puede incrementar en potencias de 2 (es decir 8 MB, 16MB, 32MB,etc..., hasta un máximo que por el momento no nos interasa). El tamaño de la página es de 4KB y el del descriptor de página de 3 bytes. Se desea Final Sistemas Operativos 21/07/2007 RESUELTO UTN FRBA poder controlar si se ha accedido a una página, si se ha modificado, así como también poder protegerla de lectura, escritura y ejecución.Se supone que se dispone de suficiente memoria secundaria para dar soporte a la memoria virtual y para un espacio de direccionamiento único se pide: 1) Especifique los formatos de dirección lógica (virtual) y de descriptor de página. 2) Escriba el tamaño de la tabla de páginas (en bytes) 3) Escriba la cantidad máxima de memoria real que puede manejar este Sistema (en bytes). 1) Formato dirección lógica (virtual): 20 bits 12 bits Número de Página. Desplazamiento Formato del descriptor de página: 6 bits 18 bits P R M L E X Número Marco Donde los bits P, R, M, L, E y X son respectivamente los de presencia, referencia, modificación, protección de lectura, protección de escritura y protección de ejecución. 2) La tabla de páginas tendrá 220 entradas y como cada entrada ocupa 3 bytes el tamaño de la tabla sería de 3 MB. 3) Ya que el número máximo de marcos es de 218 marcos y cada marco es de 4 KB, la cantidad máxima de memoria real será: 218 * 4 KB = 1 GB. Se tienen dos discos uno con un file system tradicional Unix y el otro para backup con un file system BA32 de 500GB. Se Necesitan copiar 3 archivos del primer disco al segundo. El primer archivo tiene ocupado solo los 10 punteros directos del I-nodo, el segundo ocupa toda la estructura completa del i-nodo y el tercero ocupa los 10 punteros directos, todos los punteros de la indirección simple, todos los de la indirección doble y 70 dobles, con sus respectivos simples completos de la indirección triple. El tamaño del bloque es de 1k y los punteros son de 32 bits. El disco de backup trabaja con asignación contigua y tiene una estructura de directorios en un solo nivel que ocupa los primeros 100 bloques (1 bloque =1 sector) del disco. Cada entrada en el directorio tiene los siguientes campos con su respectivo tamaño. nombre 30bytes Nºbloque comienzo 16bytes NºBloque finalización 16bytes Tamaño en Bytes 4bytes fecha hora tipo 2bytes 2bytes 3bytes Todavía no hay archivos grabados Se pide : a) Cuál es el tamaño de cada archivo en bytes. b) Cuantas operaciones sobre el disco BA32 para hacer la copia. c) Mostar el estado final en la estructura de directorio de BA32, para los 4 primeros campos. RESPUESTA Cantidad de punteros por bloque 1024/4=256 a)Tamaño del archivo A= 10*1K=10K Tamaño del archivo B= 10*1K+256*1k+(256)2 *1k+(256)3 1K= 266k+ 64M+16G Tamaño del archivo C= 10*1k+256 1K+ (256)2 *1k+70*(256)2 *1k b) solo se puede copiar el archivo A de bido a que los otros dos superan el tamaño disponible en la entrada del directorio (4G) como el A ocupa 10k y l9os bloques son de 1 sector(512 Bytes) en este disco Î 20 bloques del disco BS32 para grabar + 1 bloque del directorio operaciones 21 c) A 101 120 10240