Budowa Systemu Operacyjnego
Kompleksowe spojrzenie na architekturę systemów, zarządzanie procesami oraz specyfikę środowiska Windows NT.
Spis treści
Czym jest system operacyjny?
System operacyjny (ang. Operating System) to zestaw oprogramowania zarządzającego zasobami komputera. Jego głównym zadaniem jest stworzenie warstwy abstrakcji nad skomplikowanym sprzętem (hardware), umożliwiając aplikacjom łatwe korzystanie z mocy obliczeniowej.
Trzy kluczowe role:
1. Menadżer zasobów: OS kontroluje dostęp do procesora (CPU), pamięci RAM oraz urządzeń wejścia/wyjścia, dbając o to, by żaden proces nie zdominował systemu bezprawnie.
2. Platforma dla aplikacji: Dostarcza zestaw standardowych bibliotek i API, dzięki którym programista nie musi wiedzieć, jak fizycznie zapisać bajt na konkretnym modelu dysku.
3. Interfejs użytkownika: Pozwala na interakcję z maszyną, czy to za pomocą graficznych okien (GUI), czy tekstowej konsoli (CLI).
„System operacyjny jest jak rząd — sam w sobie nie wykonuje żadnej użytecznej pracy, lecz stwarza bezpieczne środowisko, w którym inni mogą ją wykonywać efektywnie.”
Andrew S. TanenbaumArchitektura warstwowa
Nowoczesne systemy operacyjne są budowane w sposób hierarchiczny. Taka struktura ułatwia zarządzanie kodem i poprawia bezpieczeństwo systemu.
User Mode vs Kernel Mode
To fundamentalny podział. Kernel Mode (tryb uprzywilejowany) ma pełny dostęp do sprzętu. User Mode jest ograniczony — aplikacje działające w tym trybie muszą „prosić” jądro o dostęp do zasobów poprzez wywołania systemowe. Chroni to system przed całkowitym zawieszeniem w przypadku błędu w jednym programie.
Jądro (Kernel)
Jądro to najniższa warstwa oprogramowania systemowego, która pozostaje w pamięci RAM przez cały czas pracy komputera. Odpowiada za cztery krytyczne obszary:
Zarządzanie procesami
Jądro decyduje, który proces otrzymuje czas procesora w danym momencie (tzw. szeregowanie). Dzięki wywłaszczaniu, system może płynnie przełączać się między dziesiątkami aplikacji, dając złudzenie ich jednoczesnego działania.
Zarządzanie pamięcią
Implementuje mechanizm pamięci wirtualnej. Każdy program „myśli”, że ma całą pamięć dla siebie, podczas gdy jądro dyskretnie mapuje te adresy na fizyczne kości RAM lub plik stronicowania na dysku.
Typy jąder systemowych
| Typ Jądra | Charakterystyka | Przykłady |
|---|---|---|
| Monolityczne | Wszystkie usługi (sterowniki, system plików) działają w jednej przestrzeni jądra. Bardzo szybkie. | Linux, Unix |
| Mikrojądro | W jądrze zostaje tylko absolutne minimum. Sterowniki są osobnymi procesami. Bardzo stabilne. | QNX, Minix |
| Hybrydowe | Połączenie szybkości monolitu z modułowością mikrojądra. | Windows NT, macOS |
Architektura Windows NT
System Windows (od wersji XP, przez 10, aż po 11) bazuje na architekturze Windows NT. Jest to architektura hybrydowa, zaprojektowana z myślą o przenośności między różnymi procesorami (x64, ARM).
Kluczowe komponenty Executive:
- I/O Manager: Obsługuje komunikację ze sprzętem za pomocą pakietów IRP.
- Object Manager: Traktuje każdy zasób (plik, proces, wątek) jako obiekt z określonymi uprawnieniami.
- Security Reference Monitor: Serce bezpieczeństwa Windows, sprawdzające uprawnienia przy każdej operacji.
- Memory Manager: Zarządza gigantycznymi przestrzeniami adresowymi współczesnych aplikacji 64-bitowych.
HAL (Hardware Abstraction Layer)
To specjalna biblioteka (hal.dll), która ukrywa przed jądrem różnice w budowie płyt głównych. Dzięki niej ten sam kod Windows może działać na procesorach Intel, AMD czy układach Qualcomm (ARM) bez konieczności pisania systemu od nowa.
Zarządzanie zasobami
W systemie Windows zarządzanie pamięcią opiera się na tzw. stronicowaniu. Pamięć jest dzielona na bloki o rozmiarze 4 KB. Jeśli systemowi brakuje miejsca w RAM, najrzadziej używane strony są przenoszone do pliku pagefile.sys na dysku SSD/HDD.
Dodatkowo, nowoczesne wersje Windows stosują kompresję pamięci, co pozwala uniknąć powolnego zapisu na dysk poprzez upakowanie danych w RAM.
System plików NTFS
Natywnym systemem plików dla Windows jest NTFS. Wprowadza on funkcje krytyczne dla biznesu i bezpieczeństwa:
- Journaling: Rejestrowanie zmian przed ich dokonaniem, co zapobiega utracie danych przy nagłym braku prądu.
- Uprawnienia ACL: Precyzyjne określanie, który użytkownik może czytać, a który tylko edytować dany folder.
- Szyfrowanie EFS: Ochrona danych bezpośrednio na poziomie sektorów dysku.
Bezpieczeństwo w Windows 11
Wprowadzenie Windows 11 przyniosło najbardziej znaczące zmiany w architekturze zabezpieczeń od lat. System ten kładzie ogromny nacisk na ochronę sprzętową i izolację krytycznych procesów.
VBS (Virtualization-Based Security)
To technologia wykorzystująca hypervisor (Hyper-V) do stworzenia izolowanej, chronionej enklawy pamięci — Secure World — która pozostaje niedostępna nawet dla jądra systemu operacyjnego.
- HVCI (Hypervisor-Protected Code Integrity): Weryfikuje każdy ładowany sterownik i moduł jądra, zapobiegając wstrzykiwaniu złośliwego kodu do procesów systemowych.
- Credential Guard: Chroni dane uwierzytelniające przed kradzieżą (np. ataki typu Pass-the-Hash), izolując je w bezpiecznym, wirtualnym kontenerze.
- TPM 2.0 i Secure Boot: Zapewniają sprzętowe kotwiczenie kluczy kryptograficznych i uniemożliwiają start nieautoryzowanego oprogramowania podczas bootowania.
Podsumowanie
Kluczowe filary architektury Windows NT:
- Dokumentacja techniczna Microsoft (MSDN / Microsoft Learn)
- Mark Russinovich, David Solomon: „Windows Internals”
- Andrew S. Tanenbaum: „Modern Operating Systems”
- Oficjalne repozytoria techniczne Microsoft: Architektura systemów linii NT











