Upload
sean-fox
View
35
Download
0
Embed Size (px)
DESCRIPTION
Управљање процесима. Концепт мултипрограмирања Концепт планирања послова Алгоритми планирања Процеси и нити. Концепт мултипрограмирања. Мултипрограмирање је најважнији концепт у модерним оперативним системима. Концепт мултипрограмирања. - PowerPoint PPT Presentation
Citation preview
Управљање процесимаУправљање процесимаКонцепт Концепт
мултипрограмирањамултипрограмирањаКонцепт планирања Концепт планирања
пословапословаАлгоритми планирањаАлгоритми планирањаПроцеси и нитиПроцеси и нити
Концепт мултипрограмирањаКонцепт мултипрограмирања
МултипрограмирањеМултипрограмирање је најважнији је најважнији концепт у модерним оперативним концепт у модерним оперативним системима.системима.
Концепт мултипрограмирањаКонцепт мултипрограмирања
Један посао се извршава све до Један посао се извршава све до момента када му је потребна нека У/И момента када му је потребна нека У/И активност.активност.
Док тај посао чека на задовољење У/И Док тај посао чека на задовољење У/И захтева процесор прелази на захтева процесор прелази на обављање другог посла.обављање другог посла.
Овим се постиже већа искоришћеност Овим се постиже већа искоришћеност CPUCPU-а и већа укупна -а и већа укупна пропусна моћпропусна моћ система.система.
Концепт планирања пословаКонцепт планирања послова
Планирање је основна функција ОС-а.Планирање је основна функција ОС-а.
CPUCPU је један од основних ресурса. је један од основних ресурса.
Концепт планирања пословаКонцепт планирања послова
Како назвати активностиКако назвати активности CPU CPU--aa?? Пакетни системи извршавају Пакетни системи извршавају пословепослове
((jobsjobs)).. Системи са дељењем процесорског Системи са дељењем процесорског
времена извршавају времена извршавају корисничке програмекорисничке програме ((user programsuser programs))..
Активности Активности CPUCPU--aa називају се називају се заједничким именом заједничким именом процесипроцеси..
ПроцесПроцес је програм који се извршава. је програм који се извршава.
Концепт планирања пословаКонцепт планирања послова
Процес непрестано извршава циклус Процес непрестано извршава циклус активности активности CPUCPU--aa ( (cpu burstcpu burst)) и и У/И У/И активностиактивности ( (I/O burstI/O burst).).
трајање
фреквенција
Сл. 1. Хистограм трајања CPU активности.
Концепт планирања пословаКонцепт планирања послова
Нови Активан Заустављен
Чекање
Сл. 2. Дијаграм стања процеса.
Концепт планирања пословаКонцепт планирања послова
Нови Спреман Извршавање
Чекање
Заустављен
Сл. 3. Детаљнији дијаграм стања процеса.
Концепт планирања пословаКонцепт планирања послова
Сваки процес у оперативном систему Сваки процес у оперативном систему представљен је представљен је управљачким блоком управљачким блоком процесапроцеса ( (PCB – PCB – PProcessrocess Control Control BlockBlock).).
Концепт планирања пословаКонцепт планирања послова
PCB PCB који садржи:који садржи: Стање процеса.Стање процеса. Садржај програмског бројача.Садржај програмског бројача. Садржај регистара Садржај регистара CPUCPU-а.-а. Информације о управљању меморијом.Информације о управљању меморијом. Информације о стању У/И.Информације о стању У/И. Информације о планирању Информације о планирању CPUCPU-а.-а.
Концепт планирања пословаКонцепт планирања пословапоинтер Стање процеса
Број процеса
Програмски бројач
Регистри
Меморијске границе
Листа отворених фајлова
Број процеса
Сл 4. Управљачки блок процеса.
Концепт планирања пословаКонцепт планирања послова
Ако у систему постоји више процеса Ако у систему постоји више процеса који чекају на неки ресурс они се који чекају на неки ресурс они се организују у организују у редове процесаредове процеса..
Спремни процеси држе се у Спремни процеси држе се у редовима редовима спремних процесаспремних процеса..
Процеси који чекају на неки У/И уређај Процеси који чекају на неки У/И уређај налазе се у налазе се у реду У/И уређајареду У/И уређаја..
Концепт планирања пословаКонцепт планирања послова
Ред спремних процеса CPU
Ред У/И уређајаУ/И
Ред У/И уређајаУ/И
Ред У/И уређајаУ/И
Сл. 5. Планирање CPU-а приказано помоћу дијаграма редова.
Концепт планирања пословаКонцепт планирања послова
Оперативни систем има више Оперативни систем има више планерапланера ((schedulersschedulers). Два су основна:). Два су основна: дугорочни, идугорочни, и краткорочни.краткорочни.
Концепт планирања пословаКонцепт планирања послова
Ред спремних процеса CPU
Ред(ови) У/И уређајаУ/И
ДугорочниКраткорочни
КРАЈ
Сл. 6. Поједностављени дијаграм редова.
Концепт планирања пословаКонцепт планирања послова
Дугорочни планерДугорочни планер (планер послова) (планер послова) одређује који ће се послови пропустити одређује који ће се послови пропустити у систем ради обраде. у систем ради обраде.
Краткорочни планерКраткорочни планер (планер (планер CPUCPU-а) -а) бира послове из пула послова и пуни бира послове из пула послова и пуни их у меморију ради извршења.их у меморију ради извршења.
У неким системима дугорочни планер У неким системима дугорочни планер не постоји или је минималан.не постоји или је минималан.
Концепт планирања пословаКонцепт планирања послова
Неки системи имају и Неки системи имају и средњерочни средњерочни планерпланер..
Идеја је да је понекад корисније Идеја је да је понекад корисније уклонити процес из меморије и тиме уклонити процес из меморије и тиме смањити степен мултипрограмирања.смањити степен мултипрограмирања.
Ова шема се назива Ова шема се назива пребацивањепребацивање ((swappingswapping).).
Концепт планирања пословаКонцепт планирања послова
Ред спремних процеса CPU
Ред(ови) У/И уређајаУ/И
Делимично извршени процесиSWAP OUT
КРАЈ
SWAP IN
Сл. 7. Дијаграм редова са средњерочним планером.
Концепт планирања пословаКонцепт планирања послова
Још једна компонента је укључена у Још једна компонента је укључена у функцију планирања и зове се функцију планирања и зове се диспечердиспечер..
Диспечер је модул који даје управљање Диспечер је модул који даје управљање над над CPUCPU-ом процесу који је изабран од -ом процесу који је изабран од стране краткорочног планера.стране краткорочног планера.
Ова функција обухвата пуњење регистра Ова функција обухвата пуњење регистра процеса, пребацивање у кориснички процеса, пребацивање у кориснички режим рада и скок на одговарајућу режим рада и скок на одговарајућу локацију у корисничком програму.локацију у корисничком програму.
Алгоритми планирањаАлгоритми планирања
Критеријуми перформанси:Критеријуми перформанси: Искоришћеност Искоришћеност CPUCPU-а.-а. Пропусна моћ.Пропусна моћ. Време обиласкаВреме обиласка.. Време чекањаВреме чекања.. Време одзиваВреме одзива..
Алгоритми планирањаАлгоритми планирања
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
Алгоритми планирањаАлгоритми планирања
SJF (SJF (Shortest-Job-FirstShortest-Job-First))
ПосаоПосао Време извршавањаВреме извршавања
11 66
22 33
33 88
44 77
Посао 4Посао 2 Посао 1
0 3 9 24
Посао 3
16
Алгоритми планирањаАлгоритми планирања
КраћиДужи посао
Краћи Дужи посао
Сл. 8. Доказ да је SJF оптималан.
На жалост, овај алгоритам се не може На жалост, овај алгоритам се не може применити на краткорочно планирање, применити на краткорочно планирање, јер не можемо да знамо трајање јер не можемо да знамо трајање наредне наредне CPUCPU активности. активности.
Алгоритми планирањаАлгоритми планирања
Обично се врши предвиђање помоћу Обично се врши предвиђање помоћу експоненцијалне срединеекспоненцијалне средине претходних претходних активности.активности.
Алгоритми планирањаАлгоритми планирања
Ако је Ако је 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 + …+ …
Алгоритми планирањаАлгоритми планирања
Алгоритам са приоритетимаАлгоритам са приоритетима Приоритети се могу додељивати интерно Приоритети се могу додељивати интерно
или екстерно.или екстерно. Главни проблем је појава Главни проблем је појава умирања оg умирања оg
глаgиглаgи..
Алгоритми планирањаАлгоритми планирања
Алгоритми са прекидањемАлгоритми са прекидањем SRTF SRTF ((Shortest-Remaining-Time-FirstShortest-Remaining-Time-First).). Кружни алгоритам (Кружни алгоритам (Round-RobinRound-Robin).). Вишенивовски редови.Вишенивовски редови. Вишенивовски редови са повратном Вишенивовски редови са повратном
спрегом.спрегом.
Алгоритми планирањаАлгоритми планирања
Квантум = 8
Квантум = 16
FCFS
Највиши приоритет
Најнижи приоритет
Сл. 9. Вишенивовски ред са повратном спрегом.
Процеси и нитиПроцеси и нити
Концепт процеса подразумева две Концепт процеса подразумева две карактеристике:карактеристике: То је јединица која има власништво над То је јединица која има власништво над
ресурсима.ресурсима. То је ентитет над којим оперативни систем То је ентитет над којим оперативни систем
врши планирање и дистрибуцију.врши планирање и дистрибуцију.
У већини оперативних система ове две У већини оперативних система ове две карактеристике јесу суштина онога што карактеристике јесу суштина онога што се назива се назива процеспроцес. .
Процеси и нитиПроцеси и нити
Код неких ОС ове две карактеристике Код неких ОС ове две карактеристике се могу третирати одвојено. се могу третирати одвојено.
Јединица дистрибуције (доделе Јединица дистрибуције (доделе процесору ради извршења) се назива процесору ради извршења) се назива нитнит или процес мале тежине или процес мале тежине..
Јединица власништва над ресурсима Јединица власништва над ресурсима назива се назива се процеспроцес или задатак. или задатак.
Процеси и нитиПроцеси и нити
Најзначајнија употреба концепта нити Најзначајнија употреба концепта нити је она где више нити може постојати у је она где више нити може постојати у једном процесу.једном процесу.
Приближан приступ коришћен је код Приближан приступ коришћен је код MVSMVS, а најексплицитније је употребљен , а најексплицитније је употребљен код код WindowsWindows NTNT, , OSOS/2, једној од /2, једној од Sun-Sun-ових верзија ових верзија UnixUnix-а, као и код -а, као и код оперативног система оперативног система MachMach..
Процеси и нитиПроцеси и нити
Пример апликације која може да Пример апликације која може да користи нити је фајл сервер у некој користи нити је фајл сервер у некој локалној мрежи. локалној мрежи.
Нити омогућују већу ефикасност и код Нити омогућују већу ефикасност и код комуникације различитих програма у комуникације различитих програма у извршењу. извршењу.