Process control block (блок керування процесом) і контекст процесу - студопедія

Для того щоб ОС могла виконувати операції над процесами, кожен процес представляється в ній деякою структурою даних. Ця структура містить інформацію, специфічну для даного процесу:

§ стан, в якому знаходиться процес;

§ вміст регістрів процесора;

§ облікові дані (ідентифікаційний номер процесу, який користувач ініціював його роботу, загальний час використання процесора даним процесом і т. Д.);

§ інформацію про пристрої введення-виведення, пов'язаних з процесом (наприклад, які пристрої закріплені за процесом, таблицю відкритих файлів);

Конкретний її склад і будова залежать від конкретної операційної системи. У багатьох операційних системах інформація, що характеризує процес, зберігається не в одній, а в декількох пов'язаних структурах даних. Ці структури можуть мати різні найменування, містити додаткову інформацію або, навпаки, лише частина описаної інформації. Важливо лише те, що для будь-якого процесу, що знаходиться в обчислювальній системі, вся інформація, необхідна для здійснення операцій над ним, доступна операційній системі. Для простоти викладу вважатимемо, що вона зберігається в одній структурі даних, званої в різних ОС блоком управління процесом (Process Control Block), блоком управління диспетчеризація (Dispatch Control Block), блоком управління завданням (Task Control Block) і т.д.

Керуючі блоки можуть зберігатися в області ядра, в іншій області ОС або поміщатися в власну пам'ять програми. Незалежно від розташування керуючих блоків вони утворюють таблицю переходів, або чергу диспетчера. Іноді таблиця переходів ділиться на кілька підтаблиць, або підчерги. Оскільки керуючі блоки пов'язані в список, для кожного з них вказується попередній і наступний. У деяких випадках вводяться кілька критеріїв впорядкованості, і тоді кожному блоку відповідає кілька попередніх і наступних. На рис.5.4 показаний загальний вигляд диспетчера і його ставлення до структурам системних даних і іншим примітивам.

Малюнок 5.4 - Взаємодія диспетчера зі структурами системних даних і примітивів ядра

Блок управління процесом є моделлю процесу для операційної системи. Будь-яка операція, вироблена операційною системою над процесом, викликає певні зміни в PCB. В рамках прийнятої моделі станів процесів вміст PCB між операціями залишається постійним.

Схожі статті