Jądro systemu operacyjnego

Jądro systemu operacyjnego

Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.

Budowa jądra:

Wyróżniamy kilka podstawowych metod konstrukcji jąder:

https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Kernel-micro-pl.svg/300px-Kernel-micro-pl.svg.pnghttps://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Kernel-pl.svg/300px-Kernel-pl.svg.png

https://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png

Model funkcjonowania jądra monolitycznego.

  • jądro monolityczne – często stosowane w systemach typu Unix. Wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra. Przykładami takiego jądra mogą być: Linux, OpenBSD, FreeBSD, chociaż większość posiada umiejętność dołączania i odłączania modułów (najczęściej zawierających kod sterownika urządzenia lub obsługi potrzebnego w danej chwili systemu plików). Zaletą tej techniki jest prostota, stabilność[potrzebne źródło], łatwość komunikacji pomiędzy różnymi członami jądra (jedna przestrzeń adresowa). Wadą jest, w późniejszym stadium rozwoju projektu, uciążliwość w rozwijaniu programu oraz w znajdywaniu błędów[

https://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png

Model komunikacji mikrojądra z aplikacjami.

  • mikrojądro – w tej technice z monolitycznego jądra zostaje tylko jego podstawowa część, a części odpowiedzialne za bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy w trybie użytkownika.
  • nanokernel – technika zbliżona do techniki mikrojądra, różnica w wielkości – nanokernel jest jeszcze mniejszy.
  • exokernel – architektura będąca odmianą nanojądra. Cechą wyróżniającą jest możliwość zarządzania zasobami systemu przez nieuprzywilejowanego użytkownika, a rola jądra sprowadza się do zabezpieczania zasobów. Przykładem systemu korzystającego z tego typu jądra jest system XOK, zbudowany w MIT Laboratory for Computer Science, pracujący na komputerach PC. Wyposażony on został w bibliotekę ExOS, która implementuje system UNIX i umożliwia uruchamianie większości aplikacji tego systemu.
  • cachekernel – w tej technice jądro systemu buforuje obiekty systemowe takie jak wątki czy przestrzenie adresowe tak jak sprzęt komputerowy buforuje pamięć. Jądra aplikacji trybu użytkownika są odpowiedzialne za ładowanie tych danych i ponowne ich zapisanie stosując specyficzne dla danej aplikacji mechanizmy.

https://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/Kernel-hybrid-pl.svg/300px-Kernel-hybrid-pl.svg.png

https://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png

Model komunikacji jądra hybrydowego z aplikacjami.

  • jądro hybrydowe – kompromis między architekturą jądra monolitycznego i mikrojądra. W krytycznych usługach - np. stos sieci - usługi są na stałe wkompilowane w główny kod jądra, inne usługi pozostają oddzielone od głównego jądra i działają jako serwery (w przestrzeni jądra). Dzięki temu rozwiązaniu możliwe jest zachowanie wydajności jądra monolitycznego dla kluczowych usług. Klasyfikacja ta budzi kontrowersje niektórych programistów.

Cechy jądra:

Z budowy jądra wynikają jego cechy, takie jak:

Zastosowanie systemów operacyjnych:

Zastosowanie systemów operacyjnych wynika ściśle z ich budowy, a to przeważnie sprowadza się do budowy ich jądra. Tak więc:

Przykłady jąder systemów operacyjnych:

Jądra monolityczne:

  • Tradycyjne jądra UNIX, jak np. jądra systemów BSD
  • Linux

Hybrydowe:

Mikrojądra:

Chcąc poznać rzeczywiste możliwości Windows, musimy zagłębić się w jądro systemu i zrozumieć, jak ono działa. Porównanie z Linuksem i Mac OS X uwidacznia mocne i słabe strony często używanego  systemu.

Kernel: serce systemu

Zadaniem jądra jest sterowanie działaniem systemu operacyjnego. Dlatego jego jakość w znaczący sposób wpływa na sprawność działania całego peceta. To właśnie jądro utrzymuje wszystko w ruchu, ponieważ zawiera sterowniki sprzętu umożliwiające komunikację z urządzeniami zewnętrznymi oraz moduły zarządzające komponentami komputera, takimi jak pamięć operacyjna, procesor czy dysk twardy.

Wyszukiwanie

© 2010 Wszystkie prawa zastrzeżone.