Процеси та їх приоритети. Створення та завершення процесів.

Матеріал з Вікі ЦДУ
Версія від 00:41, 26 грудня 2011; Vs-parshenkov (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Роботу виконав студент 46 групи Паршенков Віталій

Користувач:NICOLE

Процеси

Процесом (задачею) зазвичай називають екземпляр програми що виконується.

Хоча на перший погляд здається що програма і процес поняття практично однакові, вони фундаментально відрізняються одне від одного. Програма є статичним набором команд, а процес це набір ресурсів і даних, що використовуються при виконанні програми.

Будь-який процес може знаходитися у трьох станах:

  • виконання
  • очікування
  • готовності
Під виконанням процесу розуміють активний стан процесу під час якого він споживає процесорний час, а також користується іншими ресурсами системи.
Очікування – пасивний стан процесу при якому процес очікує вивільнення потрібного йому ресурсу або свого кванту часу у процесорі.

Процес у 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.