Úkol ze semináře č. 9 Vytvořte čtecí a zapisovací programy, které komunikují pomocí sdílené paměti. Pro zajištění konzistence zajistěte vzájemné vyloučení přístupu do sdílené paměti pomocí semaforu nebo mutexu (preferováno). Pro implementaci čekání čtecího programu využijte synchronizační objekt typu Event. Například implementuje 3 programy: 1) první program jen inicializuje semafor/mutex, sdílenou paměť a pak jen čeká (aby existovaly sdílené objekty). paměť může být organizována jako následující struktura: int current, maximum; int array[10]; 2) zapisovací program získá výlučný přístup ke sdílné paměti, zjisti, zda je ve sdíleném poli ještě volné místo a pokud je, zapíše další záznam a zvýší počet přítomných záznamů o jedničku. Pak uvolňuje přístup ke sdílené paměti a pomoci objektu Event budí čtecí proces. 3) čtecí program čeká na signalizaci pomocí objektu Event, podívá se do sdílené paměti (nejprve získá výlučný přístup) a vypíše všechny položky a pak je smaže. Nakonec uvolní přístup ke sdílené paměti.