Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операцiйнi системи та середовища6.05.07(Антонов...doc
Скачиваний:
11
Добавлен:
04.05.2019
Размер:
801.79 Кб
Скачать

5.4 Поняття процесу в ос unix

В літературі з тематики операційних систем поняття «процес» є базовим і водночас найменш точно означеним. Існує безліч означень як формального, так і неформального характеру. Неоднозначність в означенні є зрозуміла. Поняття «процес» є певним різновидом абстракції, котрий по-різному використовують, а також і розтлумачують по-різному. Приміром, точки зору прикладних та системних програмістів щодо цього розходяться в деталях, формах сприйняття й реалізації цього поняття [7, 8].

Є всі підстави стверджувати, що архітектура сучасної багатопрограмної ЕОМ є багатопроцесорна. Насправді, процесор – це будь-який пристрій у складі ЕОМ, здатний автоматично виконувати припустимі для нього дії в певному обумовленому порядку, тобто за програмою, збереженою в пам’яті і безпосередньо доступною такому активному пристроєві. Тоді, окрім центрального процесора (одного чи кількох), процесором можна назвати канал та пристрій, який працює з каналом. У даному тлумаченні оператор також підпадає під означення процесора. Поміж процесорами в системі існують інформаційні й керувальні зв’язки.

Кожен процесор — це такий об’єкт у системі, яким, у загальному випадку, бажали б скористатися водночас кілька користувачів для виконання власної програми на процесорі (йдеться не обов’язково про центральний процесор). Стосовно кожного користувача, котрий претендує на виконання програми на певному процесорі, й системи, яка розподіляє цей процесор

з-посеред багатьох користувачів, впроваджується поняття «процес». У загальному випадку процес – це певна діяльність, пов’язана з виконанням програми на процесорі.

Процес – фундаментальне поняття операційних систем сімейства UNIX. За допомогою керування процесами відбувається керування ресурсами комп’ютера, використовуваними для виконання програми. UNIX є багатозадачною ОС, ілюзію паралельного виконання створює метод «квантування часу», за допомогою якого система через певні проміжки часу (10...20 мс) змінює поточний виконуваний процес.

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

5.4.1 Компоненти процесу

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

  • таблиця розподілу пам’яті процесу;

  • поточний статус процесу;

  • пріоритет виконання процесу;

  • інформація про ресурси системи, використовувані процесом;

  • власник процесу.

5.4.2 Ідентифікатор процесу

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

5.4.2.1 Ідентифікатор батьківського процесу

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

Окрім власного ідентифікатора PID, кожен процес має атрибут власного батьківського процесу – PPID.