practica1-so2

2
Práctica 1 – Sistemas Operativos 2 USAC – Sección A Propósito El propósito de esta práctica es que el estudiante: Demuestre el manejo de módulos en el kernel Linux 3+ Sea capaz de interactuar con módulos de kernel via mecanismos estandarizados del kernel. El manejo del sistema de archivos virtual del kernel Linux. Demostrar conocimiento en llamadas al sistema esenciales de sistemas *NIX. Enunciado La práctica consiste en la implementación de dos módulos de kernel, los cuales conectados mediante símbolos y variables compartidas expuestas. Uno de los módulos, llamado módulo 1, creará un archivo virtual y asignara variables que serán leídas por el módulo 2. El módulo 1 recibirá el nombre de un archivo a ocultar como un archivo virtual escribible, por razones prácticas este seguirá el formato “Practica1SO2-[a-z 0-9]+” por ejemplo: Practica1SO2-abcd123 y estará inicializado al valor del carnet del estudiante, e.g. Practica1SO2-200815609. Este valor será almacenado como un símbolo público. El módulo 2 interceptará las llamadas al sistema necesarias para bloquear la visibilidad de este archivo mediante el comando ls, haciendolo “invisible” al sistema y siendo responsivo a los cambios del valor de la variable de nombre de archivo asignada en el módulo 1. Ejemplo del funcionamiento esperado $ ls /home/tian/archivosDePrueba/ hola prueba.png lolcat.txt Practica1SO2-abcd # cat > /proc/modulo1 Practica1SO2-abcd $ ls /home/tian/archivosDePrueba hola prueba.png lolcat.txt $ cat /home/tian/archivosDePrueba/Practica1SO2-abcd Todavia existo. # cat > /proc/modulo1

Upload: jose-estrada

Post on 28-Sep-2015

6 views

Category:

Documents


2 download

DESCRIPTION

Sistemas operativos

TRANSCRIPT

  • Prctica 1 Sistemas Operativos 2USAC Seccin A

    PropsitoEl propsito de esta prctica es que el estudiante:

    Demuestre el manejo de mdulos en el kernel Linux 3+

    Sea capaz de interactuar con mdulos de kernel via mecanismos estandarizados del kernel.

    El manejo del sistema de archivos virtual del kernel Linux.

    Demostrar conocimiento en llamadas al sistema esenciales de sistemas *NIX.

    EnunciadoLa prctica consiste en la implementacin de dos mdulos de kernel, los cuales conectados mediante smbolos y variables compartidas expuestas. Uno de los mdulos, llamado mdulo 1, crear un archivo virtual y asignara variables que sern ledas por el mdulo 2.

    El mdulo 1 recibir el nombre de un archivo a ocultar como un archivo virtual escribible,por razones prcticas este seguir el formato Practica1SO2-[a-z 0-9]+ por ejemplo: Practica1SO2-abcd123 y estar inicializado al valor del carnet del estudiante, e.g. Practica1SO2-200815609. Este valor ser almacenado como un smbolo pblico.

    El mdulo 2 interceptar las llamadas al sistema necesarias para bloquear la visibilidad de este archivo mediante el comando ls, haciendolo invisible al sistema y siendo responsivo a los cambios del valor de la variable de nombre de archivo asignada en el mdulo 1.

    Ejemplo del funcionamiento esperado$ ls /home/tian/archivosDePrueba/hola prueba.png lolcat.txt Practica1SO2-abcd# cat > /proc/modulo1Practica1SO2-abcd$ ls /home/tian/archivosDePruebahola prueba.png lolcat.txt$ cat /home/tian/archivosDePrueba/Practica1SO2-abcdTodavia existo.# cat > /proc/modulo1

  • lolcat.txt$ ls /home/tian/archivosDePrueba/hola prueba.png Practica1SO2-abcd

    Calificacin / PonderacinLa implementacin del primer modulo (el cual cree el archivo escribible y exporte el valorescrito en ella) ser de 40%.

    La implementacin del segundo modulo (el cual intercepta la llamada, ocultando el archivo) ser de 60%.

    Si la implementacion intercepta tambien todas las llamadas para el acceso directo al archivo, se dar una bonificacin del 25%

    EntregablesCodigo fuente de ambos mdulos de kernel.

    Screenshots.

    Entrega11 de Marzo, 2015

    CalificacinPresencial, fecha a decidir.

    Referenciashttp://www.ibm.com/developerworks/linux/library/l-proc/index.html

    http://www.ibm.com/developerworks/ssa/linux/library/l-system-calls/

    http://www.csee.umbc.edu/courses/undergraduate/CMSC421/fall02/burt/projects/howto_add_systemcall.html

    http://man7.org/linux/man-pages/man2/syscalls.2.html

    http://man7.org/linux/man-pages/man1/strace.1.html

    PropsitoEnunciadoEjemplo del funcionamiento esperado

    Calificacin / PonderacinEntregablesEntregaCalificacinReferencias