Final 31 de Julio 2018

De Cuba-Wiki

Sincronización: Justificar si la primitiva de sincronización propuesta para cada caso es correcta, y sino cuál usaría y por qué:

  1. Acceso exclusivo a disco utilizando TAS Lock.
  2. Acceso a una estructura que permite hasta 3 accesos simultáneos con semáforos.
  3. 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...

  1. ...un procesador?
  2. ...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.