Kernel: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
pd165.czestochowa.cvx.ppp.tpnet.pl (dyskusja)
mNie podano opisu zmian
Macar (dyskusja | edycje)
mNie podano opisu zmian
Linia 1:
'''Kernel''', inaczej jądro [[systemjądro operacyjny|systemu operacyjnego]] - to jego podstawowa część, która jest odpowiedzialna za wszystkie jego [[System_operacyjny|zadania]].
 
 
 
'''Budowa jądra'''<br>
 
Wyróżniamy kilka podstawowych metod konstrukcji kerneli:
 
* ''kernel monolityczny'' - często stosowany w systemach typu UNIX. Wszystkie zadania są w tego wykonywane przez kernel, będący jednym, dużym [[program|programem]] działającym w [[tryb jądra|trybie jądra]]. Przykładem takiego jądra jest jądro systemu [[OpenBSD]], a także [[Linux]] oraz [[FreeBSD]], chociaż te dwa ostatnie posiadają umiejętność dołączania i odłączania modułów (najczęściej zawierających kod [[sterownik urządzenia|sterownika urządzenia]] lub obsługi potrzebnego w danej chwili [[system plików|systemu plików]]).<br>Zaletą tej techniki jest prostota, stabilność, łatwość komunikacji pomiędzy różnymi członami jądra (to przecież w tym wypadku jeden program!). Wadą jest, w późniejszym stadium rozwoju projektu, uciążliwość w rozwijaniu [[program|programu]] oraz w znajdywaniu błędów.
 
* ''mikrokernel'' - w tej technice z monolitycznego jądra zostaje tylko jego podstawowa część, a części odpowiedzialne za bardziej wyrafinowane funcje są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe [[proces|procesy]] w [[trybie użytkownika]].
 
* ''nanokernel'' - technika zbliżowa do techniki mikrojądra, różnica w wielkośći - namokernel jest jeszcze mniejszy.
 
* ''exokernel'' - ?
 
* ''cachekernel'' - ?
 
 
 
'''Cechy jądra'''<br>
 
Z budowy kernela wynikają jego cechy, takie jak:
 
* [[wielozadaniowość]] ([[wieloprocesowość]]),
 
* [[wielowątkowość]],
 
* [[wielobieżność]],
 
* to czy jądro jest [[wywłaszczenie|wywłaszczalne]],
 
* [[skalowalność]].
 
 
 
'''Zastosowanie systemów operacyjnych'''<br>
 
Zastosowanie systemów operacyjnych wynika ściśle z ich budowy, a to się przeważnie sprowadza do budowy ich jądra. Tak więc:
 
* jako [[serwer|serwery]] lub [[firewall]]e używa się przeważnie systemów z jądrem monolitycznym, czyli przeważnie systemy [[UNIX|uniksowe]],
 
* w [[telekomunikacja|telekomunikacji]] i innych zastowaniach [[real-time]] królują systemy z mikrokernelem, np.: system [[QNX]],
 
* w wielu urządzeniach działają systemy określane mianem ''embedded'' (''osadzone''), króre charakteryzują się wysoką [[skalowalność|skalowalnością]].
 
 
----
 
[[/Dyskusja]]