Architektura Jądra
Jądro to rdzeń systemu operacyjnego. Jest to program w trybie uprzywilejowanym, który bezpośrednio zarządza zasobami sprzętowymi. Kluczowe zadania obejmują zarządzanie czasem CPU, alokację pamięci i sterowniki urządzeń.
Istnieją różne architektury jądra: Jądra monolityczne (jak Linux) integrują wszystkie usługi systemu operacyjnego w jednym przestrzeniu adresowym, oferując szybkość, ale potencjalną niestabilność. Jądra mikroarchitektoniczne minimalizują ilość kodu działającego w trybie jądra, zwiększając odporność.
Zarządzanie Procesami
Proces to instancja działania programu. System operacyjny zarządza procesami za pomocą technik takich jak przełączanie kontekstów – szybkie przełączanie się między procesami w celu stworzenia iluzji współbieżnego działania.
Procesy komunikują się przy użyciu mechanizmów, takich jak potoki i pamięć współdzielona, umożliwiając komunikację międzyprocesową (IPC). Algorytmy planowania procesów determinują, który proces otrzymuje czas CPU.
CPU Time = Scheduling Algorithm * Priority
Zarządzanie Pamięcią
Skuteczne zarządzanie pamięcią jest kluczowe dla wydajności. System operacyjny wykorzystuje techniki takie jak pamięć wirtualna, która pozwala programom na korzystanie z więcej pamięci niż fizycznie dostępna, wymieniając dane między RAM a pamięcią masową.
Tablice stron mapują adresy wirtualne (używane przez procesy) na adresy fizyczne w RAMie i zapobiegają naruszaniu zasad bezpieczeństwa pamięci, uniemożliwiając jednemu procesowi modyfikowanie pamięci innego.
Virtual Address = Physical Address + Page Offset
Systemy plików
System plików organizuje dane na urządzeniach pamięci masowej (dyski twarde, dyski SSD) w pliki i foldery. Popularne systemy plików to NTFS (Windows), ext4 (Linux) i APFS (macOS).
OŚ zapewnia interfejs dostępu do plików poprzez wywołania systemu. Wywołania te pozwalają programom na odczyt, zapis, tworzenie i usuwanie plików.
Często zadawane pytania
Co to jest różnica między procesem a wątkiem?
Proces to niezależne środowisko wykonywania z własną przestrzenią pamięci. Wątek to lekka jednostka wykonania w ramach procesu, współdzieląca tę samą przestrzeń pamięci.
Dlaczego systemy operacyjne używają pamięci wirtualnej?
Pamięć wirtualna umożliwia uruchamianie programów wymagających więcej pamięci niż dostępna fizycznie, poprawiając wydajność systemu i umożliwiając wielozadaniowość.
Co to jest sterownik urządzenia?
Sterownik urządzenia to komponent oprogramowania, który umożliwia systemowi operacyjnemu komunikację z konkretnymi urządzeniami sprzętowymi (np. drukarkami, kartami sieciowymi).
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz SPH Fluid i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację SPH Fluid