Контролни блок процеса

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

У већини имплементација оперативних система контролни блок процеса садржи следеће информације о процесима:

  • Јединствени идентификатор процеса (Process ID – PID) – број који процес добија у тренутку покретања, тј. свог настанка. Сви процеси на једном систему имају различите PID-ове, чиме је систему омогућено да их разликује на крајње једноставан начин.

  • Стање процеса – информација о тренутном стању у којем се процес налази. На пример, процес се може наћи у неком од стања која су дефинисана у претходном тексту: Спреман, Извршавање, Чекање, Суспендован и спреман итд.

  • Програмски бројач – чува информацију о следећој инструкцији коју процес треба да изврши.

  • Садржај регистара процесора – вредности које се налазе у регистрима како би процес после губитка права да користи процесор могао да настави са радом тамо где је заустављен.

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

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

  • Адресе заузетих ресурса – како би оперативни систем имао информацију о томе на којим локацијама треба да тражи потребне податке.

Оперативни системи обезбеђују ефикасне механизме за манипулацију контролним блоковима процеса како би се реализовали следећи задаци:

  • Креирање контролног блока за нови процес;

  • Уништавање контролног блока процеса који се извршио;

  • Мењање стања процеса;

  • Мењање приоритета процеса;

  • Избор процеса за извршавање.

Пребацивање контекста представља поступак којим се процес који се тренутно извршава на процесору прекида, памте његови параметри, а затим се уместо њега покреће неки други процес и при томе се учитавају параметри другог процеса.

12-1

Пребацивање контекста

На слици је илустрован пример пребацивања (замене) контекста. Процес P0 је у стању извршавања, али би требало да се прекине и да процес P1 крене да се извршава. Прво се стање P0 уписује у одговарајући контролни блок, затим се учитава контролни блок новог процеса и он може да настави са извршавањем. Програмски бројач процеса P1 дохвата следећу инструкцију и он почиње да се извршава. Када се, из неког разлога донесе одлука да постоји потреба да се P1 прекине, а процес P0 настави са извршавањем, уписују се подаци о извршавању P1 у његов контролни блок, а учитавају се подаци процеса P0.

Модул који је одговоран да извршава пребацивање контекста често се назива диспечер (Dispatcher). Он је задужен за пуњење регистара процеса, пребацивање у кориснички режим рада и скок на одговарајућу локацију у корисничком програму како би се он наставио.

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

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

WordPress.com лого

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

Google photo

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

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

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

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

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

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