Politechnika Poznańska Europejski System Transferu Punktów
Wydział Informatyki i Zarządzania Karta opisu przedmiotu
strona 1 z 1
Tytuł
Kod
Systemy operacyjne 1
101051122101051513
Kierunek
Rok / Semestr
Informatyka
1 / 2
Specjalność
Przedmiot
-
obowiązkowy
Godziny
Liczba punktów
Wykłady:
2
Ćwiczenia:
Laboratoria:
Projekty / seminaria:
5
Prowadzący:
Prof. dr hab. inż. J. Brzeziński
Instytut Informatyki, 60-965 Poznań, ul. Piotrowo 3A
tel. (0-61) 665-2366, fax: (0-61) 877 1525, e-mail: office_cs@put.poznan.pl
Wydział:
Wydział Informatyki i Zarządzania
ul.Strzelecka 11, 60-965 Poznań,tel.(061) 665 34 20
e-mail: office_dcsmf@put.poznan.pl
Miejsce przedmiotu w programie studiów:
Przedmiot obowiązkowy na kierunku Informatyka.
Cele:
Wykład przedstawia zagadnienia i problemy związane z programowaniem współbieżnym, synchronizacją i zarządzaniem procesami, definiuje zakleszczenie procesów i przedstawia w sposób teoretyczny dostępne mechanizmy synchronizacji. Laboratorium realizuje tematy przedstawiane na wykładzie w sposób praktyczny.
Opis przedmiotu:
Wykład wprowadza elementy programowania współbieżnego (grafy przepływu procesów, oraz notacje "and", ".fork-join-quit", "parbegin-parend"), przedstawia problem wzajemnego wykluczania i rozwiązania programowe (analizę przykładowych rozwiązań programowych, algorytm Dekkera, algorytm Dijkstry, algorytmy Petersona dla dwóch i n procesów, algorytm Lamporta). Definiowane są mechanizmy synchronizacji: sprzętowe (instrukcje test-and-set, aktywne czekanie, blokowanie systemu przerwań), systemowe (semafory binarne i ogólne, operacje lock i unlock, operacje enq i deq, operacja wait i post, operacje block i wakeup, liczniki zdarzeń), programowe (regiony krytyczne, warunkowe regiony krytyczne, monitory, implementacje programowych mechanizmów synchronizacji) i komunikacyjne (synchroniczne i asynchroniczne operacje wymiany komunikatów send i receive). Przedstawiane są zastosowania wybranych mechanizmów do rozwiązywania klasycznych problemów synchronizacji (wzajemnego wykluczania, problemu producenta-konsumenta, problemu czytelników-pisarzy, problemu pięciu filozofów). Omawiane jest zarządzanie procesami: pojęcie procesu, graf stanów procesów, problem szeregowania zadań w ujęciu probabilistycznym i deterministycznym (kryteria oceny uszeregowania), algorytmy szeregowania. Wprowadzana jest definicja zakleszczenia, warunki konieczne i dostateczne zakleszczenia, przeciwdziałanie zakleszczeniom (podejście zapobiegania, unikania oraz detekcji i likwidacji). Na laboratorium studenci implementują mechanizmy oferowane przez jądro systemu UNIX, ponadto konfrontują uzyskane w czasie wykładów wiadomości z praktyczną implementacją algorytmów i mechanizmów synchronizacji, zwracając uwagę na to by nie dopuścić do zakleszczenia lub zagłodzenia procesów.
Wymagane wiadomości:
Forma prowadzonych zajęć:
Wykład + laboratorium.
Metody oceny:
Sprawdziany pisemne.
Bibliografia:
1. Podstawy systemów operacyjnych, A. Silberschatz, J.L. Peterson, WNT, W-wa, 2000
2. System operacyjny Linux - przewodnik użytk., C. Sobaniec, Nakom, Poznań, 2002
3. Budowa systemu operacyjnego Unix, M. J. Bach, WNT, W-wa, 1995
4. UNIX użytkowanie i administrowanie, J. Marczyński, Helion, 1995
5. Programowanie w systemie Unix dla zaawansowanych, M. Rochkind, WNT, W-wa, 1993
6. Programowanie zastosowań sieciowych w systemie, R. Stevens, WNT, W-wa, 1995
7. Przetwarzanie rozproszone w systemie Unix, M. Gabassi, B. Dupouy, Lupus, W-wa, 1995
teemonek