Podstawy systemów operacyjnych 1000-ZiPSOP
• Ewolucja oraz instalacja systemów operacyjnych:
System komputerowy. System operacyjny. Rozwój systemów operacyjnych. Przykłady systemów operacyjnych. Instalacja systemów operacyjnych: Linux, Windows.
• Struktura systemów operacyjnych:
Składowe i usługi systemów operacyjnych. Funkcje i programy systemowe. Architektury systemów. Mechanizmy wirtualizacji. Jądro systemu. Struktura kodu źródłowego. Moduły jądra. Generowanie systemu Linux. Start systemu Linux.
• Procesy:
Koncepcja procesu. Blok kontrolny procesu. Planowanie procesów. Działania na procesach. Synchronizowanie procesów. Sekcja krytyczna. Komunikacja międzyprocesowa. Komunikacja klient-serwer. Koncepcja wątku.
• Impas:
Problem impasu. Charakterystyka impasu. Metody postępowania z impasem. Zapobieganie impasom. Unikanie impasu. Algorytm bezpieczeństwa (bankiera). Algorytm wykrywania impasów. Likwidowanie impasów.
• Planowanie przydziału procesora:
Kryteria planowania. Algorytmy planowania: FCFS, HRRN, SJF, SRTF, RR. Planowanie wieloprocesorowe i w czasie rzeczywistym. Ocena algorytmów planowania.
• Zarządzanie pamięcią:
Logiczna i fizyczna przestrzeń adresowa. Wymiana. Przydział ciągły. Fragmentacja. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.
• Pamięć wirtualna:
Stronicowanie na żądanie. Algorytmy zastępowania stron: FIFO, OPT, LRU CLOCK. Anomalia Belady'ego. Przydział ramek. Szamotanie. Przydział pamięci jądra.
• Systemy plików:
Organizacja plików. Metody dostępu. Struktura katalogowa. Prawa dostępu. Grupowanie rekordów. Alokacja plików. Zarządzanie plikami w systemach Unix i Windows. Sieciowe systemy plików: NFS, Samba.
• Systemy wejścia-wyjścia:
Sprzęt wejścia-wyjścia. Odpytywanie. Przerwania wejścia-wyjścia. Bezpośredni dostęp do pamięci (DMA). Użytkowy interfejs wejścia-wyjścia. Planowanie wejścia-wyjścia dla dysków. Algorytmy planowania dysków: LIFO, SSTF, SCAN, LOOK. Buforowanie. Podsystem wejścia-wyjścia w jądrze. Systemy wydruku i grafiki.
Dla ww. tematów, w szczególności dot. zarządzania pamięcią, procesami, pamięcią wirtualną, systemów plików, omawiane będą również odniesienia do współczesnych systemów operacyjnych.
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne eksponujące
Metody dydaktyczne podające
Metody dydaktyczne poszukujące
- projektu
- referatu
Wymagania wstępne
Koordynatorzy przedmiotu
Kryteria oceniania
Wykład – egzamin pisemny.
Laboratorium – zaliczenie na ocenę na podstawie kolokwium oraz przygotowanego referatu lub projektu.
Literatura
Literatura podstawowa:
1. A. Silberschatz, P.B. Gavin, G. Gagne - Podstawy systemów operacyjnych, WNT, 2005, 2006 (tł. 6th ed.).
2. W. Stallings - Systemy operacyjne, Robomatic, 2004; PWN, 2006 (tł. 5th ed.).
3. W. Stallings - Operating Systems. Internals and Design Principles, 7th ed., Pearson, 2012.
4. A. Silberschatz et al. – Operating System Concepts, 8th ed., Wiley, 2010.
5. A. S. Tanenbaum – Systemy operacyjne, Helion, 2010.
Literatura uzupełniająca:
1. B. Goodheart, J. Cox, Sekrety magicznego ogrodu. UNIX® System V Wersja 4 od środka. WNT, Warszawa 2001.
2. A. S. Tanenbaum, H. Bos – Modern Operating Systems, Pearson, 2015.
3. D. E. Comer - Sieci komputerowe i intersieci, wyd. 5, Helion, Warszawa, 2012.
4. D. E. Comer - Sieci komputerowe TCP/IP t 1-2, WNT, Warszawa, 1998.
5. N. Matthew, R. Stones, Linux. Programowanie, RM, 1999.
6. U. Vahalia - Jądro systemu UNIX. Nowe horyzonty, WNT, 2001.
7. W. R. Stevens, UNIX programowanie usług sieciowych, WNT, 2001.
8. W. R. Stevens, Programowanie w środowisku systemu UNIX, WNT, 2002.
9. R. Lowe, Jądro Linuksa. Przewodnik programisty, Helion, 2014.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: