Final Octubre 2016 (Sistemas Operativos)

De Cuba-Wiki

Procesos

a) ¿Por qué los threads trabajan con funciones reentrantes?

b) Una PCB clásica para el manejo de procesos contiene todos los recursos para que el proceso pueda ejecutar, por ejemplo Registros, Archivos abiertos, etc. ¿Cómo debe modificarse para soportar threads?


Sincronizacion

a) Describir lo que ocurre desde el punto de vista del sistema operativo cuando se recibe un signal() y hay que "despertar" a un proceso.

b) ¿Para qué sirve el algoritmo de Peterson de secciones críticas? ¿En qué contexto lo usaría?


Scheduling

a) ¿Cuál es el problema al que se enfrenta el scheduling en SMP?

b) Explicar el concepto de inversión de prioridades y su relación con scheduling.


Sistemas de archivos

a) Describir las estructuras de datos de ext2.

b) Dar un ejemplo de la vida real donde tenga sentido que los archivos se guarden en bloques contiguos.


Seguridad

a) Definir DAC y comparar los permisos default de Windows y Linux.

b) Pensar cómo se podría detectar que el sistema operativo fue modificado desde la última vez que fue accedido (por ejemplo, alguien vino y le agregó keylogging).

En realidad no lo redactó así, hablaba de "inicio seguro del sistema operativo" y nadie entendió, por eso lo aclaró y escribo lo que aclaró.


Sistemas distruibuidos

a) Diseñar un protocolo para que un cliente A pueda hacer RPC con un servidor B a través de un canal seguro. A conoce la IP de B y su clave pública, pero B no conoce ninguno de estos datos de A (y tampoco puede recibir la clave pública a través de un mensaje, porque es trampa :) ).

Me dejó asumir que B tiene una lista de usuarios y passwords, y A es uno de ellos.