320 likes | 408 Views
Управљање процесима. Концепт мултипрограмирања Концепт планирања послова Алгоритми планирања Процеси и нити. Концепт мултипрограмирања. Мултипрограмирање је најважнији концепт у модерним оперативним системима. Концепт мултипрограмирања.
E N D
Управљање процесима Концепт мултипрограмирања Концепт планирања послова Алгоритми планирања Процеси и нити
Концепт мултипрограмирања • Мултипрограмирање је најважнији концепт у модерним оперативним системима.
Концепт мултипрограмирања • Један посао се извршава све до момента када му је потребна нека У/И активност. • Док тај посао чека на задовољење У/И захтева процесор прелази на обављање другог посла. • Овим се постиже већа искоришћеност CPU-а и већа укупна пропусна моћ система.
Концепт планирања послова • Планирање је основна функција ОС-а. • CPU је један од основних ресурса.
Концепт планирања послова • Како назвати активности CPU-a? • Пакетни системи извршавају послове (jobs). • Системи са дељењем процесорског времена извршавају корисничке програме (user programs). • Активности CPU-a називају се заједничким именом процеси. • Процес је програм који се извршава.
фреквенција трајање Сл. 1. Хистограм трајања CPU активности. Концепт планирања послова • Процес непрестано извршава циклус активности CPU-a (cpu burst)и У/И активности (I/O burst).
Заустављен Нови Активан Чекање Сл. 2. Дијаграм стања процеса. Концепт планирања послова
Извршавање Заустављен Нови Спреман Чекање Сл. 3. Детаљнији дијаграм стања процеса. Концепт планирања послова
Концепт планирања послова • Сваки процес у оперативном систему представљен је управљачким блоком процеса (PCB – Process ControlBlock).
Концепт планирања послова • PCB који садржи: • Стање процеса. • Садржај програмског бројача. • Садржај регистара CPU-а. • Информације о управљању меморијом. • Информације о стању У/И. • Информације о планирању CPU-а.
Сл 4. Управљачкиблокпроцеса. поинтер Стањепроцеса Бројпроцеса Програмскибројач Регистри Меморијскегранице Листаотворенихфајлова Бројпроцеса Концепт планирања послова
Концепт планирања послова • Ако у систему постоји више процеса који чекају на неки ресурс они се организују у редове процеса. • Спремни процеси држе се у редовима спремних процеса. • Процеси који чекају на неки У/И уређај налазе се у реду У/И уређаја.
Редспремнихпроцеса РедУ/Иуређаја РедУ/Иуређаја РедУ/Иуређаја Сл. 5. Планирање CPU-а приказано помоћу дијаграма редова. CPU У/И У/И У/И Концепт планирања послова
Концепт планирања послова • Оперативни систем има више планера (schedulers). Два су основна: • дугорочни, и • краткорочни.
Дугорочни Краткорочни КРАЈ CPU Редспремнихпроцеса У/И Ред(ови) У/Иуређаја Сл. 6. Поједностављени дијаграм редова. Концепт планирања послова
Концепт планирања послова • Дугорочни планер (планер послова) одређује који ће се послови пропустити у систем ради обраде. • Краткорочни планер (планер CPU-а) бира послове из пула послова и пуни их у меморију ради извршења. • У неким системима дугорочни планер не постоји или је минималан.
Концепт планирања послова • Неки системи имају и средњерочни планер. • Идеја је да је понекад корисније уклонити процес из меморије и тиме смањити степен мултипрограмирања. • Ова шема се назива пребацивање (swapping).
SWAP IN SWAP OUT Делимичноизвршенипроцеси Редспремнихпроцеса КРАЈ CPU Ред(ови) У/Иуређаја У/И Сл. 7. Дијаграм редова са средњерочним планером. Концепт планирања послова
Концепт планирања послова • Још једна компонента је укључена у функцију планирања и зове се диспечер. • Диспечер је модул који даје управљање над CPU-ом процесу који је изабран од стране краткорочног планера. • Ова функција обухвата пуњење регистра процеса, пребацивање у кориснички режим рада и скок на одговарајућу локацију у корисничком програму.
Алгоритми планирања • Критеријуми перформанси: • Искоришћеност CPU-а. • Пропусна моћ. • Време обиласка. • Време чекања. • Време одзива.
Посао 1 Посао 2 Посао 3 0 24 27 30 Посао 2 Посао 3 Посао 1 0 3 6 30 Алгоритми планирања • FCFS (First-Come-First-Served)
Посао 2 Посао 1 Посао 4 Посао 3 0 3 9 16 24 Алгоритми планирања • SJF (Shortest-Job-First)
Дужипосао Краћи Краћи Дужипосао Сл. 8. Доказ да је SJF оптималан. Алгоритми планирања • На жалост, овај алгоритам се не може применити на краткорочно планирање, јер не можемо да знамо трајање наредне CPU активности.
Алгоритми планирања • Обично се врши предвиђање помоћу експоненцијалне средине претходних активности.
Алгоритми планирања • Ако је tnтрајање n-те CPU активности а n+1предвиђено трајање наредне, онда је n+1= tn + (1 - )n , 0 1. • Ако развијемо претходну формулу замењујући вредност за nдобијамо n+1= tn + (1 - )tn-1 + … + (1 - ) jtn-j+ …
Алгоритми планирања • Алгоритам са приоритетима • Приоритети се могу додељивати интерно или екстерно. • Главни проблем је појава умирања од глади.
Алгоритми планирања • Алгоритми са прекидањем • SRTF (Shortest-Remaining-Time-First). • Кружни алгоритам (Round-Robin). • Вишенивовски редови. • Вишенивовски редови са повратном спрегом.
Квантум = 8 Највишиприоритет Квантум = 16 Најнижиприоритет FCFS Алгоритми планирања Сл. 9. Вишенивовски ред са повратном спрегом.
Процеси и нити • Концепт процеса подразумева две карактеристике: • То је јединица која има власништво над ресурсима. • То је ентитет над којим оперативни систем врши планирање и дистрибуцију. • У већини оперативних система ове две карактеристике јесу суштина онога што се назива процес.
Процеси и нити • Код неких ОС ове две карактеристике се могу третирати одвојено. • Јединица дистрибуције (доделе процесору ради извршења) се назива нит или процес мале тежине. • Јединица власништва над ресурсима назива се процес или задатак.
Процеси и нити • Најзначајнија употреба концепта нити је она где више нити може постојати у једном процесу. • Приближан приступ коришћен је код MVS, а најексплицитније је употребљен код WindowsNT, OS/2, једној од Sun-ових верзија Unix-а, као и код оперативног система Mach.
Процеси и нити • Пример апликације која може да користи нити је фајл сервер у некој локалној мрежи. • Нити омогућују већу ефикасност и код комуникације различитих програма у извршењу.