Управљање процесима

32
Управљање Управљање процесима процесима Концепт Концепт мултипрограмирања мултипрограмирања Концепт планирања Концепт планирања послова послова Алгоритми планирања Алгоритми планирања Процеси и нити Процеси и нити

Upload: sean-fox

Post on 03-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Управљање процесима. Концепт мултипрограмирања Концепт планирања послова Алгоритми планирања Процеси и нити. Концепт мултипрограмирања. Мултипрограмирање је најважнији концепт у модерним оперативним системима. Концепт мултипрограмирања. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Управљање процесима

Управљање процесимаУправљање процесимаКонцепт Концепт

мултипрограмирањамултипрограмирањаКонцепт планирања Концепт планирања

пословапословаАлгоритми планирањаАлгоритми планирањаПроцеси и нитиПроцеси и нити

Page 2: Управљање процесима

Концепт мултипрограмирањаКонцепт мултипрограмирања

МултипрограмирањеМултипрограмирање је најважнији је најважнији концепт у модерним оперативним концепт у модерним оперативним системима.системима.

Page 3: Управљање процесима

Концепт мултипрограмирањаКонцепт мултипрограмирања

Један посао се извршава све до Један посао се извршава све до момента када му је потребна нека У/И момента када му је потребна нека У/И активност.активност.

Док тај посао чека на задовољење У/И Док тај посао чека на задовољење У/И захтева процесор прелази на захтева процесор прелази на обављање другог посла.обављање другог посла.

Овим се постиже већа искоришћеност Овим се постиже већа искоришћеност CPUCPU-а и већа укупна -а и већа укупна пропусна моћпропусна моћ система.система.

Page 4: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Планирање је основна функција ОС-а.Планирање је основна функција ОС-а.

CPUCPU је један од основних ресурса. је један од основних ресурса.

Page 5: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Како назвати активностиКако назвати активности CPU CPU--aa?? Пакетни системи извршавају Пакетни системи извршавају пословепослове

((jobsjobs)).. Системи са дељењем процесорског Системи са дељењем процесорског

времена извршавају времена извршавају корисничке програмекорисничке програме ((user programsuser programs))..

Активности Активности CPUCPU--aa називају се називају се заједничким именом заједничким именом процесипроцеси..

ПроцесПроцес је програм који се извршава. је програм који се извршава.

Page 6: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Процес непрестано извршава циклус Процес непрестано извршава циклус активности активности CPUCPU--aa ( (cpu burstcpu burst)) и и У/И У/И активностиактивности ( (I/O burstI/O burst).).

трајање

фреквенција

Сл. 1. Хистограм трајања CPU активности.

Page 7: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Нови Активан Заустављен

Чекање

Сл. 2. Дијаграм стања процеса.

Page 8: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Нови Спреман Извршавање

Чекање

Заустављен

Сл. 3. Детаљнији дијаграм стања процеса.

Page 9: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Сваки процес у оперативном систему Сваки процес у оперативном систему представљен је представљен је управљачким блоком управљачким блоком процесапроцеса ( (PCB – PCB – PProcessrocess Control Control BlockBlock).).

Page 10: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

PCB PCB који садржи:који садржи: Стање процеса.Стање процеса. Садржај програмског бројача.Садржај програмског бројача. Садржај регистара Садржај регистара CPUCPU-а.-а. Информације о управљању меморијом.Информације о управљању меморијом. Информације о стању У/И.Информације о стању У/И. Информације о планирању Информације о планирању CPUCPU-а.-а.

Page 11: Управљање процесима

Концепт планирања пословаКонцепт планирања пословапоинтер Стање процеса

Број процеса

Програмски бројач

Регистри

Меморијске границе

Листа отворених фајлова

Број процеса

Сл 4. Управљачки блок процеса.

Page 12: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

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

Спремни процеси држе се у Спремни процеси држе се у редовима редовима спремних процесаспремних процеса..

Процеси који чекају на неки У/И уређај Процеси који чекају на неки У/И уређај налазе се у налазе се у реду У/И уређајареду У/И уређаја..

Page 13: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Ред спремних процеса CPU

Ред У/И уређајаУ/И

Ред У/И уређајаУ/И

Ред У/И уређајаУ/И

Сл. 5. Планирање CPU-а приказано помоћу дијаграма редова.

Page 14: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Оперативни систем има више Оперативни систем има више планерапланера ((schedulersschedulers). Два су основна:). Два су основна: дугорочни, идугорочни, и краткорочни.краткорочни.

Page 15: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Ред спремних процеса CPU

Ред(ови) У/И уређајаУ/И

ДугорочниКраткорочни

КРАЈ

Сл. 6. Поједностављени дијаграм редова.

Page 16: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Дугорочни планерДугорочни планер (планер послова) (планер послова) одређује који ће се послови пропустити одређује који ће се послови пропустити у систем ради обраде. у систем ради обраде.

Краткорочни планерКраткорочни планер (планер (планер CPUCPU-а) -а) бира послове из пула послова и пуни бира послове из пула послова и пуни их у меморију ради извршења.их у меморију ради извршења.

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

Page 17: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Неки системи имају и Неки системи имају и средњерочни средњерочни планерпланер..

Идеја је да је понекад корисније Идеја је да је понекад корисније уклонити процес из меморије и тиме уклонити процес из меморије и тиме смањити степен мултипрограмирања.смањити степен мултипрограмирања.

Ова шема се назива Ова шема се назива пребацивањепребацивање ((swappingswapping).).

Page 18: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Ред спремних процеса CPU

Ред(ови) У/И уређајаУ/И

