Tentamenopgave “Co-operating Sequential Processes”

Vier personen nemen af en toe een bad. (Dit “af en toe” komt tot uiting doordat “baden” voorkomt in vier cyclische processen, die met onbekende snelheid doorlopen worden.)

Verzorg een synchronisatie die garandeert dat:

1.   Op elk moment ten hoogste 1 persoon baadt,

2.   Op elke 7 achtereenvolgende kalenderdagen in totaal ten hoogste 5 maal iemand in bad gaat. (N.B.: ’s nachts om twaalf uur in bad zitten is niet verboden).

Hint. Voer hiervoor een vijfde proces in, genaamd “kalender”.
Geef bovendien een overtuigende motivering van de oplossing.

 

22 mei 1968.
Prof.dr. E.W. Dijkstra.