Prosta baza danych (realizacja za pomoca semaforow i pamieci dzielonej) ----------------------------------------------------------------------- 1. Kompilacja: wywolaj program `make' 2. Uzytkowanie: a) ustalic wartosc zmiennej srodowiskowej DBMSKEY np. export DBMSKEY=1234 b) uruchomic serwer bazy danych (`dbms') c) uruchomic klienta bazy danych (`client') Oba programy mozna uruchomic na dwoch sesjach. Nalezy pamietac by na obu wartosc zmiennej DBMSKEY byla jednakowa; w przeciwnym wypadku procesy nie skomunikuja sie. 3. Pliki: err.c, err.h Obsluga bledow. simple_sem.h, simple_sem.c Prosta obsluga operacji semaforowych (por. 4_sem). mssg.h Plik naglowkowy biblioteki implementujacej komunikacje na poziomie strumienia bajtow. mssg_shm.c Biblioteka implementujaca za pomoca semaforow i pamieci dzielonej funkcje zadeklarowane w `mssg.h'. db.h Plik naglowkowy z definicjami potrzebnymi bazie danych. db_lib.h Plik naglowkowy biblioteki implementujacej dostep klientow do bazy danych. db_lib.c Biblioteka implementujaca funkcje zadeklarowane w `db_lib.h'; korzysta z funkcji zdefiniowanych w `mssg.h' client.c Program klienta; korzysta z funkcji zdefiniowanych w `db_lib.h'. dbms.c Program serwera bazy danych. Korzysta z funkcji zadeklarowanych w `mssg.h'. 4. Uwagi: a) To znow jest modyfikacja przykladu bazodanowego. Tym razem za mechanizm komunikacji sluzy pamiec dzielona, do ktorej dostep jest synchronizowany semaforami.