Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А4_Методичка.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Керування ресурсами

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

Критерій ефективності, відповідно до якого ОС організує керування ресурсами комп'ютера, може бути різним. Наприклад, в одних системах важливий такий критерій, як пропускна здатність комп'ютерної системи, в іншій — час її реакції. Відповідно обраному критерію ефективності ОС по-різному організують обчислювальний процес.

Керування ресурсами включає вирішення наступних завдань, які не залежать від типу ресурсу задач: планування ресурсу, тобто визначення, якому процесу, коли і у якій кількості (якщо ресурс може виділятися частинами) варто виділити даний ресурс; задоволення запитів на ресурси; відстеження стану і облік використання ресурсу, тобто підтримка оперативної інформації при тому, зайнятий чи вільний ресурс і яка частка ресурсу вже розподілена; дозвіл конфліктів між процесами.

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

Задача організації ефективного спільного використання ресурсів декількома процесами є дуже складний, і складність ця породжується в основному випадковим характером виникнення запитів на споживання ресурсів. У мультипрограмній системі утворяться черги заявок від одночасно виконуваних програм до поділюваних ресурсів комп'ютера: процесору, сторінці ОП, до принтера, до диска. ОС організує обслуговування цих черг по різних алгоритмах: у порядку надходження, на основі пріоритетів, кругового обслуговування і т.п. Аналіз і визначення оптимальних дисциплін обслуговування заявок є предметом спеціальної області прикладної математики - теорії масового обслуговування. Отже, керування ресурсами складає важливу частину функцій будь-якої ОС, особливо мультипрограмної. На відміну від функцій розширеної машини більшість функцій керування ресурсами виконуються ОС автоматично і прикладному програмісту недоступні.

Керування процесами

Найважливішою частиною ОС, що безпосередньо впливає на функціонування комп'ютера, є підсистема керування процесами. Для ОС процес являє собою одиницю роботи, заявку на споживання системних ресурсів. Підсистема керування процесами планує виконання процесів, тобто розподіляє процесорний час між декількома одночасно існуючими в системі процесами, а також займається створенням і знищенням процесів, забезпечує процеси необхідними системними ресурсами, підтримує взаємодію між процесами.

Щоб процес міг бути виконаний, ОС повинна призначити йому область ОП, у якій будуть розміщені коди і дані процесу, а також надати йому необхідну кількість процесорного часу. Крім того, процесу може знадобитися доступ до таких ресурсів, як файли і пристрої вводу/виводу.

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

У мультипрограмній ОС одночасно може існувати кілька процесів. Частина процесів породжується з ініціативи користувачів і їхніх додатків, такі процеси називають користувальницькими. Інші процеси, називані системними, ініціалізуються самою ОС для виконання своїх функцій.

Оскільки процеси часто одночасно претендують на ті самі ресурси, то в обов'язку ОС входить підтримка черг заявок процесів на ресурси, наприклад черги до: процесора, принтера, послідовного порту, ін.

Важливою задачею ОС є захист ресурсів, виділених даному процесу, від інших процесів. Одним з найбільше ресурсів процесу, що захищаються ретельно, є області ОП, у якій зберігаються коди і дані процесу. Сукупність всіх областей ОП, виділених ОС процесу, називається його адресним простором. Говорять, що кожен процес працює у своєму адресному просторі, маючи у виді захист адресних просторів, здійснюваний ОС. Захищаються й інші типи ресурсів, такі як файли, зовнішні пристрої і т.п. ОС може не тільки захищати ресурси, виділені одному процесу, але і організовувати їхнє спільне використання, наприклад дозволяти доступ до деякої області ОП декільком процесам.

ОС бере на себе також функції синхронізації процесів, які дозволяють процесу припиняти своє виконання до настання якої-небудь події в системі, наприклад завершення операції вводу/вииводу, здійснюваної по його запиті ОС.

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