PRÁCTICAS DE LABORATORIO DE SISTEMAS OPERATIVOS

TERCERA PRÁCTICA OBLIGATORIA (1999-00)


  1. Enunciado.

    El país Pokémon se halla dividido de norte a sur por el río Pikachu, pongamos por caso. Ana y Benito están en la orilla izquierda del río. Carlos y Daniela en su orilla derecha. Existe una única barca para cruzar el río en la que sólo puede ir una persona.

    Ana y Benito tienen que pasar 30 fardos de manzana reineta que necesita la tía Rosa para hacer su renombrada tarta de manzana para la boda de la prima Virginia. Por su parte, Carlos y Daniela tienen transladar al otro lado del río 30 paquetones de contenido que han preferido no declarar.

    Ana y Benito tardan 0.2 segundos en tomar un fardo. Carlos y Daniela, 0.4 segundos. Se tarda un segundo en cruzar el río. En 0.1s han dejado todos su bulto. Los muchachos van y vuelven hasta que han pasado toda la mercancía y ellos mismos al otro lado.

    Hacer un programa que, con cuatro hilos aparte del original, simule la situación descrita en el párrafo anterior. El hilo original ha de esperar a que acaben los otros cuatro y limpiar los objetos de sincronización usados.

    Esta práctica se puede presentar también para la asignatura "Interfaces gráficas". En tal caso, la salida por pantalla es libre y se debe adaptar a las condiciones puestas en aquella asignatura y se debe dejar la posibilidad de configurar los tiempos de más arriba. En el caso de que sólo se presente en esta asignatura, la aplicación tiene que ser de consola y la salida por pantalla debe ser obligatoriamente como esta:
    30 00 ab   ___.............      cd 00 30
    29 00 Ab   ___.............      cd 00 30
    29 00  b      ....._A_.....      cd 00 30
    29 00  b      ....._A_.....      Cd 00 29
    29 00  b      .............___ A Cd 00 29
    29 00  b      .............___ a Cd 01 29
    29 00  b      ....._C_.....    a  d 01 29
    etc. etc.   
    Las letras mayúsculas indican que la persona está cargada y los números, la cantidad de objetos que hay a un lado y otro del río. Las líneas irán una a continuación de la otra sin limpiar la pantalla y adaptándose exactamente al modelo expuesto.

  2. Plazo de presentación.

    Hasta el lunes 5 de junio de 2000, inclusive.

  3. Normas de presentación.

    Ved la práctica primera. Aunque la práctica se ejecute sobre NT, debéis dejarla en el correspondiente subdirectorio de tejo. Los miembros de la pareja que tienen el enlace simbólico haced:
    chmod g+rx $HOME 
    El otro miembro que haga lo que pone en la página principal de la asignatura.

© 2000 Guillermo González Talaván.