НОУ ІНТУІТ, Лекція, Процеси

Основні поняття

Кожен процес має цілу низку атрибутів. Найважливішим серед них є ідентифікатор процесу - позитивне ціле число, що однозначно ідентифікує процес протягом часу його життя.

Процеси можуть створюватися та завершуватися. Час життя процесу - це період від його створення до повернення ідентифікатора операційної системи.

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

Завершення процесу може бути нормальним чи аварійним. Нормальне завершення відбувається, зокрема, під час повернення з функції main() .

Зомбі-процес - завершився процес, що підлягає ліквідації після того, як код його завершення буде переданий іншому процесу, що очікує цього.

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

Група - сукупність процесів, що допускає узгоджену доставку сигналів. Кожна група має унікальний позитивний цілісний ідентифікатор , що представляє її протягом часу її життя. У такій ролі виступає ідентифікатор процесу, який називається лідером групи.

Час життя групи процесів називають період від створення групи до моменту, коли її залишає останній процес (внаслідок завершення або зміни групи).

Завдання – це набір процесів, що становлять конвеєр, а такожпороджених ними процесів, що входять до однієї групи.

Під управлінням завданнями маються на увазі надані користувачам засоби вибірково (при)зупиняти і потім продовжувати (відновлювати) виконання процесів. На окремі завдання посилаються за допомогою ідентифікаторів.

Сеансом називається безліч груп процесів, сформований з метою управління завданнями. Кожна група належить до деякого сеансу; вважається, що це процеси групи належать тому ж сеансу. Новостворений процес приєднується до сеансу свого творця; надалі належність сеансу може бути змінена.

Час життя сеансу є період від створення сеансу до закінчення часу життя всіх груп процесів, що належали сеансу.

Лідер сеансу – процес, який створив цей сеанс.

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

Керуючий процес - це лідер сеансу, який встановив з'єднання з терміналом, що управляє. Якщо надалі термінал перестане бути керуючим для сеансу, лідер сеансу втратить статус керуючого процесу.

Завдання, групи процесів та процеси поділяються на пріоритетні (переднього плану) та фонові. Процеси переднього плану, на відміну від фонових, мають деякі привілеї при доступі до керуючого терміналу. У сеансі, який встановив з'єднання з керуючим терміналом, може бути не більше однієї групи процесів, пріоритетної стосовно даного керуючого терміналу.

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

У момент створення процесу користувач входив до певної групи, ідентифікатор якої називається реальним ідентифікатором групи процесу.

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

Поведінка процесу визначається виконуваної у його рамках програмою – послідовністю інструкцій на вирішення певного завдання. Програми зберігаються у файлах. У режимі файлів входять біти переустановки діючих ідентифікаторів користувача (ПДІП) та групи (ПДІГ). Якщо ці біти зведені, то при запуску програми виконання діючі ідентифікатори користувача і групи процесу можуть успадковуватися у файла.

Стандартом POSIX -2001 передбачені також збережені перевстановлені діючі ідентифікатори користувача (збережені ПДП-ідентифікатори) та групи (збережені ПДГ-ідентифікатори) процесу. Ці атрибути розширюють можливості, пов'язані зі зміною діючих ідентифікаторів користувача та групи процесу.

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

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

Поточний і кореневий каталоги і набір дескрипторів відкритих файлів також відносяться до атрибутів процесів.

Усі перелічені вище атрибути поділяються існуючими у межах процесу потоками управління . До числаіндивідуальних атрибутів відносяться ідентифікатор , пріоритет і політика планування , значення змінної errno, асоційовані з потоком керування пари ключ / значення , і навіть системні ресурси, потрібні підтримки потоку керування.

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

p align="justify"> Виконується (активним) називається потік управління, оброблюваний в даний момент процесором. У багатопроцесорних конфігураціях може одночасно виконувати кілька потоків.

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

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

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

Список потоків управління – це впорядкований набір готових до виконання рівнопріоритетних потоків, черговість яких визначається політикою планування. Багато наборів включає всі потоки в системі, готові до виконання.

Плануванням , згідно стандарту POSIX-2001, називається застосування політики зміни списків потоків управління, а також політики вибору процесу або готового до виконання потоку управління для перекладу як того, такта іншого до числа активних.

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

Політика планування впливає на порядок процесів (потоків управління) принаймні у таких ситуаціях:

  • коли активний процес (потік управління) блокується чи витісняється;
  • коли блокований процес (потік управління) стає готовим до виконання.

Область планування розміщення – це набір процесорів, стосовно яких у якийсь час планується потік управління.

Областью планування конкуренції називається властивість потоку управління, що визначає набір потоків, з якими конкурує за ресурси (наприклад, за процесор). У стандарті POSIX -2001 передбачено дві подібні області – PTHREAD_SCOPE_SYSTEM та PTHREAD_SCOPE_PROCESS .

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