Linux/Definicje/Jądro

Z Wikibooks, biblioteki wolnych podręczników.

Jądro systemu[1] - inaczej kernel od angielskiej nazwy, jest to ta część oprogramowania, która odpowiada za:

  • komunikację systemu z urządzeniami (sterowniki, które w Linuksie nazywane są modułami)
  • uruchamianie i komunikację pomiędzy programami
  • obsługę systemów plików - ma bezpośredni dostęp do dysków, i plików
  • stworzenie środowiska uruchomieniowego dla programów (np. gdy program rezerwuje potrzebną ilość pamięci, to właśnie kernel przyznaje mu taki rejon, który nie jest przez żadne inne programy używany).

Proces init[edytuj]

Podczas uruchamiania systemu, najpierw uruchamia się jądro, inicjując proces init. Init jest podstawowym procesem, który pełni funkcję procesu macierzystego wszystkich innych procesów. Z tego też powodu proces init nie może zostać zakończony wcześniej niż wszystkie inne programy (co w praktyce oznacza działanie od uruchomienia systemu operacyjnego do zakończenia jego działania). Proces init ma także inną, ważną funkcję. W systemach z rodziny UNIX inicjuje on wykonywanie skryptów startowych, w których zapisane są wszystkie czynności, jakie wykonać ma komputer przed umożliwieniem użytkownikowi zalogowania się w systemie. W zależności od posiadanej przez nas dystrybucji pliki init są umieszczone w różnych miejscach, ale niezależnie od położenia, zazwyczaj mają one za zadanie:

  • Sprawdzenie dysków twardych (np. programy *fsck)
  • Skonfigurowanie sieci (np. pobranie adresu IP z DHCP przez daemona dhcpd)
  • Uruchomienie podsystemu graficznego (X11 i dalej np. KDE) - dotyczy "przyjaznych" dystrybucji biurkowych

Jeżeli proces init otrzyma sygnał KILL przed innymi procesami zostanie wywołany Kernel Panic informujący właśnie o tym zdarzeniu.

Przypisy