Práctica del C.U.M. (UEx), que consiste en un juego desarrollado en lenguaje C con las librerías SDK, en el que se crean y administran distintos procesos de forma simultánea, debiendose utilizar una serie de herramientas que permitan intercambiar información entre los procesos.

Durante el desarrollo de este programa se han utilizado dos técnicas diferentes para comunicar los distintos procesos entre sí. Se han usado tuberías y memoria compartida.


Las tuberías nos permiten crear un canal de comunicación entre procesos emparentados, de modo que un proceso realiza la operación de escritura y otro la de lectura, compartiendo de este modo información.

 

La práctica consiste en la sincronización de procesos concurrentes, implementando soluciones basadas en semáforos que permitan hacer cumplir la exclusión mutua a dichos procesos.

El objetivo es resolver el supuesto práctico, que consistirá en la simulación de una cadena de montaje formada por una cinta transportadora y tres robots.

Por la cadena de montaje circulan tres productos: A, B y C. En la parte final de la cadena existen tres robots, que se encargan de retirar y empaquetar estos elementos.

La práctica consiste en un pequeño interprete de comandos, desarrollado en lenguaje shell y lenguaje C, sobre sistema operativo GNU/Linux que realice las funciones especificadas. Los usuarios que pueden usar el interprete mini-shell están almacenados en el fichero "fusuarios", donde se guardan el nombre de usuario y la contraseña. Este fichero se encuentra en el directorio de configuración "cfg". Los datos proporcionados por el usuario son comprobados por el interprete y se permitirá o no entrar al mini-shell.

El interprete, reconoce las órdenes que se indican en el fichero "fordenes", almacenado en el directorio "cfg". Este fichero contiene todos los comandos que el usuario puede ejecutar, así como la fecha y hora del último acceso.