Језгро оперативног система

Језгро је основи део сваког оперативног система. Језгро се може и дефинисати као део оперативног система који омогућује програмима да на сигуран начин приступе хардверу.

У слојевитом моделу оно је најближе хардверу и надовезује се директно на хардвер, обезбеђујући везу између хардвера и осталих слојева оперативног система. Изузетак је код Windows NT оперативног система, где се испод језгра се налази слој апстракције хардвера (Hardware Abstraction Layer, HAL) који омогућава оперативном систему да види различит хардвер на исти начин.

Језгро опертивним системама није неопходно за покретање и извршавање програма. Програми и процеси се могу извршавати на рачунару без језгра уколико је програмер спреман да заобиђе апстракцију хардвера и услуге које оперативни систем пружа и програм напише на ниском нивоу, користећи инструкције машинског језика. Овај начин програмирања и извршавања програма је био уобичајен на старијим рачунарским системима. Немогућност преласка из једног програма у други представљала је основни недостатак овакве реализације – корисник који је желео да прекине рад у једном програму и покрене други програм, морао је да ресетује рачунар. То се спречавало малим помоћним програмима за откривање грешака (debuggers) и алаткама које су пуниле меморију програмским кодом. Ови помоћни програми, који су омогућавали прелазак из једног програма у други без ресетовања рачунара, представљали су основу за даљи развој језгра оперативног система.

1. Основна фукција језгра

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

Да би језгро оставарило своју основну функцију, неопходно је да сам хардвер испуњава одређене предуслове, тј. да на нивоу хардвера постоје компоненте које омогућују надоградњу хардвера језгром. У те компоненте спадају:

  • механизам прекида

  • заштитни механизам адресирања меморије

  • скуп привилегованих инструкција

  • часовник реалног времена

1.1. Механизам прекида

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

1.2. Заштитни механизам адресирања меморије

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

1.3. Скуп привилегованих инструкција

Скуп привилегованих инструкција рачунара чине све инструкције које су доступне оперативном систему, али не и корисничким програмима. Ове инструкције омогућавају оперативном систему да маскира прекиде, додели процесор другом процесу, приступи заштићеним регистрима у меморији, изврши улазно-излазне операције или заустави процесор. За разлику од непривилегованих инструкција које се извршавају у корисничком режиму, приликом извршавања привилегованих инструкција оперативни систем се налази у системском режиму (supervisory mode). Кориснички програм не може да изврши привилеговану инструкцију директно, већ преко системских позива. Кориснички програм помоћу системског позива (system call) захтева од оперативног система да изврши привилеговану инструкцију. Након тога оперативни систем прелази у системски режим и извршава ту инструкцију.

1.4. Часовник реалног времена

Помоћу сатног механизма реалног времена (real-time clock) контролише се и евидентира потрошња ресурса рачунара за све појединачне процесе. Овај механизам се може користити и за распоређивање и заказивање извршења разних послова.

2. Делови језгра

Језгро теоретског модела оперативног система може се поделити на три основне целине:

  • први ниво обраде прекида
  • диспечер система (планер послова ниског нивоа)
  • рутине за остваривање интерпроцесне комуникације

2.1. Први ниво обраде прекида

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

2.2. Диспечер система

Диспечер (dispatcher, low-level scheduler) део је језгра који додељује процесор процесима. При томе, процесор се увек додељује на основу неког алгоритма, као што је Shortest Job First (прво послови који захтевају најмање процесорског времена).

2.3. Рутине за остваривање интерпроцесне комуникације

Рутине за остваривање интерпроцесне комуникације део су језгра оперативног система који обезбеђује комуникацију између процеса. Постоји више начина ове комуникације, као што су слање порука (send message), семафорске технике, коришћење именованих цеви (named pipes, код UNIX-а), и коришћење дељиве меморије.

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s