MIMINF:Systemy operacyjne
Z Studia Informatyczne
Wykład (30 godzin) + ćwiczenia (30 godzin) + laboratorium (30 godzin)
Opis
Podstawy projektowania i implementacji systemów operacyjnych. Architektura systemu operacyjnego, podział na moduły, funkcje modułów, algorytmy szeregowania stosowane w systemach operacyjnych, przydział procesora, zarządzanie pamięcią, systemy plików, rozproszone systemy operacyjne. Analiza (na podstawie źródeł) rzeczywistego systemu operacyjnego.
Sylabus
Autorzy
- Janina Mincer Daszkiewicz
Wymagania wstępne
- Wstęp do programowania
- Architektura komputerów i sieci
Zawartość
- Wprowadzenie: zadania systemu operacyjnego, historia systemów uniksopodobnych, historia i cechy systemu operacyjnego Linux
- Podstawowe zasady: metody strukturalizacji systemów operacyjnych, abstrakcje, procesy, zasoby, projektowanie interfejsu użytkownika, organizacja urządzeń, wsparcie sprzętowe dla systemów operacyjnych, przerwania, tryby pracy procesora
- Współbieżność w systemach operacyjnych: pojęcie współbieżnego wykonania, procesy i wątki, przełączanie kontekstu, synchronizacja procesów (semafory, monitory), obsługa przerwań, wieloprogramowość
- Procesy: funkcje systemowe do obsługi procesów, struktury danych do opisu procesów, zmiana stanu procesu
- Problematyka zastoju: warunki konieczne i dostateczne powstania zastoju, metody zapobiegania, unikania (algorytm bankiera) i wykrywania zastoju
- Szeregowanie procesów: szeregowanie z wywłaszczaniem i bez wywłaszczania, strategie szeregowania, porównanie cech strategii
- Zarządzanie pamięcią: techniki niewirtualne zarządzania pamięcią, pamięć wirtualna, stronicowanie i segmentacja, stronicowanie na żądanie, tablice stron, migotanie, algorytmy wymiany stron, obsługa przerwania braku strony, zasada pola roboczego, pamięci podręczne
- Zarządzanie urządzeniami: typy urządzeń (blokowe i znakowe), wirtualizacja urządzeń, tablice rozdzielcze urządzeń, DMA, strategie buforowania.
- Systemy plików: podstawowe pojęcia (dane, metadane, organizacja, buforowanie, dostęp sekwencyjny i bezpośredni), interfejs systemu plików, struktury danych systemu plików, techniki systemu plików (partycjonowanie, montowanie, wirtualizacja systemów plików), pliki odwzorowane do pamięci, pliki specjalne, niskopoziomowe aspekty systemów plików
- Bezpieczeństwo i ochrona: polityka i mechanizmy bezpieczeństwa, dostęp i autentykacja, modele ochrony, szyfrowanie.
- Systemy rozproszone: cechy systemów rozproszonych, topologia sieci, protokoły, model ISO/OSI
- Rozproszone systemy plików: problemy, przykłady: NFS, AFS, Coda
- Pamięć w systemach rozproszonych: aspekty sprzętowe i programowe organizacji pamięci wspólnej w systemach wieloprocesorowych i wielokomputerowych, modele zgodności pamięci
Literatura
- A. Silberschatz, P. Galvin, Podstawy systemów operacyjnych (wydanie trzecie, rozszerzone), WNT, 2000.
- G. Coulouris, J. Dollimore, T. Kindberg, Systemy rozproszone, podstawy i projektowanie, WNT, 1998.