logo

Шта је кернел?

У информатици, Кернел је рачунарски програм који је језгро или срце оперативног система. Пре него што детаљније разговарамо о кернелу, хајде да прво разумемо његов основни, тј. оперативни систем у рачунару.

Оперативни систем

Оперативни систем или ОС је системски софтвер који ради као интерфејс између хардверских компоненти и крајњег корисника. Омогућава покретање других програма. Сваки рачунарски систем, било да се ради о стоном рачунару, лаптопу, таблету или паметном телефону, мора имати ОС да би обезбедио основне функционалности за уређај. Неки широко коришћени оперативни системи су Виндовс , Линук , МацОС, Андроид, иОС, итд.

Шта је кернел у оперативном систему?

Шта је Кернел
  • Као што је горе поменуто, кернел је основни део ОС (оперативни систем); стога има потпуну контролу над свиме у систему. Сваком операцијом хардвера и софтвера управља и администрира кернел.
  • Делује као мост између апликација и обраде података на нивоу хардвера. То је централна компонента ОС-а.
  • То је део ОС који се увек налази у меморији рачунара и омогућава комуникацију између софтверских и хардверских компоненти.
  • То је рачунарски програм који се први учитава при покретању система (након покретача). Када се учита, управља преосталим покретањем. Такође управља меморијским, периферним и И/О захтевима из софтвера. Штавише, он преводи све И/О захтеве у упутства за обраду података за ЦПУ. Управља и другим задацима као што су као управљање меморијом, управљање задацима и управљање диском .
  • Кернел се чува и обично учитава у посебан меморијски простор, познат као заштићени Кернел простор. Заштићен је од приступа апликацијским програмима или мање важним деловима ОС-а.
  • Други апликативни програми као што су претраживач, програм за обраду текста, аудио и видео плејер користе посебан меморијски простор познат као кориснички простор.
  • Због ова два одвојена простора, кориснички подаци и подаци кернела не ометају једни друге и не изазивају никакву нестабилност и спорост.

Функције кернела

Кернел оперативног система је одговоран за обављање различитих функција и има контролу над системом. Неке главне одговорности Кернела су наведене у наставку:

    Управљање уређајем
    За обављање различитих радњи процеси захтевају приступ периферним уређајима као што су миш, тастатура итд., који су повезани са рачунаром. Кернел је одговоран за контролу ових уређаја помоћу драјвера уређаја. Овде управљач уређајем је рачунарски програм који помаже или омогућава ОС-у да комуницира са било којим хардверским уређајем.
    Кернел одржава листу свих доступних уређаја, а ова листа може бити већ позната, конфигурисана од стране корисника или откривена од стране ОС-а у току рада.Управљање меморијом
    Кернел има пуну контролу за приступ меморији рачунара. Сваки процес захтева нешто меморије за рад, а кернел омогућава процесима да безбедно приступе меморији. За доделу меморије, први корак је познат као виртуелно адресирање, што се врши страницама или сегментацијом. Виртуелно адресирање је процес обезбеђивања виртуелних адресних простора процесима. Ово спречава да се апликације сударе једна у другу.Управљање ресурсима
    Једна од важних функционалности Кернела је дељење ресурса између различитих процеса. Мора да дели ресурсе на начин да сваки процес једнолично приступа ресурсу.
    Кернел такође пружа начин за синхронизацију и међупроцесна комуникација (ИПЦ). Одговоран је за пребацивање контекста између процеса.Приступ рачунарским ресурсима
    Кернел је одговоран за приступ рачунарским ресурсима као што су РАМ и И/О уређаји. РАМ или меморија са случајним приступом се користи да садржи и податке и упутства. Сваки програм треба да приступи меморији да би се извршио и углавном жели више меморије од расположиве. У том случају, Кернел игра своју улогу и одлучује коју меморију ће сваки процес користити и шта да ради ако потребна меморија није доступна.
    Кернел такође додељује захтев апликација за коришћење И/О уређаја као што су тастатуре, микрофони, штампачи итд.

Врсте кернела

Постоји углавном пет типова кернела, који су дати у наставку:

Шта је Кернел

1. Монолитна језгра

У монолитном језгру, исти меморијски простор се користи за имплементацију корисничких услуга и услуга кернела.

Шта је Кернел

То значи да у овој врсти кернела не постоји различита меморија која се користи за корисничке услуге и услуге кернела.

Како користи исти меморијски простор, величина језгра се повећава, повећавајући укупну величину ОС-а.

Извршавање процеса је такође брже од других типова кернела јер не користи одвојени кориснички и кернел простор.

Примери монолитних језгара су Уник, Линук, Опен ВМС, КСТС-400, итд.

Предности:

  • Извршење процеса је такође брже јер нема одвојеног корисничког простора и простора кернела и мање софтвера.
  • Пошто је то један комад софтвера, и извори и компајлирани обрасци су мањи.

