Курсова робота на тему: «ПРОСЕСИ ТА ЇХ ПЛАНУВАННЯ»

План

 

 

Розділ I. Процеси ………………………………………………………… 3

1.1 Поняття процесу ……………………………………………………………….. 3

1.2 Стани процесу …………………………………………………………………. 4

1.3 Операції над процесами й пов’язані з ними поняття ……………………….. 6

Висновок ………………………………………………………………………….. 12

Розділ II. Планування процесів ………………………………………13

2.1 Критерії планування й вимоги до алгоритмів ………………………………. 13

2.2 Параметри планування ………………………………………………………… 14

2.3 Витісняюче і невитісняюче планування …………………………………….. 16

2.4 Алгоритми планування ……………………………………………………….. 17

2.4.1 First-Come, First-Served (FCFS) …………………………………………….. 17

2.4.2 Round Robin (RR) ……………………………………………………………. 19

2.4.3 Shortest-Job-First (SJF) ……………………………………………………… 21

2.4.4 Гарантоване планування …………………………………………………… 24

2.4.5 Пріоритетне планування ………………………………………………… 25

2.4.6 Багаторівневі черги (Multilevel Queue) ………………………………….. 26

2.4.7 Багаторівневі черги зі зворотним зв’язком (Multilevel Feedback Queue) .27

Висновок ……………………………………………………………………………. 31

Вступ

 

Найважливішою функцією операційної системи є організація раціонального використання всіх апаратних і програмних ресурсів системи. До основних ресурсів можуть бути віднесені: процесори, пам’ять, зовнішні пристрої, дані й програми. Маюча ті самі ресурси, але керована різними ОС, обчислювальна система може працювати з різним ступенем ефективності. Тому знання внутрішніх механізмів операційної системи дозволяє побічно судити про її експлуатаційні можливості й характеристики.

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

 

Розділ I. Процеси

 

1.1 Поняття процесу

 

Розглянемо наступний приклад. Два студенти запускають програму добування квадратного кореня. Один хоче обчислити квадратний корінь із 4, а другий – з 1. З погляду студентів, запущена та сама програма; з погляду комп’ютерної системи, їй доводиться займатися двома різними обчислювальними процесами, тому що різні вихідні дані приводять до різного набору обчислень. Отже, на рівні того що відбувається усередині обчислювальної системи ми не можемо використати термін “програма” у користувальницькому змісті слова.

Розглядаючи системи пакетної обробки, ми ввели поняття “завдання” як сукупність програми, набору команд мови керування завданнями, необхідних для її виконання, і вхідних даних. З погляду студентів, вони, підставивши різні вихідні дані, сформували два різних завдання. Може бути, термін “завдання” підійде нам для опису внутрішнього функціонування комп’ютерних систем? Щоб з’ясувати це, давайте розглянемо інший приклад. Нехай обидва студента намагаються витягти корінь квадратний з 1, тобто нехай вони сформували ідентичні завдання, але завантажили їх в обчислювальну систему зі зрушенням за часом. У той час як одне з виконуваних завдань приступило до печатки отриманого значення й чекає закінчення операції вводу-висновку, друге тільки починає виконуватися. Чи можна говорити про ідентичність завдань усередині обчислювальної системи в цей момент? Ні, тому що стан процесу їхнього виконання по-різному. Отже, і слово “завдання” у користувальницькому змісті не може застосовуватися для опису того що відбувається в обчислювальній системі.

Це відбувається тому, що терміни “програма” і “завдання” призначені для опису статичних, неактивних об’єктів. Програма ж у процесі виконання є динамічним, активним об’єктом. По ходу її роботи комп’ютер обробляє різні команди й перетворить значення змінних. Для виконання програми операційна система повинна виділити певну кількість оперативної пам’яті, закріпити за нею певні пристроїв введення-виведення або файли (звідки повинні надходити вхідні дані й куди потрібно доставити отримані результати), тобто зарезервувати певні ресурси із загального числа ресурсів всієї обчислювальної системи. Їхня кількість і конфігурація із часом можуть змінюватися. Для опису таких активних об’єктів усередині комп’ютерної системи замість термінів “програма” і “завдання” ми будемо використати новий термін – “процес”.

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

ЗАВАНТАЖИТИ

Для скачування файлів необхідно або Зареєструватись

Procesy Ta Jih Planuvanna (711.0 KiB, Завантажень: 0)

Сторінка: 1 2 3 4 5 6 7 8 9 10 11
завантаження...
WordPress: 23.62MB | MySQL:26 | 0,593sec