Posty

Wyświetlam posty z etykietą procesy

[ANSI C][LINUX] Semafory: wzajemne wykluczanie sie procesow

Przy pomocy semaforow systemu UNIX zaimplementowac zadanie wzajemnego wykluczania dla procesow. Czas operacji na wspolnym zasobie symulowac uzywajac np. funkcji sleep. Dla demonstracji poprawnosci dzialania programu uzyc odpowiednich komunikatow wypisywanych przez poszczegolne procesy przed, w trakcie i po sekcji krytycznej oraz funkcji podajacych stan semafora i liczbe procesow pod nim czekajacych. Pamietac o zainicjowaniu semafora odpowiednia wartoscia zaraz po jego utworzeniu. Stworzyc wlasna biblioteke prostych w uzyciu funkcji do: tworzenia, uzyskiwania dostepu, inicjowania, sterowania, operowania i usuwania semaforow (korzystajacych z odpowiednich funkcji systemowych, ale ukrywajacych ich szczegoly techniczne). Napisac specjalny program do powielania procesow realizujacych wzajemne wykluczanie – w oparciu o funkcje fork i exec (nazwe programu do inicjowania procesow oraz liczbe procesow mozna przekazywa´c przez argumenty programu ,,powielacza”). Program ten powinien na poczatku u...

[ANSI C][LINUX] Wysyłanie i obsługa sygnałów

Napisać program do obsługi sygnałów z możliwościami: Wykonania operacji domyślnej Ignorowania Przechwycenia i własnej obsługi sygnału Numer sygnału i opcja obsługi może być np. podana za pomocą argumentów wywołania programu. Uruchomić program i przetestować, wysłając do niego sygnał przy pomocy sekwencji klawiszy lub polecenia kill. Napisać program, który: Uruchomi powyższy program przy pomocy exec() i z procesu macieżystego wyśle do procesu potomnego sygnał przy pomocy funkcji kill() Uruchomi grupę kilku procesów i wyśle sygnały do całej grupy procesów klik:

[ANSI C][LINUX] Uruchamianie Programów: exec

Zmodyfikować poprzedni program tak, aby komunikaty procesów potomnych były wypisywane przez program uruchamiany przez funkcję exec . klik:

[ANSI C][LINUX] Procesy Potomne: fork

Napisać program wypisujący identyfikatory UID, GID, PID, PPID i PGID dla danego procesu. Wywołać funkcję fork 3 razy (np. w pętli) i wypisać powyższe identyfikatory dla wszystkich procesów potomnych. Wstawić funkcję sleep tak, aby procesy pojawiały się na ekranie grupowane pokoleniami od najstarszego do najmłodszego. Na podstawie wyników programów narysować "drzewo genealogiczne" tworzonych procesów (z zaznaczonymi identyfikatorami). BARDZO PROSZĘ O KOPIOWANIE Z GŁOWĄ, JEŚLI JUŻ KTOŚ MUSI(ALE RADZĘ PISAĆ SAMEMU), BO ZA PLAGIATY NA UJ WYWALAJĄ Z KURSU I A JAK OPIEKUN SIEZIRYTUJE TO I ZE STUDIÓW :)