Делимично извршени процесиSWAP OUT

КРАЈ

SWAP IN

Сл. 7. Дијаграм редова са средњерочним планером.

Page 19: Управљање процесима

Концепт планирања пословаКонцепт планирања послова

Још једна компонента је укључена у Још једна компонента је укључена у функцију планирања и зове се функцију планирања и зове се диспечердиспечер..

Диспечер је модул који даје управљање Диспечер је модул који даје управљање над над CPUCPU-ом процесу који је изабран од -ом процесу који је изабран од стране краткорочног планера.стране краткорочног планера.

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

Page 20: Управљање процесима

Алгоритми планирањаАлгоритми планирања

Критеријуми перформанси:Критеријуми перформанси: Искоришћеност Искоришћеност CPUCPU-а.-а. Пропусна моћ.Пропусна моћ. Време обиласкаВреме обиласка.. Време чекањаВреме чекања.. Време одзиваВреме одзива..

Page 21: Управљање процесима

Алгоритми планирањаАлгоритми планирања

FCFS (FCFS (First-Come-First-ServedFirst-Come-First-Served))

ПосаоПосао Време извршавањаВреме извршавања

11 2424

22 33

33 33

Посао 1 Посао 2 Посао 3

0 24 27 30

Посао 1Посао 2 Посао 3

0 3 6 30

Page 22: Управљање процесима

Алгоритми планирањаАлгоритми планирања

SJF (SJF (Shortest-Job-FirstShortest-Job-First))

ПосаоПосао Време извршавањаВреме извршавања

11 66

22 33

33 88

44 77

Посао 4Посао 2 Посао 1

0 3 9 24

Посао 3

16

Page 23: Управљање процесима

Алгоритми планирањаАлгоритми планирања

КраћиДужи посао

Краћи Дужи посао

Сл. 8. Доказ да је SJF оптималан.

На жалост, овај алгоритам се не може На жалост, овај алгоритам се не може применити на краткорочно планирање, применити на краткорочно планирање, јер не можемо да знамо трајање јер не можемо да знамо трајање наредне наредне CPUCPU активности. активности.

Page 24: Управљање процесима

Алгоритми планирањаАлгоритми планирања

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

Page 25: Управљање процесима

Алгоритми планирањаАлгоритми планирања

Ако је Ако је ttnn трајање трајање nn-те -те CPUCPU активности а активности а

nn++11 предвиђено трајање наредне, онда предвиђено трајање наредне, онда

јеје

nn++11 = = ttnn + (1 - + (1 - ))nn , 0 , 0 1. 1.

Ако развијемо претходну формулу Ако развијемо претходну формулу замењујући вредност за замењујући вредност за nn добијамодобијамо

nn++11 = = ttnn + (1 - + (1 - ))ttnn-1-1 + … + (1 - + … + (1 - ) ) jj ttnn--jj + …+ …

Page 26: Управљање процесима

Алгоритми планирањаАлгоритми планирања

Алгоритам са приоритетимаАлгоритам са приоритетима Приоритети се могу додељивати интерно Приоритети се могу додељивати интерно

или екстерно.или екстерно. Главни проблем је појава Главни проблем је појава умирања оg умирања оg

глаgиглаgи..

Page 27: Управљање процесима

Алгоритми планирањаАлгоритми планирања

Алгоритми са прекидањемАлгоритми са прекидањем SRTF SRTF ((Shortest-Remaining-Time-FirstShortest-Remaining-Time-First).). Кружни алгоритам (Кружни алгоритам (Round-RobinRound-Robin).). Вишенивовски редови.Вишенивовски редови. Вишенивовски редови са повратном Вишенивовски редови са повратном

спрегом.спрегом.

Page 28: Управљање процесима

Алгоритми планирањаАлгоритми планирања

Квантум = 8

Квантум = 16

FCFS

Највиши приоритет

Најнижи приоритет

Сл. 9. Вишенивовски ред са повратном спрегом.

Page 29: Управљање процесима

Процеси и нитиПроцеси и нити

Концепт процеса подразумева две Концепт процеса подразумева две карактеристике:карактеристике: То је јединица која има власништво над То је јединица која има власништво над

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

врши планирање и дистрибуцију.врши планирање и дистрибуцију.

У већини оперативних система ове две У већини оперативних система ове две карактеристике јесу суштина онога што карактеристике јесу суштина онога што се назива се назива процеспроцес. .

Page 30: Управљање процесима

Процеси и нитиПроцеси и нити

Код неких ОС ове две карактеристике Код неких ОС ове две карактеристике се могу третирати одвојено. се могу третирати одвојено.

Јединица дистрибуције (доделе Јединица дистрибуције (доделе процесору ради извршења) се назива процесору ради извршења) се назива нитнит или процес мале тежине или процес мале тежине..

Јединица власништва над ресурсима Јединица власништва над ресурсима назива се назива се процеспроцес или задатак. или задатак.

Page 31: Управљање процесима

Процеси и нитиПроцеси и нити

Најзначајнија употреба концепта нити Најзначајнија употреба концепта нити је она где више нити може постојати у је она где више нити може постојати у једном процесу.једном процесу.

Приближан приступ коришћен је код Приближан приступ коришћен је код MVSMVS, а најексплицитније је употребљен , а најексплицитније је употребљен код код WindowsWindows NTNT, , OSOS/2, једној од /2, једној од Sun-Sun-ових верзија ових верзија UnixUnix-а, као и код -а, као и код оперативног система оперативног система MachMach..

Page 32: Управљање процесима

Процеси и нитиПроцеси и нити

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

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