PRÁCTICA DE SISTEMAS OPERATIVOS



EXPLICACIÓN DEL PROBLEMA:


DOCUMENTACIÓN DEL PROGRAMA:

/***********************************************************************************************

Programa que simula el funcionamiento del sistema Agente_Pastelero (ver explicación del problema).

Para compilar escribir:

En el archivo "nombre_fichero" se guardará el ejecutable del programa, por tanto para ejecutarle escribir:

************************************************************************************************

************************************************************************************************

NOMBRE: pastelero

SIPNOSIS: void pastelero(FILE *, int, key_t *, key_t, int *, int, int *, char *)

ARGUMENTOS:

FILE *pf --------------- Puntero a fichero de salida
int i --------------------- Entero identificador del pastelero 0,1 o 2
key_t *clavePastelero ---Array de cualificadores de semáforos pastelero
key_t claveAgente ------ Cualificador de semáforo agente
int *spastelero -----------Array de semáforos pastelero
int sagente ---------------Semáforo agente
int *pastel----------------Puntero a memoria compartida, contador
char *fin -----------------Puntero a memoria compartida, marca fin de proceso

DESCRIPCIÓN:

************************************************************************************************

************************************************************************************************

************************************************************************************************

NOMBRE:

#include<funcion.c>
void main( )

SINOPSIS: void main ( )

DESCRIPCIÓN:

Se encarga de los siguientes puntos:
El agente ( proceso padre) manda una señal al pastelero que tiene el ingrediente que a él le falta. Simulamos esta situación, generando un número aleatorio entre {0 ,1, 2} que se corresponde con dicho ingrediente. Utiliza la función generarIngrediente( ) . Esperará a que el pastelero le comunique que ha terminado el pastel.
Una vez que se han hecho los N pasteles del día, el agente se dispone a terminar el programa. Para hacerlo, necesita asegurarse de que al menos un pastelero haya hecho el pastel N ( poniendo una 'x' en la variable 'fin' ) . Si alguno de los tres procesos hijos no ha puesto su marca , se le manda una señal para que finalice ( con objeto de cerrar los semáforos cada proceso ) . Tras ello , el agente cierra todo.
Los pasteleros (procesos hijos) hacen lo indicado en su función (ver documentación de la función pastelero).

************************************************************************************************/

Volver al índice


RESULTADOS y COMENTARIOS:

Volver al índice


AUTORES:

FERNÁNDEZ MARTÍNEZ, ITZIAR

SASTRE BATICÓN, NOELIA

Volver al índice