Final Agosto 2013 (Sistemas Operativos)
1. Procesos a) Diferencias entre procesos y threads. ¿Qué son las funciones reentrantes y cuál es su relación con los threads? b) ¿Para qué sirve la syscall fork()? Describir qué sucede al llamarla, cambios en estructuras, etc.
2. Scheduling a) ¿Cuál es el problema de scheduling en sistemas SMP? b) Ejercicio sobre quantum Q, cambio de contexto C, tarea I/O que está activa E, etc.
3. Memoria a) ¿Qué ventajas trae un paginado multinivel? ¿Para qué sirve la TLB? b) Describa de qué manera el paginado protege el espacio de memoria de un proceso
4. Discos a) ¿Qué es Virtual File System? b) Suponga que se cuenta con un FS basado en inodos y se tiene un bitmap para indicar el espacio libre. Si se perdiera ese bitmap, ¿sería posible recuperarlo? Justifique.
5. Seguridad a) El DC ha creado una nueva distribución de Linux llamada LINDCUX. ¿Qué medidas debería tomar para que el usuario pueda validar que los paquetes repartidos provengan del DC? b) Describa por qué se utilizan funciones de hash para almacenar contraseñas de usuario, y qué refuerzos de seguridad se pueden aplicar a esto.
6. Sistemas Distribuidos a) Describa el algoritmo de Lamport para determinar el orden parcial entre procesos en un SD. b) ¿Qué son los algoritmos lock-free? ¿Qué problemas pueden traer?
7. Falta este ejercicio