Недостаци:

  • Ако било која услуга генерише било какву грешку, може срушити цео систем.
  • Ови кернели нису преносиви, што значи да се за сваку нову архитектуру морају поново писати.
  • Велике су по величини и због тога им је тешко управљати.
  • Да бисте додали нову услугу, комплетан оперативни систем треба да се измени.

2. Микрокернел

Шта је Кернел

Микрокернел се такође назива МК , и разликује се од традиционалног кернела или монолитног кернела. У ово, корисничке услуге и услуге кернела имплементиране су у два различита адресна простора: кориснички простор и простор кернела . Пошто користи различите просторе за оба сервиса, смањује се величина микрокернела, што такође смањује величину ОС-а.

Микрокернелима је лакше управљати и одржавати их у поређењу са монолитним језгрима. Ипак, ако ће бити већег броја системских позива и промене контекста, то би могло смањити перформансе система тако што ће га учинити спорим.

Ови кернели користе систем за прослеђивање порука за руковање захтевима са једног сервера на други сервер.

у реду

Микрокернели пружају само неке битне услуге, као што су дефинисање меморијских адресних простора, ИПЦ (међупроцесна комуникација) и управљање процесима. Кернел не пружа друге услуге као што је умрежавање и њима управља програм за кориснички простор познат као сервери .

Један од главних недостатака монолитних кернела да грешка у кернелу може да сруши цео систем, може се уклонити у микрокернелу. Као иу микрокернелу, ако се процес кернела сруши, рушење целог система се и даље може спречити поновним покретањем услуга изазваних грешком.

Примери микрокернела су Л4, АмигаОС, Миник, К42 , итд.

Предности

  • Микрокернелима се може лако управљати.
  • Нова услуга се може лако додати без модификације целог ОС-а.
  • У микрокернелу, ако се процес кернела сруши, још увек је могуће спречити да се цео систем сруши.

Недостаци

виндовс команда арп
  • Постоји више захтева за софтвером за повезивање, што смањује перформансе система.
  • Управљање процесима је веома компликовано.
  • Грешке у размјени порука је тешко поправити.

3. Хибридно језгро

Шта је Кернел

Хибридна језгра су позната и као модуларна језгра , и то је комбинација монолитног и микрокернела. Користи предност брзине монолитних језгара и модуларности микрокернела.

Хибридно језгро се може схватити као проширена верзија микрокернела са додатним својствима монолитног кернела. Ова језгра се широко користе у комерцијалним оперативним системима, као што су различите верзије МС Виндовс-а.

Умногоме је сличан микројезгру, али такође укључује неки додатни код у простору кернела за побољшање перформанси система.

Хибридна језгра омогућавају покретање неких сервиса као нпр мрежни стек у простору кернела да смањи перформансе у поређењу са традиционалним микрокернелом, али и даље омогућава покретање кода кернела (као што су драјвери уређаја) као сервери у корисничком простору.

Примери хибридног кернела су Виндовс НТ, Нетваре, БеОС, итд.

Предности:

  • Не постоји захтев за поновно покретање ради тестирања.
  • Технологија треће стране може се брзо интегрисати.

Недостаци:

  • Постоји могућност више грешака са више интерфејса за пролазак.
  • Одржавање модула за неке администраторе може бити збуњујући задатак, посебно када се ради о проблемима као што су разлике у симболима.

4. Нанокернел

Као што име каже, у Нанокернелу, комплетан код кернела је веома мали, што значи да је код који се извршава у привилегованом режиму хардвера веома мали . Овде термин нано дефинише језгро које подржава резолуцију сата од наносекунде.

Примери Нанокернела су ЕРОС итд.

Предности

  • Пружа хардверске апстракције чак и са веома малом величином.

Недостаци

  • Нанокернелу недостају системске услуге.

5. Екокернел

Екокернел се још увек развија и представља експериментални приступ дизајнирању ОС.

Овај тип кернела се разликује од осталих кернела као у овом; заштита ресурса је одвојена од управљања, што нам омогућава да извршимо прилагођавање специфичних за апликацију.

Предности:

  • Систем заснован на егзокернелу може да инкорпорира више оперативних система библиотека. Свака библиотека извози другачији АПИ, као што је један који се може користити за развој корисничког интерфејса на високом нивоу, а други се може користити за контролу у реалном времену .

Недостаци:

  • Дизајн егзокернела је веома сложен.

Шта је кернел паника?

Као што смо већ расправљали, то језгро контролише цео рачунарски систем; стога, ако се сруши, може срушити цео систем. У МацОС-у и Линук-у, такав непожељан догађај је познат као „ Кернел Паниц.' Да бисмо се опоравили од панике кернела, морамо поново покренути систем.

Обично су ове панике кернела узроковане проблемима у комуникацији са хардвером. Стога, ако се понавља паника кернела, покушајте да искључите мање потребне или непотребне уређаје и проверите да ли је проблем решен или не.