- •Базові дисципліни планування
- •Причини переривання виконання процесу
- •Кількісні показники оцінки ефективності системи
- •Вимоги до дисциплін планування.
- •Стратегії менеджера пам’ті
- •Моделі віртуальної пам’яті
- •Область пам’яті «дірка»
- •Внутрішні дірки
- •Зовнішні дірки
- •Односегментна модель
- •Дескриптор сегменту
- •Багатосегментна модель
- •Сторінкова модель
- •Дескриптор сторінки
- •Сегментно-сторінкова модель
- •Плоска модель
- •Поняття процессу
- •Стани процесу
- •Стан виконання
- •Стан готовності до виконання
- •Стан блокування або чікування
Поняття процессу
Процес — одне з найважливіших понять у архітектуріопераційних систем та програмуванні. Процес — об'єкт операційної системи, контейнер системних ресурсів, призначених для підтримки виконання програми. Коли в середовищі операційної системи запускається прикладна програма, система створює спеціальний об’єкт – процес, – який призначений для підтримки її виконання. Хоча може здатися, що програма й процес – поняття схожі, вони фундаментально відрізняються. Програма – це статичний набір команд, а процес – контейнер для ресурсів, які використовуються при виконанні екземпляра програми[1]. Системна реалізація та функції процесу в різнихопераційних системах дещо відмінні.
Стани процесу
В багатозадачній комп'ютерній системі процеси можуть приймати різні стани. Ці стани в дійсності можуть не розрізнятисяядром операційної системи, проте вони зручна абстракція для розуміння процесів.
Діаграма станів процесу
Різні стани процесу показано на діаграмі станів, на якій стрілками показано переходи між станами. Як видно, деякі процеси зберігаються в основній пам'яті, а інші у вторинній (віртуальній) пам'яті.
Стан виконання
(Інші назви - активний чи виконуваний). «Запущений» є той процес, який в цей час виконується центральним процесором. Якщо процес вичерпає відведений йому інтервал часу, операційна система перемкне контекст процесу знову в стан «готовий». Перемикання контексту також може відбутися коли процес завершиться або коли від буде блокований потребуючи деякого ресурсу (наприклад вводу/виводу) і тоді він буде переміщений в стан «блокований».
Стан готовності до виконання
(Інша назва - очікуючий). «Готовий» процес уже завантажений в основну пам'ять і очікує на виконання центральним процесором (контекстне перемикання буде здійснене диспетчером чи короткотерміновим планувальником). В комп'ютерній системі може бути багато «готових» процесів. В однопроцесорній системі лише один процес буде виконуватися в конкретний момент часу, всі решта «одночасно виконуваних» процесів будуть очікувати на виконання.
Стан блокування або чікування
Блокований
Якщо процес «заблокується» на ресурсі (файлі, семафорі, пристрої тощо), він буде усунутий з процесора (бо процес не може продовжувати виконання) і переведений в блокований стан. Процес буде залишатися "заблокованим" доки відповідний ресурс не стане доступний. Про розблокування ресурсу заблокований процес повідомляє операційна система (про доступність ресурсу сама операційна система повідомляється з допомогою переривання). Щойно операційна система дізнається, що процес розблокований, він переводиться в стан "готовий", з якого він може бути переведений в стан «виконуваний», в якому він зможе використати заново доступний ресурс.
Вивантажений і очікуючий
(Інша назва - призупинений і очікуючий). В системах які підтримують віртуальну пам'ять процес може бути вивантажений з основної пам'яті та поміщений у віртуальну пам'ять середньотерміновим планувальником. Звідти процес може бути вивантажений у стан «очікуючий».
Вивантажений і блокований
(Інша назва - призупинений і блокований). Процеси які є заблокованими можуть також бути вивантажені. В цьому випадку процес є «вивантажений і очікуючий» і може бути вивантажений у тих же випадках, що і вивантажений і очікуючий процес (хоча в цьому випадку процес буде у блокованому стані і може все ще очікувати доки ресурс стане доступним).
