INTERCUBE

świat multimediów

Advertisement

Budowa Systemu Operacyjnego

system operacyjny
Budowa Systemu Operacyjnego | Kompendium Techniczne Intercube
Inżynieria Oprogramowania

Budowa Systemu Operacyjnego

Kompleksowe spojrzenie na architekturę systemów, zarządzanie procesami oraz specyfikę środowiska Windows NT.

System operacyjny (OS) to fundament każdego nowoczesnego komputera. Stanowi on krytyczną warstwę oprogramowania, która pośredniczy między fizycznym sprzętem a użytkownikiem. Poniższy artykuł szczegółowo opisuje architekturę systemów, a następnie analizuje budowę jądra Windows — jednej z najbardziej zaawansowanych platform na świecie.
Rozdział 01

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. Tanenbaum
Rozdział 02

Architektura warstwowa

Nowoczesne systemy operacyjne są budowane w sposób hierarchiczny. Taka struktura ułatwia zarządzanie kodem i poprawia bezpieczeństwo systemu.

Hierarchia warstw w systemie operacyjnym
Warstwa Aplikacji (User Space)Przeglądarki, Edytory, Gry
Biblioteki Systemowe i API
Interfejs Wywołań Systemowych (Syscalls)
Jądro Systemu (Kernel Space)Zarządzanie procesami i pamięcią
Sterowniki Urządzeń (Drivers)
Sprzęt Fizyczny (Hardware)CPU, RAM, GPU

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.

Rozdział 03

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.

Rozdział 04

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
Rozdział 05

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.

Rozdział 06

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.

Rozdział 07

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 i Podsumowanie | Intercube
Rozdział 08

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:

Jądro hybrydowe Optymalny balans między wydajnością monolitu a stabilnością mikrojądra.
Model obiektowy Spójny i ujednolicony sposób zarządzania wszystkimi zasobami systemu.
Wielopodsystemowość Elastyczność pozwalająca na równoległą obsługę Win32, POSIX oraz WSL.
Warstwa HAL Abstrakcja sprzętowa zapewniająca przenośność na x86-64 oraz ARM64.
System NTFS Niezawodność danych dzięki zaawansowanemu journalingowi i uprawnieniom.
VBS / HVCI Nowoczesny standard bezpieczeństwa oparty na izolacji wirtualnej.
Źródła i Bibliografia
  • 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