Процеси системи. Переривання ОС.Переривання ос. Настання тієї чи іншої події сигналізується перериваннями – Interrupt. Джерелами переривань можуть бути як апаратура (HardWare), так і програми (SoftWare)(спроба ділення на 0, завершення операції введення – висновку, неправильне звертання до пам’яті) Кожне переривання обробляється відповідно оброблювачем переривань Головні функції механізму переривань – це: Ø розпізнавання чи класифікація переривань Ø передача керування відповідно оброблювачу переривань Ø коректне повернення до перерваної програми Процес – це програмний модуль, виконуваний у CPU. Операційна система контролює наступну діяльність, зв’язану з процесами: ü створення і видалення процесів ü планування процесів ü синхронізація процесів ü комунікація процесів ü рішення тупикових ситуацій Не слід змішувати поняття процес і програма. Програма – це план дій, а процес – це сама дія. Поняття процес включає: v програмний код v дані v уміст стека v вміст адресного й іншого регістрів CPU. Існують наступні стани процесу:
Кожен процес представлений в операційній системі набором даних, які називаються process control block. У process control block процес описується набором значень, параметрів, що характеризують його поточний стан і використовуєму операційну систему для керування проходженням процесу через комп’ютер. Розподіл процесів між наявними ресурсами зветься планування процесів.
Операційна система, що забезпечує режим мультипрограмування, звичайно має два планувальника – довгостроковий (long term scheduler) і короткостроковий (short term scheduler/CPU scheduler). Основна відмінність між довгостроковим і короткостроковим планувальниками полягає в частоті запуску, наприклад: короткостроковий планувальник може запускатися кожні 100 мс, довгостроковий – один раз за кілька хвилин. Довгостроковий планувальник вирішує, який із процесів, що знаходяться у вхідній черзі, повинний бути переведений у чергу готових процесів у випадку звільнення ресурсів пам’яті. Довгостроковий планувальник вибирає процес із вхідної черги з метою створення неоднорідної мультипрограмної суміші. Це означає, що в черзі готових процесів повинні знаходитися в різній пропорції як процеси, орієнтовані на введення – виведення, так і процеси, орієнтовані на переважну роботу з CPU. Короткостроковий планувальник вирішує, який із процесів, що знаходяться в черзі готових процесів, повинний бути переданий на виконання в CPU. У деяких операційних системах довгостроковий планувальник може бути відсутнім.
Критерії планування процесора. Використовуються наступні критерії, що дозволяють порівнювати алгоритми короткострокових планувальників:
Стратегії планування процеcа Основні поняття планування процесів Планування – забезпечення почергового доступу процесів до одного процесора. Планувальник – частина операційної системи, що відповідає за це. Алгоритм планування – використовуваний алгоритм для планування. Ситуації коли необхідне планування: 1. Коли створюється процес 2. Коли процес завершує роботу 3. Коли процес блокується на операції введення/висновку, семафорі, і т.д. 4. При перериванні введення/висновку. Алгоритм планування без перемикань (непріоритетний) – не вимагає переривання по апаратному таймеру, процес зупиняється тільки коли блокується або завершує роботу.. Алгоритм планування з перемиканнями (пріоритетний) – вимагає переривання по апаратному таймеру, процес працює тільки відведений період часу, після цього він припиняється по таймеру, щоб передати управління планувальнику. Необхідність алгоритму планування залежить від завдань, для яких використовуватиметься операційна система. Основні три системи: 1. Системи пакетної обробки – можуть використовувати непріоритетний і пріоритетний алгоритм (наприклад: для розрахункових програм). 2. Інтерактивні системи – можуть використовувати тільки пріоритетний алгоритм, не можна допустити щоб один процес зайняв надовго процесор (наприклад: сервер загального доступу або персональний комп’ютер). 3. Системи реального часу – можуть використовувати непріоритетний і пріоритетний алгоритм (наприклад: система управління автомобілем). Завдання алгоритмів планування: 1. Для всіх систем 2. Системи пакетної обробки 3. Інтерактивні системи 4. Системи реального часу
Планування в системах пакетної обробки 1 «Перший прийшов – першим обслужений» (FIFO – First In Fist Out) 2 «Найкоротша завдача – перша» 3 Найменший час, що залишився, виконання 4 Трирівневе планування Планування в інтерактивних системах
3. Методи розділення процесів на групи Групи з різним квантом часу Групи з різним призначенням процесів
Планування в системах реального часу
3. Статичний алгоритм планування RMS (Rate Monotonic Scheduling)
Управління пам¢яттю комп¢ютера Функціями ОС по керуванню пам'яттю є: відстеження вільної і зайнятої пам'яті, виділення пам'яті процесам і звільнення пам'яті при завершенні процесів, витиснення процесів з оперативної пам'яті на диск, коли розміри основної пам'яті не достатні для розміщення в ній усіх процесів, і повернення їхній в оперативну пам'ять, коли в ній звільняється місце, а також настроювання адрес програми на конкретну область фізичної пам'яті.
|