OS Programming/Jądro

Z Wikibooks, biblioteki wolnych podręczników.

>Programowanie:OS_Programming

Spis treści

[edytuj] Czym jest jądro?

Najogólniej rzecz ujmując jądro jest najniżej położonym elementem systemu operacyjnego. Znajduje się ono między sprzętem oraz całą gamą oprogramowania (zarówno systemowego, jak i użytkowego).

[edytuj] Budowa jądra

[edytuj] Jądro monolityczne

Jądro tego typu jest dużym obrazem pamięci, który wczytywany jest zaraz po uruchomieniu systemu i działa aż do momentu wyłączenia komputera. Jest to stosunkowo proste i wygodne dla programisty rozwiązanie, jednak niesie ze sobą pewne wady, takie jak np:

  • zawieszenie któregoś z elementów jądra powoduje zawieszenie całego systemu
  • wymiana jakiegokolwiek elementu jądra wymaga ponownej rekompilacji całego jądra
  • błędy, takie jak np. wskazanie na adres 0 powodują duże problemy
  • duża ilość kodu wykonywana jest w przestrzeni jądra

Natomiast z zalet wymienić należy przede wszystkim:

  • prostotę budowy
  • dużą szybkość działania

Jądra monolityczne są używane w większości systemów z rodziny UNIX (np. Linux, *BSD).

[edytuj] Mikrojądro

Mikrojądro zawiera tylko najbardziej niezbędne elementy, takie jak funkcje zarządzania wątkami, komunikacja międzyprocesowa oraz obsługa przerwań i wyjątków. Zalety:

  • mniej podatny na zawieszenie niż jądro monolityczne

Wady:

  • trudniejsza budowa jądra

Przykładem systemu z mikrojądrem jest ReactOS, MINIX, Hurd, L4 oraz systemy Windows z linii NT.