SŁOWNICZEK

Co to jest jądro

  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.

Kernel_Layout.svg

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.
image-406

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.

infra-sync

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.

android kernel

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.

POWIĄZANA ZAWARTOŚĆ