Процеси

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

Операційна система UNIX є багатозадачною. Це означає, що одночасно може виконуватись кілька процесів. Виконання процесу має йти чітко за набором інструкцій, який ніколи не передає керування набору інструкцій іншого процесу. Процес зчитує і записує інформацію у розділ даних і у стек, але дані і стеки інших процесів йому недоступні. Водночас процеси мають можливість обмінюватися один з одним даними за допомогою системи міжпроцесорної взаємодії. Для цього в UNIX існує набір засобів взаємодії між процесами, таких як сигнали (signals), канали (pipes), розподілена пам’ять (shared memory), семафори (semaphores), повідомлення (messages) і файли.

В операційній системі UNIX розрізняються три типи процесів: системні, демони і прикладні.

Системні процеси є частиною ядра і завжди виконуються в оперативній пам’яті. Вони не мають відповідних їм програм у вигляді виконуваних файлів і запускаються особливим чином при ініціалізації ядра системи. Декілька виконуваних інструкцій і дані цих процесів містяться в ядрі системи. Вони можуть викликати функції й звертатися до даних, недоступних для інших процесів. Системними процесами є shed (диспетчер свопінгу), vhand (диспетчер заміщення сторінок), bdfflush (диспетчер буферного кеша) і kmadaemon (диспетчер пам’яті ядра). До системних процесів слід віднести ink, що є прародичем всіх інших процесів у UNIX.

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

Усі інші процеси, що виконуються у системі, належать до прикладних. У переважній більшості випадків це процеси, породжені у рамках користувацького сеансу роботи. Такі процеси часто називають користувацькими. Найважливішим користувацьким процесом є основний командний інтерпретатор (login shell), який забезпечує роботу користувача в операційному середовищі UNIX. Він запускається відразу ж після реєстрації користувача у системі, а завершення роботи командного інтерпретатора призводить до відключення від системи. Користувацькі процеси можуть виконуватись як в інтерактивному режимі, так і у фоновому, але у будь-якому разі час їхнього життя обмежений сеансом роботи користувача. Інтерактивні процеси монопольно володіють терміналом, і поки такий процес не завершить своє виконання, користувач не зможе працювати з іншими прикладними програмами.

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








Дата добавления: 2015-08-11; просмотров: 642;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.