Systemy operacyjne (zaawansowane)

Język wykładowy Polski
Semestr Zimowy
Status Wycofana z oferty
Opiekun Krystian Bacławski
Liczba godzin 30 (wyk.) 24 (ćw.) 6 (prac.)
Rodzaj Informatyczny 1
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Grupy efektów kształcenia Systemy operacyjne

Opis przedmiotu:

Na wykładzie skupimy się na poznawaniu funkcji jądra systemu operacyjnego udostępnianych programiście systemowemu. Oprócz tematów wspólnych dla większości SO będziemy zapoznawać się z rozwiązaniami dostępnymi w systemach uniksowych i uniksopodobnych (Linux, FreeBSD, NetBSD, MacOSX, QNX, MINIX3). #### Wprowadzenie [4h] * Jądro, system operacyjny, dystrybucja. * Rodzaje systemów operacyjnych (wbudowane, czasu rzeczywistego, rozproszone). * Najważniejsze osiągnięcia w dziedzinie systemów operacyjnych. * Wywołania systemowe i komunikacja programów z jądrem. * Architektura jądra systemu operacyjnego (jądra monolityczne, mikrojądra, exokernel). #### Procesy i wątki [8h] * Przestrzeń adresowa procesu. * Zarządzanie procesami i wątkami. * Hierarchia procesów. * Planowanie zadań. * Synchronizacja (wyłączanie przerwań, blokady, zmienne warunkowe). * Komunikacja (potoki, gniazda, skrzynki pocztowe) * Programowanie współbieżne (logika temporalna). #### Pamięć [8h] * Zarządzanie pamięcią fizyczną (system bliźniaków). * Listowy algorytm przydziału. * Pule obiektów. * Pamięć wirtualna. * Zarządzanie przestrzenią wirtualną. * Stronicowanie na żądanie, buforowanie stron. * Algorytmy wymiany stron. * Ładowanie programów, biblioteki współdzielone. * Wersjonowanie przestrzeni adresowych (vm_object). #### Pliki, systemy plików [6h] * Operacje na plikach i katalogach. * Hierarchia plików, punkty montażowe. * Uprawnienia plików. * Wirtualny system plików (VFS). * Zarządzanie przestrzenią dyskową. * Organizacja systemów plików (i-węzły, katalogi). * Migawki, dziennikowanie, kopie zapasowe. #### Tematy dodatkowe [4h] * Sterowniki – zasoby, urządzenia, szyny, proces wykrywania urządzeń. * Zegar systemowy i zarządzanie czasem. * Proces ładowania systemu operacyjnego. * Autoryzacja i uwierzytelnianie (PAM). * Zapobieganie cyberatakom. * Maszyny wirtualne.