SYSTEMY OPERACYJNE
M E N U
Ogłoszenia Plan_laboratoriów Laboratorium_1 Laboratorium_2 Laboratorium_3 Laboratorium_4 Laboratorium_5 Laboratorium_6 Kol_1_fin_03_04 Kol_1_imn_03_04 Kol_konkurs1 Giełda_zadań Laboratorium_8 Laboratorium_9 Laboratorium_10 LinkiLaboratorium_9
Ostatnia aktualizacja: 2005-04-20 10:04:45pipe: pipe(2), read(2), write(2), close(2), fork(2), przykład: komunikacja.c, (liczby pseudolosowe) fifo: mkfifo(1), open(2), read(2), write(2), close(2), przykład można znaleźć w książce
Zadania:
Napisać program grający ze swoim procesem potomnym w kółko i krzyżyk na planszy o rozmiarze 3x3. Procesy mogą wykonywać ruchy w sposób losowy. Proszę wypisać na ekranie informacje umożliwiające prześledzenie jaki proces wykonał ruch i gdzie, oraz końcową planszę z grą (wykorzystaj pipe).
1.
Napisać program, który tworzy trzy procesy, z których dwa zapisują do potoku, a jeden odczytuje z niego i drukuje na ekran otrzymane komunikaty (wykorzystaj pipe).
2.
Napisać program tworzący dwa procesy: klienta i serwera. Serwer tworzy ogólnodostępną kolejkę FIFO i czeka na zgłoszenia klientów. Klient przesyła nazwę tworzonej przez niego kolejki, a serwer wysyła przez tą kolejkę wynik polecenia ls.
3.
Napisać program tworzący pierścień procesów połączonych za pomocą kolejki FIFO. Liczbę procesów kolejki podaje użytkownik. Jeden z procesów ma zainicjować wysyłanie komunikatu podanego przez użytkownika, a pozostałe odczytać go, wydrukować na ekran i podać dalej. 4.
Literatura:
manual np: man 2 pipe 1.
książka np: Neil Matthew, Richard Stones, Linux Programowanie, Wyd. RM, W-wa 1999 2.