b.Comunic.intre
Rezulatele programului sunt acelea?i, indiferent de ordinea оn care procesele о?i executг apelurile sistem respective. Adicг nu este nici o diferenюг, dacг pгrintele se оntoarce din fork оnaintea fiului sau dupг el. Similar, nu este nici o diferenюг faюг de ordinea relativг оn care procesele о?i esxecutг apelurile sistem pвnг cвnd acestea intrг оn ciclu: structurile nucleului sunt identice. Dacг procesul fiu executг apelul sistem read оnainte ca procesul pгrinte sг facг write, procesul fiu va intra оn a?teptare pвnг cвnd procesul pгrinte scrie pipe-ul ?i este trezit. Dacг procesul pгrinte scrie pipe-ul оnainte ca procesul fiu sг citeascг pipe-ul, pгrintele nu va citi de la intrarea sa standard pвnг cвnd fiul nu de la cite?te intrarea sa standard ?i nu scrie la ie?irea sa standard. Din acest motiv, ordinea de execuюie este fixatг: fiecare proces terminг un apel sistem read ?i write ?i nu poate termina urmгtorul apel sistem read pвnг cвnd celгlalt proces nu terminг un apel sistem read ?i write.
Pгrintele face exit dupг cele 15 iteraюii aflate оn ciclu; apoi fiul cite?te "sfвr?it de fi?ier" (EOF), deoarece pipe-ul nu are procese care sг scrie, ?i terminг.