Процеси та їх приоритети. Створення та завершення процесів.
Роботу виконав студент 46 групи Паршенков Віталій
Процеси
- Процесом (задачею) зазвичай називають екземпляр програми що виконується.
Хоча на перший погляд здається що програма і процес поняття практично однакові, вони фундаментально відрізняються одне від одного. Програма є статичним набором команд, а процес це набір ресурсів і даних, що використовуються при виконанні програми.
Будь-який процес може знаходитися у трьох станах:
- виконання
- очікування
- готовності
- Під виконанням процесу розуміють активний стан процесу під час якого він споживає процесорний час, а також користується іншими ресурсами системи.
- Очікування – пасивний стан процесу при якому процес очікує вивільнення потрібного йому ресурсу або свого кванту часу у процесорі.
Процес у Windows характеризується наступними компонентами:
- - Структура даних, що містить всю інформацію про процес, зокрема список відкритих дескрипторів різних системних ресурсів, унікальний ідентифікатор процесу, різну статистичну інформацію і т.д.;
- - Адресний простір - діапазон адрес віртуальної пам'яті, яким може користуватися процес;
- - Виконувана програма і дані, проектовані на віртуальний адресний простір процесу.
Пріоритети
У Windows існує 32 рівні пріоритету, від 0 до 31. Вони поділяються на два блоки від 31 – 16 – пріоритети реального часу; від 15 - 1 динамічні рівні; 0 - системний пріоритет, зарезервований для потоку обнулення сторінок (zero-page thread).
При створенні процесу, йому призначається один з шести класів пріоритетів:
- Real time class (значення 24);
- High class (значення 13);
- Above normal class (значення 10),
- Normal class (значення 8),
- Below normal class (значення 6),
- Idle class (значення 4).
- У Windows NT/2000/XP пріоритет процесу можна подивитися в Task Manager.Above normal і Below normal з'явилися починаючи з Win2000.
- Пріоритет кожного потоку (базовий пріоритет потоку) складається з пріоритету його процесу і відносного пріоритету самого потоку.
Є сім відносних пріоритетів потоків:
- Normal: такий же як і у процесу;
- Normal: +1 до пріоритету процесу;
- Below normal: -1;
- Highest: +2;
- Lowest: -2;
- Time critical: встановлює базовий пріоритет потоку для Real time класу в 31, для решти класів в 15.
- Idle: встановлює базовий пріоритет потоку для Real time класу в 16, для решти класів в 1.