- •Системне програмне забезпечення Конспект лекцій з дисципліни „Системне програмне забезпечення”
- •2 Концептуальні основи ос.....................................................................................16
- •2.4 Концепція віртуалізації....................................................................................28
- •2.5 Концепція переривань.....................................................................................30
- •5 Операційна система unix....................................................................................57
- •1 Операційні системи та середовища
- •Основні означення та терміни
- •Сучасні системи програмування
- •Віртуальний адресний простір
- •Операційні системи для персональних комп’ютерів
- •1.5 Принципи побудови ос
- •1.5.1 Модульність
- •1.5.2 Функціональна вибірковість
- •1.5.3 Генерованость ос
- •1.5.4 Функціональна надлишковість
- •1.5.5 Незалежність програм від зовнішніх пристроїв
- •1.5.7 Відкритість та нарощуваність ос
- •1.5.9 Забезпечення безпеки обчислень
- •1.5.10 Принципи проектування ос
- •2 Концептуальні основи ос
- •2.1 Процеси
- •2.1.1 Означення процесу та граф його існування
- •2.1.2 Класифікування процесів
- •2.2 Ресурс
- •2.2.1 Означення ресурсу
- •2.2.2 Властивості та класифікування ресурсів
- •2.3 Система керування процесами
- •2.3.1 Дворівнева система керування процесами
- •2.3.2 Дисципліни розподілу процесів
- •2.4 Концепція віртуалізації
- •2.5 Концепція переривань
- •3 Захищений режим 32-розрядних процесорів
- •3.1 Основні поняття захищеного режиму
- •3.2 Сегментний механізм віртуалізації пам’яті
- •3.3 Сторінковий механізм віртуалізації пам’яті
- •4 Архітектура операційних системWindows
- •4.1 Архітектура ос Windows 98se
- •4.1.1 Драйвери пристроїв
- •4.1.2 Диспетчер віртуальних машин
- •4.1.3 Встановлювані файлові системи
- •4.1.4 Диспетчер конфігурування
- •4.1.5 Диспетчер драйверів wdm
- •4.1.6 Ядро Windows 98se
- •4.1.8 Оболонка ос
- •4.1.9 Стандартні програми Windows 98se та додатки
- •4.2 Мережна підтримка ос Windows 98se
- •4.2.1 Взаємодія відкритих систем
- •4.2.2 Мережна архітектура Windows 98se
- •4.3 Апаратна підтримка захисту ос
- •4.4 Особливості розподілу оперативної пам’яті в ос Windows nt
- •4.5 Архітектура Windows 2000
- •5 Операційна система unix
- •5.1 Загальна характеристика ос сімейства unix
- •5.2 Архітектура операційної системи unix
- •5.3 Функціонування ос unix
- •5.3.1 Ядро системи
- •5.3.2 Файлова підсистема
- •5.3.3 Підсистема керування процесами та пам’яттю
- •5.3.4 Підсистема введення/виведення
- •5.3.5 Користувачі ос unix
- •5.4 Поняття процесу в ос unix
- •5.4.1 Компоненти процесу
- •5.4.2 Ідентифікатор процесу
- •5.4.2.1 Ідентифікатор батьківського процесу
- •5.4.2.2 Ідентифікатор користувача та групи
- •5.4.3 Стани процесу в unix
- •5.4.4 Керування процесами
- •5.5 Права доступу ос unix
- •5.5.1 Поняття прав доступу користувача
- •5.5.2 Основні біти доступу
- •5.5.3 Додаткові біти доступу
- •5.5.4 Сполучення бітів доступу
- •5.6 Мережні можливості ос unix
- •Список рекомендованої літератури:
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.