Hopp til innhold

Rdzeń systemu operacyjnego,

Skip to content

To jest tłumaczenie maszynowe i może zawierać błędy!

Rdzeń systemu operacyjnego

Gdy zapisujesz plik, program potrzebuje dostępu do pamięci masowej. Gdy wiele programów działa jednocześnie, potrzebują one zarówno czasu procesora, jak i pamięci RAM. Rdzeniem systemu operacyjnego (kernel) jest ta część systemu operacyjnego, która zarządza takimi zasobami i udziela programom kontrolowanego dostępu do nich.

Tutaj będziesz w stanie wyjaśnić zadania wykonywane przez rdzeń oraz odróżnić go od całego systemu operacyjnego oraz interfejsu użytkownika.

Miejsce w serii: To jest Część 3 z Systemy operacyjne. Część 1 wyjaśnia całość; Część 2 przedstawia interfejsy użytkownika. Zacznij tam, jeśli te pojęcia są dla Ciebie nowe. Ta strona służy również jako podstawa dla wirtualizacji i kontenerów na poziomie Vg2.

Rdzeń jest częścią systemu operacyjnego

Programy korzystają z usług systemu operacyjnego. Wewnątrz systemu operacyjnego znajdują się narzędzia systemowe i usługi oraz rdzeń obsługujący procesor (CPU), pamięć, magazynowanie danych i urządzenia. Sprzęt znajduje się poza systemem operacyjnym.

System operacyjny zawiera więcej niż tylko rdzeń. Zawiera również biblioteki, usługi systemowe i narzędzia umożliwiające użytkowanie i zarządzanie systemem. Powłoka polecenia lub środowisko graficzne zapewniają interfejs użytkownika do systemu.

Dlatego można usunąć pulpit z serwera Linuksa, a nadal mieć działający system operacyjny. Rdzeń i inne niezbędne elementy systemu wciąż tam są.

Co robi jądro?

Zasób lub zadanie Co obsługuje jądro
Procesor (CPU) Dystrybuje czas procesora między procesami, czyli uruchamianymi programami.
Pamięć operacyjna (RAM) Zarządza obszarami pamięci i chroni je przed nieautoryzowanym dostępem ze strony innych procesów.
Przechowywanie danych i urządzenia Udostępnia dostęp za pośrednictwem m.in. systemów plików i sterowników. Sterownik to oprogramowanie obsługujące określony typ urządzenia.
Uprawnienia Kontroluje wiele żądań wysyłanych przez programy w odniesieniu do uprawnień użytkownika i procesu.

Gdy program potrzebuje usługi z jadra, używa wywołania systemowego (system call), zwykle za pośrednictwem biblioteki. Program zazwyczaj działa z mniejszymi uprawnieniami niż jądro. Jest to ważna granica w systemie.

Przykład: Zapisujesz plik tekstowy

  1. Wybierasz opcję Zapisz w edytorze tekstu.
  2. Program prosi system operacyjny o zapisanie danych do pliku.
  3. Rdzeń systemu obsługuje żądanie, w tym uprawnienia oraz dostęp przez system plików i sterownik.
  4. Program otrzymuje informację o wyniku i może wyświetlić komunikat o powodzeniu lub niepowodzeniu zapisu.

Ten sam rodzaj usługi systemowej jest używany niezależnie od tego, czy żądanie pochodzi z programu graficznego, czy z linii poleceń. Interfejs GUI i CLI to interfejsy użytkownika; rdzeń systemu zarządza zasobami systemowymi. Podany przykład jest uproszczony: buforowanie oraz wszystkie szczegóły dotyczące zapisu na fizycznym dysku zostały pominięte.

Linux, Debian i Ubuntu: Co jest czym?

Linux to nazwa jądra systemu operacyjnego. W potocznym języku ta nazwa odnosi się również do całych systemów operacyjnych opartych na Linuksie. Dystrybucja Linuksa, np. Debian lub Ubuntu, łączy jądro Linuksa z bibliotekami, narzędziami, programem instalacyjnym i systemem pakietowym.

Pojęcie Związek z pozostałymi elementami
Jądro Linuksa Część systemu operacyjnego opartego na Linuksie.
Debian i Ubuntu Dystrybucje budowane w oparciu o jądro Linuksa. Mogą używać różnych wersji jąдра oraz konfiguracji.
GNOME i KDE Plasma Przykłady graficznych środowisk pulpituowych. Można je zainstalować lub usunąć bez zmiany samego jądra systemu operacyjnego.
Bash Powłoka polecenia umożliwiająca korzystanie z poleceń. To jest program, nie jądro.

Sprawdź maszynę z systemem Linux, jeśli masz taką

W terminalu Linuksa możesz odczytać nazwę i wersję jądra systemu operacyjnego:

uname -s
uname -r

Pierwsza komenda powinna wyświetlić Linux. Druga pokazuje wersję jądra na dokładnie tym komputerze; nie musi być ona taka sama jak u innego ucznia. Komendy niczego nie zmieniają i nie wymagają sudo.

Aby zobaczyć, która dystrybucja Linuksa jest używana, odczytujesz inną informację:

cat /etc/os-release

Szukaj pola PRETTY_NAME, na przykład nazwy zawierającej „Debian” lub „Ubuntu”. Wersja jądra i wersja dystrybucji to różne informacje. Użyj tego rozdziału w systemie Linux; nie musisz instalować systemu Linux, aby wykonać test samodzielny poniżej.

Dlaczego jądro pojawia się w maszynach wirtualnych i kontenerach?

Maszyna wirtualna działa na systemie gościnnym z własnym jądrem. Kontenery Linuksa współdzielą jądro systemu Linuksa, na którym działają. Gdy Docker jest uruchamiany wewnątrz maszyny wirtualnej Linuksa, kontenery dzielą jądro maszyny wirtualnej.

Zobacz mapę systemu operacyjnego, maszyn wirtualnych i kontenerów, aby poznać zależności oraz zasoby dotyczące konteneryzacji dla zilustrowanego porównania.

Kontrolluj swoje wyjaśnienie

  1. Usunąłeś GNOME z serwera Debiana. Czy usunąłeś również jądro? Uzasadnij odpowiedź.
  2. Dwa programy zapisują pliki jednocześnie. Który element obsługuje dostęp do zasobów systemowych?
  3. uname -r i PRETTY_NAME pokazują różne numery wersji. Dlaczego oba mogą być poprawne?

Sprawdź odpowiedź: GNOME jest środowiskiem graficznym (desktopowym), a jego usunięcie samo w sobie nie usuwa jądra. Jąдро obsługuje dostęp programów do zasobów systemowych, wraz z innymi częściami systemu. uname -r wyświetla wersję jąдра, podczas gdy PRETTY_NAME opisuje dystrybucję.

Jesteś gotowy do przejścia dalej, gdy potrafisz wyjaśnić różnicę między systemem operacyjnym, jądrem a interfejsem użytkownika za pomocą własnego przykładu. Jeśli mylisz te elementy, użyj ilustracji i przejdź przez proces zapisywania plików jeszcze raz. Chcesz zbadać temat głębiej? Wyjaśnij, jak dwie różne dystrybucje Linuksa mogą opierać się na tym samym typie jąдра.

Źródła: Red Hat: Jądro Linux, Systemy operacyjne oparte na Linuksie oraz uname. Ilustracja została narysowana dla tego zasobu.