Cel przedmiotu:
Wprowadzenie słuchaczy do zaawansowanych zagadnień systemów operacyjnych.
Ułatwienie rozumienia podstawowych zagadnień związanych z synchronizacją procesów współbieżnych, komunikacją między procesami, blokowaniem (zakleszczaniem) procesów. Wprowadzenie do systemów rozproszonych i sieci komputerowych
Uzupełnieniem wykładu są zajęcia laboratoryjne poświęcone pracy w systemie MS Windows NT.
Wymagane przygotowanie słuchaczy:
• w zakresie podstaw informatyki technicznej (cyfrowej reprezentacji informacji, podstaw arytmetyki komputerów, podstaw teorii układów logicznych: A. Skorupski, Podstawy budowy i działania komputerów, WK.L 1996),
• organizacji i architektury komputerów (P. Metzger, Anatomia PC, Helion 1996),
• wielodostępnych systemów operacyjnych 1 (wykłady i laboratorium na Wydz. Informatyki, WSISiZ)
Zaliczenie przedmiotu:
zaliczenie laboratorium (kolokwium), oraz egzamin z tematyki wykładów
Zakres tematyczny
Koordynacja procesów
Problem sekcji krytycznej. Rozwiązania programowe. Sprzętowe środki synchronizacji.
Semafory. Przykłady rozwiązali wybranych problemów synchronizacji: problem ograniczonego buforowania, problem czytelników i pisarzy, problem posilających się filozofów. Konstrukcje synclironizacji w językach wysokiego poziomu.
Komunikacja między procesami
Wprowadzenie - podstawowe schematy komunikacji.
Określenie nadawców i odbiorców. Komunikacja bezpośrednia. Komunikacja pośrednia.
Zagadnienia buforowania. Przykłady działań w sytuacjach wyjątkowych. Blokady (zakleszczenia) procesów.
Definicja blokady (zakleszczenia). Warunki konieczne wystąpienia blokady. Graf przydziału zasobów.
Zapobieganie wystąpieniu blokady - eliminacja jednego z warunków koniecznych.
Unikanie blokad. Pojęcie stanu bezpiecznego, stanu zagrożenia i blokady. Algorytm bankiera.
Wykrywanie blokad. Wychodzenie z blokady.
Wprowadzenie do systemów rozproszonych
Co to jest system rozproszony, zalety i wady systemów rozproszonych
Zagadnienia sprzętowe: wieloprocesory szynowe, wieloprocesory przełączane, multikomputery szynowe, multikoinputery przełączane.
Klasyfikacja systemów operacyjnych: systemy sieciowe, prawdziwe systemy rozproszone, systemy wieloprocesorowe z podziałem czasu
Wybrane pojęcia związane z projektowaniem: przezroczystość, elastyczność, niezawodność, wydajność, skalowalność.
Synchronizacja czasu w systemach rozproszonych. Algorytm Lamporta synclironizacji logicznej.