Utilizando el lenguaje C para programar en un entorno Linux, los requisitos de la pregunta son los siguientes
nt S=1; //S indica si el plato está vacío;
int Sa=0; //Sa indica si hay manzanas en el plato;
int Sb=0; //Sb indica si hay naranjas en el plato;
Padre
while(TRUE)
{
Espera (S);
Pone la fruta en el plato
si (
Se ponen naranjas
)
Señal(Sb);
Else
Señal(Sa);
}
Hijo p>
mientras(TRUE)
{
Espera(Sb);
Saca las naranjas del plato;
Señal(S);
Comiendo naranjas
}
Hija
mientras(VERDADERO)
{
Espera(Sa);
Retira la manzana del plato;
Señal(S);
Come la manzana p>
}