Ta strona została automatycznie przetłumaczona przez DeepL.
Switch to English
Jądro to serce systemu operacyjnego, czyli coś, co jest między aplikacjami a sprzętem. Zarządza zasobami komputera (procesorem, pamięcią, pamięcią masową, urządzeniami) i daje oprogramowaniu bezpieczny i spójny sposób na ich używanie. Można to porównać do policjanta drogowego i tłumacza, którzy dbają o to, żeby wszystko działało bez kolizji.
Czym właściwie zajmuje się jądro?
Na wysokim poziomie jądro:
Harmonogramy działają. Decydują, który program otrzymuje czas procesora i kiedy.
Zarządza pamięcią. Oddziela dane każdej aplikacji i przydziela pamięć RAM zgodnie z potrzebami.
Obsługuje urządzenia i pliki. Komunikuje się ze sterownikami karty graficznej, dysku SSD, karty sieciowej i systemów plików.
Pośredniczy w operacjach wejścia/wyjścia. Odczytuje i zapisuje pliki oraz dane sieciowe w imieniu aplikacji.
Zapewnia bezpieczeństwo. Oddziela tryb użytkownika (aplikacje) od trybu jądra (rdzenia systemu operacyjnego), dzięki czemu wadliwa aplikacja nie może spowodować awarii całego systemu.
Czy jądro to to samo co system operacyjny?
Nie do końca. „System operacyjny” zazwyczaj obejmuje jądro oraz narzędzia i usługi przestrzeni użytkownika (powłoki, biblioteki, środowiska graficzne, usługi działające w tle itp.). W codziennych rozmowach ludzie mylą te terminy, ale ściśle rzecz biorąc, jądro jest po prostu uprzywilejowanym rdzeniem, na którym opiera się wszystko inne.
W jaki sposób aplikacje „komunikują się” z jądrem systemu?
Gdy aplikacja musi zapisać plik lub wysłać pakiet sieciowy, wykonuje wywołanie systemowe — kontrolowane żądanie, które przechodzi z trybu użytkownika do trybu jądra. Jądro sprawdza uprawnienia, kieruje żądanie do odpowiedniego podsystemu lub sterownika i zwraca wynik do aplikacji. Ta granica chroni aplikacje przed sobą nawzajem i przed ostrymi krawędziami sprzętu.
Czy istnieją różne rodzaje jąder?
Tak. Omówimy kilka ogólnych projektów:
Jądra monolityczne łączą w sobie podstawowe usługi i wiele sterowników. (Przykład: jądro systemu Linux).
Mikrojądra utrzymują niewielki rozmiar rdzenia i przenoszą więcej usług poza jądro w celu izolacji.
Podejścia hybrydowe lub modułowe łączą praktyczne systemy, często przenosząc komponenty do lub poza granice jądra w celu zapewnienia wydajności lub bezpieczeństwa.
Wszystkie one mają ten sam cel: niezawodną, szybką kontrolę sprzętu. (Na przykład XNU firmy Apple łączy mikrojądro Mach z warstwą BSD; Windows dokumentuje warstwową architekturę jądra).
Czy kiedykolwiek aktualizuję „jądro” bezpośrednio?
To zależy od platformy:
Windows/macOS: Aktualizacje jądra są dostarczane w ramach normalnych aktualizacji systemu operacyjnego.
Linux i wiele serwerów/urządzeń: Jądro jest oddzielnym pakietem, który można aktualizować za pośrednictwem dystrybucji lub dostawcy. Jądra z długoterminowym wsparciem (LTS) zamieniają nowe funkcje na stabilność.
Aktualizacja zapewnia obsługę sprzętu, poprawę wydajności i poprawki bezpieczeństwa, ale w systemach produkcyjnych zazwyczaj najpierw przeprowadza się testy.
Co dzieje się podczas uruchamiania systemu?
W skrócie: najpierw uruchamia się oprogramowanie układowe/UEFI, następnie program rozruchowy ładuje jądro do pamięci, jądro inicjuje sprzęt i sterowniki, montuje pamięć masową, a następnie uruchamia pierwszy proces przestrzeni użytkownika, który uruchamia pozostałą część systemu. Następnie w tle nieustannie planuje zadania i obsługuje operacje wejścia/wyjścia.
Czy mój telefon ma jądro?
Oczywiście. Telefony z systemem Android, konsole do gier, routery, telewizory smart TV – większość z nich działa pod kontrolą jakiegoś systemu operacyjnego z jądrem. Koncepcja ta nie dotyczy wyłącznie komputerów stacjonarnych i laptopów.
Dlaczego awarie nazywane są „panikami jądra” (lub „niebieskim ekranem”)?
Jeśli coś pójdzie nie tak w jądrze systemu (np. wystąpi krytyczny błąd sterownika), system operacyjny często się zatrzymuje, zamiast ryzykować uszkodzenie danych. Systemy typu Unix zgłaszają awarię jądra, a Windows wyświetla błąd zatrzymania (tzw. „niebieski ekran”). Jest to dramatyczne, ale stanowi ostateczny środek bezpieczeństwa, który chroni pliki użytkownika.
Krótkie podsumowanie
Jądro to uprzywilejowany rdzeń systemu operacyjnego, który zarządza procesorem, pamięcią, urządzeniami i operacjami wejścia/wyjścia.
Aplikacje komunikują się z nim za pośrednictwem wywołań systemowych przekraczających granicę trybu użytkownika / trybu jądra.
Różne projekty jądra (monolityczne, mikrojądro, hybrydy) zapewniają równowagę między wydajnością, izolacją i łatwością konserwacji.
Powiązane terminy
Przestrzeń użytkownika / przestrzeń jądra: obszary, w których działają normalne aplikacje w porównaniu z jądrem.
Wywołanie systemowe (syscall): Kontrolowany punkt wejścia z aplikacji do usług jądra.
Sterownik: Element jądra lub przestrzeni użytkownika, który wie, jak obsługiwać określone urządzenie.
Harmonogram: Komponent jądra, który decyduje, który wątek zostanie uruchomiony jako następny.
Pamięć wirtualna: Funkcja jądra, która zapewnia każdemu procesowi własną przestrzeń adresową.
Bootloader: Program, który ładuje jądro do pamięci podczas uruchamiania systemu.
Błąd jądra / błąd zatrzymania: Fatalny błąd trybu jądra, który zatrzymuje system, aby zapobiec uszkodzeniom.