======= Wykład: systemy operacyjne 2026/27 ======= * Pierwsza część wykładu (tematy 1–7, M. Grochowski) \\ Slajdy: {{zajecia:so_2026_2:so.pdf|so.pdf}} (8 MB) * Druga część wykładu (P. Ablewski) \\ Slajdy: {{https://piotra-kis.cloud.ablewski.pl/files/SOPER/SOPER.pdf|SOPER.pdf}} (wersja z 2025 roku) //Uwaga: slajdy są aktualizowane na bieżąco w miarę postępów wykładu. \\ Data ostatniej modyfikacji znajduje się na slajdzie tytułowym.// ----- - {{zajecia:so_2026_2:so01-wprowadzenie.pdf|Wprowadzenie}} * Elementy systemu komputerowego * Systemy operacyjne i ich zadania * Historia i rozwój komputerów i systemów operacyjnych - {{zajecia:so_2026_2:so02-architektura-komputerow.pdf|Architektura komputerów }} * Architektura i działanie procesora * Rodzaje i hierarchia pamięci * Magistrale i urządzenia peryferyjne - {{zajecia:so_2026_2:so03-dzialanie-systemu-komp.pdf|Działanie systemu komputerowego}} * Monitor prosty, buforowanie, spooling * Wieloprogramowość i podział czasu * Systemy rozproszone, systemy czasu rzeczywistego - {{zajecia:so_2026_2:so04-przerwania.pdf|Przerwania}} * Systemy z obsługą przerwań * Struktura wejścia-wyjścia * Dualny tryb pracy * Funkcje systemowe - {{zajecia:so_2026_2:so05-procesy.pdf|Procesy}} * Model procesu i jego implementacja * Stany procesów * Zarządzanie procesami * Wątki poziomu użytkownika, wątki jądra, procesy lekkie * Zadania w Linuksie * Wywłaszczenie - {{zajecia:so_2026_2:so06-zarzadzanie-procesami.pdf|Zarządzanie procesami}} * Algorytmy planowania procesora * Polityki planowania * Planista CFS - {{zajecia:so_2026_2:so07-synchronizacja-procesow.pdf|Synchronizacja procesów}} * Komunikacja międzyprocesowa (IPC) * Sekcje krytyczne i wyścigi * Wzajemne wyłączanie z aktywnym czekaniem * Semafory, muteksy, monitory * Zakleszczenia * Klasyczne problemy synchronizacji (producent-konsument, czytelnik-pisarz, filozofowie) - Zarządzanie pamięcią * Wymiana pamięci i stronicowanie * Pamięć wirtualna i segmentacja pamięci * Algorytmy wymiany stron * Zarządzanie pamięcią w systemach GNU/Linux i Windows - Zarządzanie przestrzenią dyskową * Fizyczna organizacja dysków i interfejsy dyskowe * Macierze dyskowe (RAID) * Systemy plików * Zarządzanie logicznymi wolumenami - Wirtualizacja i konteneryzacja * Maszyny wirtualne * Wirtualizacja pełna i parawirtualizacja * Kontenery i ich zastosowania - Struktura systemów operacyjnych * Systemy monolityczne, warstwowe i hybrydowe * Współdzielenie systemów operacyjnych * Ładowanie systemu operacyjnego - Przykłady systemów operacyjnych * Windows * Unix, GNU/Linux * macOS * {{zajecia:so_2026_2:so-slownik.pdf|Słownik skrótów}} ----- ===== Literatura ===== * A. S. Tanenbaum, H. Bos. //Systemy operacyjne.// Wydawnictwo Helion, 2015. \\ * W. Stallings. //Systemy operacyjne. Architektura, funkcjonowanie i projektowanie.// Wydanie IX. Wydawnictwo Helion, 2018. * A. Silberschatz, P. B. Galvin, G. Gagne. //Podstawy systemów operacyjnych.// Tomy 1–2. Wydawnictwo Naukowe PWN, Warszawa, 2021. * L. Null, J. Lobur, //The Essentials of Computer Organization and Architecture//, {{https://junyours.files.wordpress.com/2012/07/computer-organization-and-architecture.pdf|PDF}} * A. S. Tanenbaum, A. S. Woodhull. //Operating Systems: Design and Implementation.// {{https://os.ecci.ucr.ac.cr/slides/Andrew-S.-Tanenbaum-OperatingSystems-Design-and-Implementation.pdf|PDF}} * A. S. Tanenbaum, //Modern Operating Systems//, {{https://linux.harshkapadia.me/files/books/tanenbaum-modern-operating-systems-4th-edition.pdf|PDF}} * R. Love. Linux kernel. //Przewodnik programisty.// Wydawnictwo Helion, Gliwice, 2004. ----- ===== Warunki zaliczenia ===== * Zaliczenie laboratorium * Zdanie egzaminu * Zakres materiału i kryteria oceny określa [[https://usosweb.umk.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&kod=0800-SOPER|sylabus przedmiotu w USOS]] * Przykładowa treść egzaminu: {{zajecia:so:so-egzamin-1-2025.02.06.pdf|Egzamin Systemy Operacyjne 2025.02.06}} ----- ===== Materiały uzupełniające ===== Zbiór linków poszerzających wiedzę z wykładu. - [[historia|Historia komputerów i systemów operacyjnych]] * [[wp>History_of_computing_hardware]] * [[wp>Timeline_of_operating_systems]] * [[wp>History_of_Unix]] * {{http://fizyka.umk.pl/~jkob/_downloads/8800d324a75dfe1730f8fa8457c6d67e/linux30.pdf|}} Wykład Jacka Kobusa z okazji 30-lecia Linuksa - [[architektura|Architektura i działanie procesora. Architektura współczesnych komputerów]] - [[zadania|Jak system komputerowy wykonuje programy?]] - [[przerwania|Przerwania]] - [[procesy|Procesy i wątki]] - [[planista|Zarządzanie procesami. Planista]] - [[ipc|Komunikacja międzyprocesowa i synchronizacja]] - Zarządzanie pamięcią - Zarządzanie przestrzenią dyskową - Struktura systemów operacyjnych - Przykłady systemów operacyjnych