Está en la página 1de 3

Facultad de Ingeniería

Escuela de Ingeniería de Sistemas


Sistemas Operativos

Proyecto 1

Una fábrica de sillas lo ha contratado para realizar una modelación de su sistema de


producción. Para ello, se le pide que realice un programa en Java.

Durante el proceso de fabricación se requieren dos tipos de empleados:


1. Productores: Encargados de producir las distintas partes necesarias para construir
una silla. Es necesario mencionar que tienen a su disposición almacenes de
capacidades finitas en los que guardan las piezas una vez están listas. Antes de
producir una pieza, un productor comprueba si existe espacio en el almacén para
guardarla. Existen dos grupos de productores:
a. Productores de asientos: A un productor le toma 3 días producir 1 asiento
para las sillas.
b. Productores de patas de silla: A un productor le toma 1 días producir 1
pata de silla.
2. Ensambladores: Estos empleados tienen la responsabilidad de armar el producto
final, para que luego sea despachado de la fábrica. Para ello toman 1 asiento y 4
patas de silla de los respectivos almacenes. Una vez obtenidas todas las piezas, a
un ensamblador le toma 2 días realizar su trabajo. Al terminar, el ensamblador tiene
la responsabilidad de aumentar el contador de unidades disponibles y guardarla
junto a las demás.

Además, la fábrica cuenta también con:


3. Cronometrador: La única tarea del cronometrador es registrar el paso de los días.
El cronometrador posee un contador inicializado en el número de días que faltan
para el despacho. Cada día, el cronometrador disminuye su contador en una unidad,
lo que le toma 3 horas. Si hay alguien leyendo el contador cuando el cronometrador
va a modificarlo, él debe esperar a que el lector termine. Hay solo 1 cronometrador
en la compañía y solo 1 contador. El resto del tiempo, el cronometrador está ocioso.
4. Gerente: Cada día se dirige al contador, para verificar cuantos días faltan para el
despacho. Si el cronometrador está modificando el contador en ese momento, el
gerente espera a que él termine antes de leer. Si el gerente observa que es el día
de envío, manda a despachar las unidades finales disponibles, reiniciando la
cantidad de sillas que se tienen en la fábrica. En caso contrario, va a dormir, por un
período aleatorio entre 6 y 18 horas, a excepción del día 20, en el cual busca la
cantidad de sillas que ya fueron fabricadas. El gerente espera encontrarse con 10
sillas listas. Si no hay dicha cantidad, motiva a los empleados, logrando que trabajen
al doble de la velocidad, hasta el día del despacho.

Su programa deberá hacer uso de una interfaz gráfica que permita observar y controlar
el sistema. Se debe poder conocer en cualquier momento:
 La cantidad de productores de cada tipo.
 La cantidad de piezas disponibles en cada almacén.
 La cantidad de ensambladores.
 La cantidad de unidades finales disponibles.
 Los días que faltan para el despacho.
 Qué está haciendo el cronometrador.
 Qué estás haciendo el gerente.
 Cualquier otro dato que considere relevante.

La simulación debe permitir, en tiempo de ejecución:

 Contratar o despedir un productor de cualquiera de los tres tipos.


 Contratar o despedir un ensamblador.
 Pausar y reanudar tanto los procesos de producción como los de ensamblaje.
Para la pausa NO se debe hacer uso de espera activa.

El programa hará uso de los siguientes parámetros:

 Tiempo que dura un día en el programa: 1s


 Cantidad de días entre despachos: 50 días
 La capacidad máximas para el almacén: 40 asientos
 La capacidad máximas para el almacén: 50 patas de silla
 La cantidad inicial de productores de cada tipo: 2 productores
 La cantidad máxima de productores de cada tipo: 10 productores
 La cantidad inicial de ensambladores: 1 ensamblador
 La cantidad máxima de ensambladores: 5 ensambladores

Por último, deberá hacer uso de hilos, semáforos y las soluciones conocidas a los
problemas de productor/consumidor y lector/escritor.

Aspectos importantes para la entrega:


 Se debe de poder compilar el proyecto entregado, sin requerir ninguna
modificación.
 Debe hacer uso de interfaz gráfica para cualquier entrada solicitada y para
mostrar la información requerida.

Si no cumple con alguno de los aspectos antes mencionados, el proyecto será evaluado
en base a 09.

El proyecto puede ser realizado en parejas. Debe estar correctamente comentado,


documentado e identificado. Deberá enviar el comprimido que contenga todo el material del
proyecto a dan.211096@gmail.com antes del 28/05/2018. La revisión se realizará en horas
de preparaduría, para lo cual ambos integrantes deben estar presentes. En caso de no
poder asistir a ninguna de las horas de preparaduría, debe de informarlo con antelación
para pautar una fecha para la revisión.

También podría gustarte