Treść wykładu

  1. Wprowadzenie (4 h)
  2. Zadania i własciwości systemów operacyjnych. Struktury systemów komputerowych i systemów operacyjnych. Jądro systemu: struktura i funkcje. Przegląd współczesnych systemów operacyjnych.
  3. Zarządzanie procesami (10)
  4. Proces i jego atrybuty. Sygnały i wyjątki oraz ich obsługa. Realizacja współbieżności procesów, szeregowanie, wywłaszczanie. Synchronizacja procesów i mechanizmy realizacji. Komunikacja między procesami. Problem zakleszczania procesów (blokad). Lekkie procesy, wątki.
  5. Zarządzanie pamięcią (4)
  6. Organizacja i adresowanie pamięci. Pamięć niepodzielna, dzielona statycznie, dynamicznie, pamięć wirtualna. Algorytmy przydziału pamięci.
  7. Zarządzanie plikami i systemem wejścia/wyjścia (4)
  8. Plik, organizacja systemu plików. Operacje na systemie plików. Dostęp i ochrona plików,  tryby dostępu do plików. Urządzenia znakowe i blokowe; tryby dostępu. Programy obsługi urządzeń wejścia wyjścia (I/O drivers).
  9. Komunikacja sieciowa (3)
  10. Wprowadzenie do modelu komunikacji OSI i modelu współpracy klient-serwer. Realizacja  mechanizmu gniazdek (ang. sockets) w wybranych systemach operacyjnych.
  11. Systemy rozproszone i czasu rzeczywistego (2)
  12. Rozproszony system plików: Sun NFS. Zdalne wywołanie procedur: Sun RPC. Problemy i mechanizmy realizacji procesów z  ograniczeniami czasowymi:  szeregowanie procesów, rezerwacja pamięci, asynchroniczna komunikacja wejścia/wyjścia, komunikacja międzyprocesowa.
  13. Ochrona zasobów (1)
  14. Kontrola wiarygodnosci użytkowników i praw dostępu do zasobów. Mechanizmy ochrony.