Final Agosto 2017 (Sistemas Operativos)
El tiempo era 2hs y media. Los ejercicios se calificaban con Bien, Mal, Regular. Se aprobaba con 4 ejercicios Bien y a lo sumo 1 Mal.
Procesos
- ¿Qué es y para qué sirve una System Call? Explicar los pasos involucrados por hardware y software. Ejemplificar.
- ¿Qué son las funciones reentrantes y cuál es su relación con los threads?
Memoria
- Describa de qué manera el Sistema Operativo protege el espacio de memoria de un proceso.
- ¿Que es Thrashing y como se puede solucionar sin agregar hardware?
Scheduling
- ¿Qué desafíos enfrentan los algoritmos de scheduling para sistemas con varios procesadores?
- ¿Qué es el problema de inversión de prioridades y qué schedulers afecta?
Seguridad
- ¿Para qué sirve setuid y cuales son sus riesgos ?
- Explicar DAC y comparar DAC en unix y windows.
Filesystems
-Qué es el superbloque en ext2 y que pasa si se pierde su información?
- Cuál es la diferencia a nivel de operaciones, de cuando se hace ls y ls-l
Sistemas distribuidos
- Un algoritmo de commit distribuido funciona de la siguiente manera: opera sobre una red donde los paquetes pueden perderse o demorarse, y cuando un nodo quiere escribir sobre cierto archivo que está replicado en todos los nodos, envía un pedido de escritura. Si recibe confirmación de todos los nodos, escribe y le notifica a los demás que pueden hacer lo propio. Alguien nota que este algoritmo puede fallar si los nodos se caen entre la escritura y la notificación y propone para solucionarlo el envío de mensajes de confirmación de parte de los nodos. ¿Este algoritmo resuelve el problema? Justifique.