Systemy operacyjne - pracownia specjalistyczna


Plan zajęć – propozycja


rok akademicki 2007/2008 – semestr letni



1. Wprowadzenie do narzędzi programisty (głównie make i gcc)

2. Demonstracja API funkcji systemowych Linuksa - kopiowanie plików.

3. Projekt I (API funkcji systemowych) wybór tematów - przykładowe tematy projektu

4. Realizacja projektu I

5. Realizacja projektu I + [wI]

6. Realizacja projektu I + [wIIa]

7. Programowanie przy pomocy POSIX threads (właściwości wątków, operacje create join, zmienne volatile).

8. Problem pięciu filozofów. + Wydanie Projektu nr II

9. Problem pięciu filozofów c.d. + Odbiór projektu nr I

10. Projekt II

11. Projekt II + [wIIa]

12. Projekt II

13. Projekt II + [wIIb]

14. Projekt II

15. Odbiór projektu nr II + zaliczenie


Założenia odnośnie wiedzy studentów:
- znajomość języka programowania C
- znajomość systemu Linux (na poziomie użytkownika - podstawowe polecenia i posługiwanie się powłoką)

Projekt I - program wykorzystujący interfejs wywołań systemowych systemu Linux

Zakres wejściówek wIa oraz wIb:
tworzenie procesów (fork/exec*/wait*), zmienna errno, interfejs systemu plików (read/write/open/mmap/close), generowanie logow (openlog/syslog). potoki i przekierowanie wyjścia lub wejścia procesu potomnego (dup2/pipe), sygnały zgodne ze standardem POSIX (sigaction/sigprocmask/pause/alarm/kill + operacja na zbiorach sygnałów).
O podziale materiału pomiędzy wejściówki decyduje prowadzący


Projekt II
- programowanie wątków współbieżnych przy pomocy POSIX threads.

Punktacja: wIa+wIb: 16 punktów, Projekt I: 34 punktów, wIIa+wIIb: 16 punktów, Projekt II: 34 punktów


Opracował: Wojciech Kwedlo