Laboratorium 6 
==============
Komunikacja procesow 
-----------------------------------------------------------------
Lektura podstawowa: info

Lektura uzupelniajaca: info

1. Kompilacja: wywolaj program `make'
2. Uzytkowanie: uruchamianie programow
3. Pliki:

   err.h
        Plik naglowkowy biblioteki obslugujacej bledy.

   err.c
        Biblioteka obslugujaca bledy.

   named_pipe.c 

        Tworzy lacze nazwane o nazwie podanej w parametrze wywolania,
        a nastepnie czeka az ktos sie do niego podlaczy. Nastepnie
        wypisuje na ekran po kolei to, co trafia do lacza. Wazne
        funkcje systemowe: 
           mkfifo - tworzy lacze nazwane 
           read - odczytuje z lacza/pliku 
           close - zamykalacze/plik 
           unlink - usuwa lacze/plik

        Uruchom program z nazwa, a nastepnie na innej konsoli zlec
        pisanie do pliku o podanej przez siebie nazwie (np. cat >
        nazwa). Zwroc uwage na umiejscowienie funkcji unlink, sprawdĵ,
        za pomoca ls, czy plik rzeczywiscie pojawil sie i zniknal.
	Pytanie: co sie stanie, gdy zwiekszyc BUF_SIZE i przesylac
        duze ilosci danych?

   select-use.c
        Wywolanie: select-use
        Tworzy 5 nowych procesow, z ktorymi polaczony jest za pomoca
        laczy nienazwanych. Procesy potomne odczekuja losowa ilosc
        czasu i wpisuja do lacza swoj pid. Proces macierzysty odbiera
        pid w petli czekajac za pomoca select. Warto zwrocic uwage na
        to, ze w tym programie niektore deskryptory sa preferowane
        przy odczycie - rada na takie preferowanie jest wprowadzenie
        ,,karuzeli'' uzywania deskryptorow. Warto tez zwrocic uwage na
        fakt, ze wartosc maksymalnego deskryptora w zbiorze do select
        jest niepoprawnie zaimplementowana.
	funkcje:
          select
          FD_ZERO
          FD_SET
          FD_ISSET
	  FD_CLR
