перемикання контексту

До сих пір ми розглядали операції над процесами ізольовано, незалежно один від одного. Насправді ж діяльність мультипрограммной операційної системи складається з ланцюжків операцій, виконуваних над різними процесами, і супроводжується перемиканням процесора з одного процесу на інший.

Давайте для прикладу спрощено розглянемо, як в реальності може протікати операція розблокування процесу, що очікує введення-виведення При виконанні процесором деякого процесу (на малюнку - процес 1) виникає переривання від пристрою введення-виведення, що сигналізує про закінчення операцій на пристрої. Над що виконуються процесом здійснюється операція припинення. Далі операційна система розблокує процес, який ініціював запит на введення-виведення (на малюнку - процес 2) і здійснює запуск призупиненого або нового процесу, обраного при виконанні планування (на малюнку був обраний розблокований процес). Як ми бачимо, в результаті обробки інформації про закінчення операції введення-виведення можлива зміна процесу, що знаходиться в стані виконання.

перемикання контексту

Рятувальна операція розблокування процесу. Використання терміну «код користувача» не обмежує спільності малюнка тільки призначеними для користувача процесами

Для коректного перемикання процесора з одного процесу на інший необхідно зберегти контекст виконувався процесу і відновити контекст процесу, на який буде переключено процесор. Така процедура збереження / відновлення працездатності процесів називається перемиканням контексту. Час, витрачений на перемикання контексту, не використовується обчислювальної системою для здійснення корисної роботи і являє собою накладні витрати, що знижують продуктивність системи. Воно змінюється від машини до машини і зазвичай коливається в діапазоні від 1 до 1000 мікросекунд. Істотно скоротити накладні витрати в сучасних операційних системах дозволяє розширена модель процесів, що включає в себе поняття threads of execution (нитки виконання або просто нитки).

Чим ретельніше ми плануємо свою діяльність, тим менше часу залишається на її здійснення.

З анналів Держплану

Всякий раз, коли нам доводиться мати справу з обмеженою кількістю ресурсів і декількома їх споживачами, будь то фонд заробітної плати в трудовому колективі або студентська вечірка з декількома ящиками пива, ми змушені займатися розподілом наявних ресурсів між споживачами або, іншими словами, плануванням використання ресурсів. Таке планування повинно мати чітко поставлені цілі (чого ми хочемо добитися за рахунок розподілу ресурсів) і алгоритми, що відповідають цілям і спираються на параметри споживачів. Тільки при правильному виборі критеріїв та алгоритмів можна уникнути таких питань, як: «Чому я отримую в десять разів менше, ніж мій шеф?» Або «А де моє пиво?». Справжня лекція присвячена плануванню виконання процесів в мультипрограмних обчислювальних системах або, інакше кажучи, планування процесів.

Схожі статті