Појам процеса

Један од кључних концепата, када су оперативни системи и рачунарски системи у питању, представљају процеси.

Процес се дефинише као програм у извршавању.

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

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

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

Управљање процесима на овакав начин представља основни задатак за оперативне системе који подржавају мултипрограмирање и сличне концепте. Мултипрограмирање и сродни концепти подразумевају учестало смењивање процеса који користе процесор, при чему се сваки ,,по мало“ извршава на процесору, а пребацивање се извршава толико брзо и често да корисници имају утисак да се процеси извршавају истовремено.

На следећој слици илустровано је псеудопаралелно извршавање четири процеса на једном процесору. Као и на слици, временски интервали које процеси добијају за извршавање не морају бити једнаки и одређује их оперативни систем.

1-29

Псеудопаралелно извршавање процеса

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

Задатак оперативних система је да обезбеде ефикасне механизме за:

  • Креирање и брисање процеса;
  • Управљање процесима;
  • Комуникацију између процеса;
  • Синхронизацију процеса.

Процес у меморији

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

1-30

Процес у радној меморији

По покретању и учитавању у меморију програми, односно тада већ процеси, располажу са четири дела меморије који се називају сегменти и то су:

  • Стек сегмент;
  • Хип сегмент;
  • Сегмент података;
  • Код сегмент.

Стек сегмент (Stack segment) садржи локалне променљиве и параметре функција. Хип сегмент (Heap segment) је део меморије у који се смештају подаци који се генеришу у току извршавања процеса, односно простор који се динамички алоцира у зависности од потреба процеса => хип сегмент је, у ствари, динамичка меморија. Сегмент података (Data segment) садржи глобалне променљиве, а инструкције које процес треба да изврши налазе се у Код сегменту (Code segment, Text segment).

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

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

WordPress.com лого

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

Google photo

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

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

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

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

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

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