Programowanie współbieżne

II rok informatyki studia dzienne, studia II-giego stopnia

rok akademicki 2006/2007 semestr zimowy



Zasady zaliczania programów, oceniania oraz inne pomocne informacje:

1. Co będziecie Państwo robić w semestrze ?

Same ciekawe rzeczy. Na początku dobra wiadomość: zadania będziecie Państwo wykonywać w grupach dwuosobowych.
Na początku przećwiczycie Państwo mechanizmy systemowe, umożliwiające tworzenie oraz zarządzanie procesami oraz umożliwiające komunikację pomiędzy różnymi procesami oraz hostami.

A następnie będziecie Państwo tworzyć aplikacje działające współbieżnie przy użyciu mechanizmów systemowych. Zadania są pretekstem - by Państwo mogli się wykazać znajomością mechanizmów systemowych.

Zadania możecie Państwo przygotować na dowolny system operacyjny (pod warunkiem, że będzie to Windows lub taka dystrybucja Linux'a, na której będziecie mogli zademonstrować działające zadania).

Na zrealizowanie zadania macie Państwo cały semestr.

Oto zadania, które będziecie Państwo realizować w semestrze:

Zadania wykonujecie Państwo przez cały semestr. Z kolejnych etapów rozliczacie się w terminach podanych na zajęciach.

Oto plan pracy na semestr:
Zajęcia 1. Zajęcia organizacyjne. Wprowadzenie w zagadnienia, omówienie literatury, sposobów oceniania etc. Szkolenie BHP.  
Zajęcia 2. Programowanie w środowisku Linux. Kompilator gcc. Pierwsze programy. Program a proces. Rodzaje procesów. Komendy shella: ps oraz kill.  
Zajęcia 3. Procedura systemowa fork(). Sprawdzenie zadania z procesów.
Zajęcia 4. Procedury systemowe exec(). Sprawdzenie zadania z sygnałów.
Zajęcia 5. Obsługa plików. Sprawdzenie zadania z procesów i z wywołania innego procesu
(fork() i exec() ).
Zajęcia 6. Potoki nazwane i nienazwane. Działanie i obsługa. Sprawdzenie zadania z plików.
Zajęcia 7. Obsługa sygnałów. Sprawdzenie zadań z potoków nienazwanych i nazwanych.
Zajęcia 8. Kolejki komunikatów - wprowadzenie w mechanizmy IPC, schemat działania oraz funkcje systemowe do obsługi. Sprawdzenie zadań z sygnałów.
Zajęcia 9. Semafory - schemat działania, rodzaje oraz funkcje systemowe do obsługi. Sprawdzenie zadania z kolejki komunikatów.
Zajęcia 10. Pamięć wspólna - schemat działania oraz funkcje systemowe do obsługi pamięci. Sprawdzenie zadania z semaforów.
Zajęcia 11. Gniazda - protokół TCP, działanie i funkcje systemowe. Sprawdzenie zadania z pamięci wspólnej.
Zajęcia 12. Realizowanie wybranego zadania (samodzielnie) Sprawdzenie zadania z gniazd.
Zajęcia 13.  
Zajęcia 14. Omówienie zastosowanych mechanizmów, ocena zadania.  
Zajęcia 15. Oceny końcowe.  

Pomocne materiały:


 


prof. J. Sadecki
mgr inż. A.Zatwarnicka