Підсистема керування процесами повинна виконувати наступні операції над ними:
- створення;
- знищення;
- відновлення;
- зміна пріоритету;
- блокування;
- розблокування;
- запуск (або вибір).
Створення процесу. При створенні процесу передбачаються наступні дії:
- присвоєння процесові імені;
- включення цього імені в список імен процесів, що відомі системі;
- визначення початкового пріоритету процесу;
- формування блоку керування процесом (PCB);
- виділення процесові початкових ресурсів.
Кожен процес може породжувати інші процеси. У таких випадках він вважається батьківським процесом а породжені ним – дочірніми або згенерованими процесами.При такому підході створюється ієрархічна структура процесів, у якій в згенерованого процесу є тільки один породжуючий процес, але у кожного породжую чого процесу може бути багато згенерованих.
Знищення процесу. Вилучення процесу зі системи. Ресурси, що були виділені процесові звільняються та повертаються системі. Ім’я процесу витирається в системних списках та таблицях. Блок PCB, знищується.
Призупинення та відновлення процесу. Призупинення процесу використовується для короткочасного вивільнення певних ресурсів в періоди пікового навантаження. У випадку довготривалого призупинення процесу його ресурси можуть бути вивільнені. Рішення про вивільнення певних ресурсів у значній мірі залежить від природи цих ресурсів. Наприклад, основна пам’ять звільняється негайно; зовнішній запам’ятовуючий пристрій у випадку короткочасної призупинки процесу може бути збережений за ним.
З врахуванням призупинення та відновлення діаграма станів процесів має наступний вигляд показаний на рис. __.
Призупинка та відновлення процесу відіграють важливу роль з декількох причин:
1. Якщо система працює ненадійно, та є ознаки, що вона може відмовити, то біжучі процеси можна призупинити для того, щоб знову активізувати при відновленні працездатності системи;
2. Користувач, у якого окремі проміжні результати роботи програми викликали сумніви, може призупинити (а не припинити) її виконання для уточнення достовірності роботи програми (процесу);
3. Деякі процеси можна призупинити в моменти короткочасних пікових навантажень системи з тим, щоб потім відновити їх виконання, коли навантаження повернеться до звичайного рівня.
Виникає питання, чи переводити заблокований процес в стан призупинення?
Завершення операції вводу/виводу, або подія, що очікується, може ніколи не відбутися, або затриматися на невизначений час. Тому ОС в процесі розблокування виникає вибір:
- або припинити заблокований процес;
- або передбачити механізм, який дозволяв би переводити процес зі стану блокування в стан призупинення до завершення операції вводу/виводу, або до виникнення очікуваної події.
Так як, призупинення є операцією з найвищим пріоритетом, вона виконується негайно.