
- •Операційні системи
- •1.Принципи побудови ос. Теоретичні основи процесу
- •2. Властивості та класифікація процесів. Життєвий цикл процесу.
- •Арі процесів. Функція fork. Функція exit.
- •Сигнали. Функція wait, waitpid. Функція exec.
- •Ресурси ос. Визначення ресурсу. Властивості та класифікація ресурсів.
- •Концепція віртуалізації. Віртуальна машина.
- •Дисципліни розподілу ресурсів які використовуються в ос.
- •Концепція переривань Теорія переривань
- •Блокування. Сигнали. Сигнальна маска. Функція sigaction.
- •Процеси-демони. Поняття про демони. Основні демони unix. Приклад програми демону
- •Засоби, механізми і підсистеми ос. Системи керування процесами. Дворівнева система керування процесами.
- •Засоби, механізми і підсистеми ос. Рівень довгострокового планування. Схема довгострокового рівня планування.
- •Засоби, механізми і підсистеми ос. Рівень короткострокового планування. Схема рівня планування.
- •Структури даних процесів. Стан процесів у unix. Особливості планувальника unix ( Linux).
- •Дескриптори процесів.
- •Взаємодія між процесами у unix.
- •Канали. Fifo (First InFirst Out). Повідомлення (черги повідомлень).
- •Семафори. Задачі синхронізації.
- •Архітектура та основні питання побудови механізмів синхронізації
- •Семафорна техніка синхронізації та упорядкування процесів.
- •Підсистема введення/виведення системи unix. Драйвери пристроїв. Типи драйверів. Базова архітектура драйверів
- •Файлова підсистема ос. Суперблок. Індексні дескриптори. Імена файлів. Каталоги.
- •Побудова підсистем ядра мультипрограмних ос. Організація віртуальної оп. Основні поняття та принципи віртуалізації пам’яті.
- •Принципи керування пам’яттю у unix. Віртуальна та фізична пам’ять. Сегменти. Сторінковий механізм.
- •Адресний простір процесів. Керування пам’яттю процесу.
- •Планування виконання процесі. Обробка переривань таймеру. Відкладений виклик. Аларми. Контекст процесу.
- •Архітектура віртуальної фс. Віртуальні індексні дескриптори. Монтування фс.
- •Архітектура віртуальної фс. Трансляції імен. Доступ до фс. Файлова таблиця.
- •Архітектура віртуальної фс. Блокування доступу до файлу.
Структури даних процесів. Стан процесів у unix. Особливості планувальника unix ( Linux).
Інформація, що зберігається у структурах даних процесу
Процес містить таку інформацію (список не повний):
командний рядок запуску виконуваного процесом застосунку;
інформація про відведений процесу адресний простір, включно зі стеком;
посилання на поточний робочий каталог і кореневий каталог процесу (останній служить для обмеження доступу процесу до файлової структури);
таблиця відкритих процесом файлів;
так зване оточення процесу, тобто перелік заданих для даного процесу змінних з їх поточними значеннями;
атрибути, що визначають права і привілеї процесу
таблиця обробників сигналів;
вказівка на батьківський процес;
призначена для користувача маска або маска доступу — вказівка на те, які права треба видалити при створенні нового файлу або каталогу із стандартного набору прав, присвоєних файлу (каталогу).
перелік потоків процесу (якщо операційна система підтримує багатопотоковість)
Робочий цикл процесу
Під час запуску процесу проходять такі стадії:
користувач з допомогою вказує програму, яку потрібно виконати
операційна система створює адресний простір для процесу і структури, які описують новий процес
заповнюються структури, які описують новий процес
з файлу, який містить виконавчий файл, в адресний простір процесу копіюються код і дані
встановлюється стан процесу «готовий до виконання»
новий процес додається до черги процесів, які очікують на процесор
керування повертається оболонці користувача
Стани процесів у UNIX
В багатозадачній системі процес може знаходитися в одному з трьох основних станів:
ВИКОНАННЯ - активний стан процесу, під час якого процес володіє всіма необхідними ресурсами і безпосередньо виконується процесором;
ОЧІКУВАННЯ - пасивний стан процесу, процес заблокований, він не може виконуватися по своїх внутрішніх причинах, він чекає виконання деякої події, наприклад, завершення операції в/в, одержання повідомлення від іншого процесу, звільнення якого-небудь необхідного йому ресурсу;
ГОТОВНІСТЬ - також пасивний стан процесу, але в цьому випадку процес заблокований у зв'язку з зовнішніми стосовно нього обставинами: процес має всі необхідні для нього ресурси, він готовий виконуватися, однак процесор зайнятий виконанням іншого процесу.
У ході життєвого циклу кожен процес переходить з одного стану в інший відповідно до алгоритму планування процесів, реалізованим у даній ОС.
У стані ВИКОНАННЯ в однопроцесорній системі може знаходитися тільки один процес, а в кожному зі станів ОЧІКУВАННЯ і ГОТОВНІСТЬ - кілька процесів, ці процеси утворять черги відповідно очікуючих і готових процесів. Життєвий цикл процесу починається зі стану ГОТОВНІСТЬ, коли процес готовий до виконання і чекає своєї черги. При активізації процес переходить у стан ВИКОНАННЯ і знаходиться в ньому доти, доки або він сам звільнить процесор, перейшовши в стан ОЧІКУВАННЯ якої-небудь події, або буде насильно "витиснутий" із процесора, наприклад, унаслідок вичерпання відведеного даному процесу кванта процесорного часу. В останньому випадку процес повертається в стан ГОТОВНІСТЬ. У цей же стан процес переходить зі стану ОЧІКУВАННЯ, після того, як очікуване подія відбудеться.
Таким чином, для однієї програми можуть бути створені декілька процесів в тому випадку, якщо за допомогою однієї програми в ЦП виконується декілька не співпадаючих послідовностей команд. За час існування процес багато разів змінює свій стан. Розрізняють наступні стани процесу:
• новий (процес тільки що створений);
• виконуваний (команди програми виконуються в ЦП);
• очікуваний (процес чекає завершення деякого випадку, найчастіші операції в/в);
• готовий (процес чекає звільнення ЦП);
• завершений (процес завершив свою роботу). Перехід з одного стану в інше не може виконуватися довільним чином.
Кожен процес представлений в ОС набором даних, так званою таблицею управління. У РСВ процес описується набором значень, параметрів, що характеризують його поточний стан і використовуваних ОС для управління проходження процесу через комп'ютер.