Главна страна
Распоређивање процеса
[уреди]УВОД
[уреди]Распоређивање процеса нам је битан метод у области мултипрограмирања. Мултипрограмирањем се меморија дели на партиције у које се смештају различити процеси. У суштини мултипрограмирањем више процеса на најефективнији начин делимо различите процесе различитим процесорима. Зато на једнопроцесорским системима се у једном тренутку може извршавати само један процес. За распоређивање процеса на најефективнији начин је задужен оперативни систем, па се ту сусрећемо са појмовима "Редови чекања на процесор" и "Планери послова и диспечери".
Редови чекања на процесор
[уреди]Постоји више редова чекања кроз које пролазе процеси:
- ред чекања за послове (job queue), који обухвата све постојеће процесе на систему;
- ред чекања спремних послова (ready queue), који обухвата све процесе спремне за рад и који се налазе у радој меморији.
- специјални ред чекања који уводи оперативни систем за улазно/излазне уређаје.
Када процесор крене да извршава одређени процес тада кажемо да се тај процес налази у стању извршавања. Када се процес налази у стању извршавања могу се десити различити сценарији:
- процес се може извршити;
- процес може прећи одређени временски квантум (ограничење) па зато остати без процесора;
- направити нови процес и чекати у блокираном стању док се нови процес не изврши;
- може остати без процесора уколико се деси прекид
- Постави U/I захтев, након чега се пребацује у ред чекања на улазно/излазни уређај, тј. постаје блокиран. Процес се враћа у ред чекања на процесор све док се не заврши, после чега ослобађа све заузете ресурсе;
Планери послова и диспечери
[уреди]на основу ресурса које доминантно користе, процеси се деле на
- процесе који доминантно користе процесор;
- процесе који доминантно користе улазно/излазне уређаје;
Планер послова има задужење да све процесе попакује на временски најефективнији начин. Зато процесор не сме себи да дозволи следеће две ставке:
- већина одабраних послова интензивно користи процесор, јер би тада улазно/излазни били
слабо искоришћени;
- већина одабраних послова интензивно користи улазно/излазне уређаје, јер би тада
процесор био слабо искоришћен;
Улога диспечера је да додељује процесор процесу када он пређе из стања извршавања у стање чекања или готово.
Диспечер одлучује следеће три ствари:
- који процес ће добити процесор;
- када ће га добити;
- на колико дуго ће га добити;
Учесталост позивања планера послова и диспечера се знатно разликују, диспечер се позива много чешће од планера.