Final 31 de Julio 2018
Sincronización: Justificar si la primitiva de sincronización propuesta para cada caso es correcta, y sino cuál usaría y por qué:
- Acceso exclusivo a disco utilizando TAS Lock.
- Acceso a una estructura que permite hasta 3 accesos simultáneos con semáforos.
- Acceso a un contador que se desea incrementar mediante un semáforo binario.
Procesos: Se poseen dos procesadores y se pueden ver los cambios de estado de los procesos. ¿Qué tendría que ver para que se aumente el rendimiento agregando...
- ...un procesador?
- ...más memoria?
Memoria: Describir los atributos de las páginas y para qué se usan. ¿Es posible que hayan páginas compartidas? ¿En qué caso?
Sistemas de archivos: Se desea implementar una funcionalidad de snapshot. ¿Qué sistema de archivos tomaría como base (FAT o inodos) y cómo sería su implementación?
Seguridad: Se posee el siguiente cliente escrito en C que utiliza encripción asimétrica para enviar la contraseña del usuario ingresado a un servidor. Se ingresa el nombre de usuario por parámetro, el cual se copia a un buffer de tamaño fijo, y luego se obtiene la contraseña escrito en texto plano de la DB. Esta misma es encriptada y enviada.
int main(int args, char* argv[]){ char[16] usuario; char path_clave_priv[] = "/etc/clave.priv"; char ip_servidor = "192.168.1.1"; char* contrasena; strcpy(argv[1], usuario); contrasena = obtener_contrasena_db(usuario); token = encriptar(path_clave_priv, usuario, contrasena); enviar(token, ip_servidor); }
Dar dos maneras distintas para que un usuario con acceso al cliente pueda hacerse de la contraseña.