Здавалка
Главная | Обратная связь

Завершення роботи процесу.



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

· операційна система встановлює стан процесу «завершений» і починає звільнення ресурсів, які були виділені процесу під час його виконання.

· операційна система по черзі завершує усі дочірні процеси даного.

· операційна система звільняє адресний простір процесу.

· операційна система усуває процес з черги готових процесів.

В цьому розділі я описав основні відомості про роботу процесів та їх властивості.


ІІІ. ПРОЦЕСИ В ОС LINUX

 

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

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

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

Ідентифікатор процесу (PID). Кожен процес в системі має унікальний ідентифікатор. Кожен новий запущений процес отримує номер на одиницю більше попереднього.

Ідентифікатор батьківського процесу (PPID). Даний атрибут процес отримує під час свого запуску і використовується для отримання статусу батьківського процесу.

Реальний і ефективний ідентифікатори користувача (UID,EUID) і групи (GID, EGID). Дані атрибути процесу говорять про його приналежність до конкретного користувачеві і групі. Реальні ідентифікатори збігаються з ідентифікаторами користувача, який запустив процес, і групи, до якої він належить. Ефективні - від чийого імені був запущений процес. Права доступу процесу до ресурсів ОС Linux ефективними ідентифікаторами. Якщо на виконуваному файлі програми встановлено спеціальний біт SGID або SUID, то процес даної програми буде володіти правами доступу власника виконуваного файлу.

Для управління процесом використовуються реальні ідентифікатори. Всі ідентифікатори передаються від батьківського до дочірнього процесу.

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

Пріоритет або динамічний пріоритет і відносний або статичний пріоритет процесу.

Статичний пріоритет або nice-пріоритет лежить в діапазоні від -20 до 19, типово використовується значення 0. Значення -20 відповідає найбільш високого пріоритету, nice-пріоритет не змінюється планувальником, він успадковується від батьків або його вказує автор. Динамічний пріоритет використовується планувальником для планування виконання процесів. Цей пріоритет зберігається в полі prio структури task_struct процесу. Динамічний пріоритет обчислюється виходячи зі значення параметра пісе для даної задачі шляхом обчислення надбавки або штрафу, залежно від інтерактивності завдання. Користувач має можливість змінювати тільки статичний пріоритет процесу. При цьому підвищувати пріоритет може тільки root. В ОС Linux існують дві команди управління пріоритетом процесів: nice і renice.

Стан процесу. В ОС Linux кожен процес обов'язково знаходиться в одному з перерахованих нижче станів і може бути переведений з одного стану в інше системою або командами користувача. Процеси поділяються на три типи:

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

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

Прикладні (користувача) процеси. До прикладних процесів відносяться всі інші процеси, запущені в системі. Як правило, це процеси, породжені в рамках користувальницького сеансу роботи. Наприклад, команда ls породить відповідний процес цього типу. Найважливішим прикладним процесом є командний інтерпретатор (shell), який забезпечує вашу роботу в LINUX. Він запускається відразу ж після реєстрації в системі. Прикладні процеси linux можуть виконуватися як в інтерактивному, так і у фоновому режимі, але в будь-якому випадку час їх життя (і виконання) обмежено сеансом роботи користувача. При виході з системи всі прикладні процеси будуть знищені.

Щоб завершити який-небудь процес, потрібно надіслати йому сигнал за допомогою команди kill. Для цього необхідно дізнатись Pid процесу за допомогою команди ps (наприклад, Pid процесу дорівнює 11839) та надіслати процесу сигнал на завершення, наприклад сигнал SIGKILL:

kill -9 11839

або kill-SIGKILL 11839

або kill-KILL 11839

В цьому розділі я описав роботу процесів в ОС Linux, їх властивості та функції.


ВИСНОВКИ

 

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


СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

 

1) Бондаренко М. Ф., Качко О. Г. Операційні системи : навч. посібник —Компанія СМІТ, 2008. — 432с.

2) Шеховцов В.А. Операційні системи: підруч. для студ. вищ. навч. закл., які навч. за напрямом "Комп'ютерні науки", "Комп'ютерна інженерія", "Прикл. математика" / В. А. Шеховцов ; за заг. ред. М. З. Згуровського. - К. : Вид. група BHV, 2008. - 575 с.

3) Курячий Г.В., Маслинський К.А. Операционная система Linux. Курс лекций. Учебное пособие

4) Э. Таненбаум «Современные операционные системы» - 1120с.

5) Інтернет джерело https://ru.wikipedia.org

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.