Laboratorium 7
==============
Semafory Unixowe
----------------
Literatura:
  * Rochkind
  * Projekt Linux
  * man do poszczegolnych funkcji z sem.h 


Omawiamy funkcje: semget, semop, semctl.

Nalezy zwrocic uwage, ze stosowane powszechnie okreslenie ,,zbior semaforow''
(ang. set of semaphores) jest nieodpowiednie -- lepiej: zestaw semaforow.


Przyklady programow korzystajacych z semaforow
----------------------------------------------

1. Kompilacja: wywolaj program `make'

2. Uzytkowanie: uruchamianie programow

3. Pliki:

err.c, err.h
	Obsluga bledow.

semun.h 
        Definicja unii semun, jesli system nie dostarcza tej definicji.
 
simple_sem.h, simple_sem.c
	Biblioteka oferujaca klasyczne operacje P i V na semaforach.
	Zostanie wykorzystana na zajeciach dotyczacych pamieci dzielonej.

semget.c
	Program tworzy zestawy semaforow.

semop.c
        Program wykonuje zwykle operacje na semaforach, a wiec przechodzenie
	pod semaforem, podnoszenie semafora, etc.

semctl.c
	Program wykonuje operacje "administracyjne" na semaforach.

4. Uwaga. 
   Do najnowszych wersji systemu Linux wprowadzono zmiany 
   dotyczace unii semun. W poprzednich wersjach unia ta byla definiowana
   w pliku sys/sem.h. W nowszych wersjach te unie trzeba zdefiniowac samemu. 
   W niektorych wersjach (na przyklad na komputerach w labie) wywolujac 
   funkcje systemowa semctl mozna teraz pominac trzeci
   argument, jesli jest on niepotrzebny. Powoduje to jednak, ze 
   program nie da sie skompilowac w starszych systemach, dlatego 
   unikamy tego w programach przykladowych.
