Page 35 - 4784
P. 35
кілька одночасно виконуваних процесів. У багатозадачних
операційних системах ці задачі можуть виконуватися одночасно.
Виконання процесу полягає у точному проходженні набору
інструкцій, який ніколи не передає керування іншому процесу.
Процес зчитує і записує інформацію до розділу даних і до стеку, але
дані і стеки інших процесів йому недоступні. Разом з тим процеси
можуть обмінюватись один з одним даними через систему
міжпроцесорної взаємодії. Вони перебувають у постійній взаємодії
один з одним (наприклад, один процес може передавати дані іншому
процесу або декілька процесів можуть обробляти дані із загального
файлу). В усіх цих випадках виникає проблема синхронізації
процесів, що може вирішуватися припиненням і активізацією
процесів, організацією черг, блокуванням і звільненням ресурсів.
Підсистема керування процесами планує її вирішення, тобто
розподіляє процесорний час між кількома одночасно існуючими у
системі процесами, а також створює і знищує процеси, забезпечує їх
необхідними системними ресурсами, підтримує взаємодію між
процесами.
Впродовж існування процесу його виконання багаторазово
може перериватися, а потім продовжуватися. Для поновлення
виконання процесу треба відновити стан його операційного
середовища. Стан операційного середовища визначається станом
регістрів і програмного лічильника, режимом роботи процесора,
покажчиками відкритих файлів, інформацією про незавершені
операції введення-виведення, кодами помилок, виконуваних
процесом системних викликів, тощо. Ця інформація називається
контекст процесу. Операційній системі для планування процесів
необхідна додаткова інформація: ідентифікатор процесу, стан
процесу, дані про ступінь привілейованості процесу, місце
перебування кодового сегмента та ін. У деяких операційних
системах (наприклад, в UNIX) інформація такого роду називається
дескриптор процесу. Дескриптор процесу містить більш оперативну,
порівняно з контекстом, інформацію, яка має бути легкодоступною
підсистемі планування процесів. Контекст процесу містить менш
актуальну інформацію і використовується операційною системою
тільки після прийняття рішення про поновлення перерваного
процесу. Черги процесів являють собою дескриптори окремих
33