Kod materiałów so_l_09
1. Uruchomić system Unix
2. Napisać program, który w procesie potomnym zabezpieczonym przed przerwaniami z poziomu terminala będzie wyświetlał na terminalu podawanym w procesie macierzystym, co minutę napis „minęła 1 minuta”.
3. Napisz program, który stworzy "drzewko procesów", takie jak na następującym rysunku (obok procesów podane jest ile czasu mają "spać"; procesy macierzyste czekają na procesy potomne; wszystkie procesy powinny wyświetlać napisy informujące o swoich poczynaniach numerach PID i numerach PID rodziców.
13 sekund
©
4. Napisać program, który uruchomi proces potomny. Proces potomny ma oczekiwać na dwie liczby podane z procesu macierzystego poczym obliczy ich sumę a wynik wyśle do procesu macierzystego. Komunikacje między procesami zorganizować przez filesystem /proc.
5. Napisać z wykorzystaniem mechanizmu semaforów program w układzie klient serwer umożliwiający grę w kółko i krzyżyk
6. Przy pomocy semaforów systemu UNIX zaimplementować zadanie wzajemnego wykluczania dla procesów. Czas operacji na wspólnym zasobie symulować używając np. funkcji sleep. Dla demonstracji poprawności działania programu użyć odpowiednich komunikatów wypisywanych przez poszczególne procesy przed, w trakcie i po sekcji krytycznej oraz funkcji podających stan semafora i liczbę procesów pod nim czekających.
7. Trzy procesy wypisujące odpowiednio literki A. B. C. z tym. że
• AB musi wystąpić zanim pojawi się C
• B i C musza się pojawiać na przemian
• Suma całkowita wyprowadzonych B i C nie może przekroczyć liczby wystąpień A, licząc od początku pracy programu)
Po wykonaniu punktu 2-6 zgłosić je prowadzącemu do oceny