Linux/Definicje/Jądro
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