Ключова разлика – Планировчик срещу Диспечер
Scheduler и Dispatcher са свързани с планиране на процеси на операционна система. Ключовата разлика между планировчика и диспечера е, че планировчикът избира процес от няколко процеса, които да бъдат изпълнени, докато диспечерът разпределя CPU за избрания процес от планировчика.
В една компютърна система се изпълняват няколко процеса. Графикът е процес на операционната система, за да реши кой процес да бъде разпределен към процесора за изпълнение на няколко процеса.
Какво е Scheduler?
В една операционна система има три типа планировчици. Те са дългосрочен планировчик, краткосрочен планировчик и средносрочен планировчик. Дългосрочният планировчик е известен също като планировчик на задачи. В компютърната система има редица процеси, чакащи за изпълнение. Тези процеси се поставят във вторичното хранилище или в опашката за задания, за да се изпълнят по-късно. Целта на дългосрочния планировчик е да избере процеси от опашката със задачи и да пренесе този процес в готовата опашка в основната памет.
Краткосрочният планировчик е известен още като CPU планировчик. Задачата на краткосрочния планировчик е да избере процес в готовата опашка, който трябва да бъде разпределен към CPU. Краткосрочният планировчик трябва да избере процес от готовата опашка, докато предишният процес преминава в състояние на изчакване. Трябва да е бързо, в противен случай времето на процесора ще бъде загубено.
Фигура 01: График на процеса
Изпълняващият процес може да изисква I/O операция. И така, процесът преминава в състояние на изчакване. Твърди се, че този процес е спрян. За максимално използване на процесора трябва да се изпълнява друг процес. Спряният процес се прехвърля обратно във вторичната памет. След известно време прехвърленият процес може да се върне обратно в основната памет и да продължи изпълнението от мястото, където е бил прекратен. Прехвърлянето на спряния процес към вторичната памет се нарича swapping out. Връщането на процеса обратно в главната памет е известно като размяна. Това превключване и излизане се извършва от средния планировчик.
Какво е Диспечер?
Когато краткосрочният планировчик избере от готовата опашка, диспечерът изпълнява задачата да разпредели избрания процес към процесора. Работен процес преминава в състояние на изчакване за IO операция и т.н. След това CPU се разпределя към друг процес. Това превключване на процесора от един процес към друг се нарича превключване на контекста. Диспечерът изпълнява различни задачи, включително превключване на контекста, настройка на потребителски регистри и картографиране на паметта. Те са необходими, за да може процесът да се изпълни и да прехвърли контрола на процесора към този процес. При изпращане процесът се променя от състояние на готовност в състояние на работа.
Понякога диспечерът се счита за част от краткосрочния планировчик, така че цялото звено се нарича краткосрочен планировчик. В този сценарий задачата на краткосрочния планировчик е да избере процес от готовата опашка и също така да разпредели процесора за този процес.
Каква е връзката между планировчика и диспечера?
Диспечерът присвоява избрания процес от краткосрочния планировчик на процесора
Каква е разликата между Scheduler и Dispatcher?
Планировчик срещу Диспечер |
|
Планировчикът е специален системен софтуер, който управлява планирането на процеси, като избира процеса за изпълнение. | Диспечерът е модулът, който дава контрол на процесора на процеса, избран от краткосрочния планировчик. |
Типове | |
Има три типа планировчици, известни като;
|
Няма категоризация за диспечер. |
Основни задачи | |
Дългосрочният планировчик избира процеса от опашката със задания и го поставя в опашката за готовност. Краткосрочният планировчик избира процес в готовата опашка. Средният планировчик извършва размяната в процеса. |
Диспечерът разпределя CPU за процеса, избран от краткосрочния планировчик. |
Резюме – Планировчик срещу Диспечер
Scheduler и Dispatcher се използват при планиране на процеси на операционна система. Разликата между планировчика и диспечера е, че планировчикът избира процес от няколко процеса, които да бъдат изпълнени, докато диспечерът разпределя CPU за избрания процес от планировчика.