Wywłaszczanie jądra
projektowaniu komputerowych systemów operacyjnych wywłaszczanie jądra jest właściwością posiadaną przez niektóre jądra (rdzenie systemów operacyjnych), w której procesor może zostać przerwany w trakcie wykonywania kodu jądra i przydzielony innym zadaniom (z których później wraca, aby zakończyć swoje zadania jądra).
Oznacza to, że program planujący może wymusić zmianę kontekstu (w imieniu działającego procesu o wyższym priorytecie) na sterowniku lub innej części jądra podczas jego wykonywania, zamiast wspólnie czekać na sterownik lub funkcja jądra (taka jak wywołanie systemowe ), aby zakończyć jej wykonywanie i zwrócić kontrolę nad procesorem do programu planującego po zakończeniu. Jest używany głównie w jądrach monolitycznych i hybrydowych , gdzie wszystkie lub większość sterowników urządzeń jest uruchamiana w przestrzeni jądra . Linux jest przykładem systemu operacyjnego z monolitycznym jądrem z wywłaszczaniem jądra.
Główną zaletą wywłaszczania jądra jest to, że rozwiązuje ono dwa problemy, które w przeciwnym razie byłyby problematyczne dla jąder monolitycznych, w których jądro składa się z jednego dużego pliku binarnego . Bez wywłaszczania jądra istnieją dwa główne problemy w przypadku jąder monolitycznych i hybrydowych:
- Sterownik urządzenia może wejść w nieskończoną pętlę lub w inny nieodwracalny stan, powodując awarię całego systemu.
- Niektóre sterowniki i wywołania systemowe w jądrach monolitycznych mogą być wykonywane wolno i nie mogą zwrócić kontroli nad procesorem do programu planującego lub innego programu, dopóki nie zakończą wykonywania.