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.