На головну

Поняття обчислювального процесу і ресурсу

  1. Cинхронизация операцій технологічного процесу
  2. I. Основні поняття ОРГАНІЗАЦІЙНОЇ СОЦІАЛЬНОЇ ПСИХОЛОГІЇ
  3. O можливість здійснення рекламного процесу з використанням усього комплексу засобів і методів реклами і їх органічного зв'язку в комерційному підприємстві;
  4. Process Control Block і контекст процесу
  5. XX з'їзд КПРС і початок процесу десталінізації
  6. Абсолютна неперервність імовірнісних заходів, відповідних стрибкоподібним процесам.
  7. АВТОМАТИЗАЦІЯ Інкубаційний ПРОЦЕСУ

поняття «Обчислювальний процес» (або просто - «Процес») є одним з основних при розгляді операційних систем. Як поняття процес є певним видом абстракції, і ми будемо дотримуватися наступного неформального визначення, наведеного в роботі [37]. Послідовний процес (іноді званий «Завданням»1) - Це виконання окремої програми з її даними на послідовному процесорі. Концептуально процесор розглядається в двох аспектах: по-перше, він є носієм даних і, по-друге, він (одночасно) виконує операції, пов'язані з їх обробкою.

Як приклади можна назвати наступні процеси (завдання): прикладні програми користувачів, утиліти і інші системні обробні програми. Процесами можуть бути редагування будь-якого тексту, трансляція вихідної програми, її компонування, виконання. Причому трансляція який-небудь вихідної програми є одним процесом, а трансляція наступної вихідної програми - іншим процесом, оскільки, хоча транслятор як об'єднання програмних модулів тут виступає як одна і та ж програма, але дані, які він обробляє, є різними.

Визначення концепції процесу має на меті виробити механізми розподілу і управління ресурсами. Поняття ресурсу, так само як і поняття процесу,

1 У концепції, яка набула найбільшого поширення в 70-і роки, задача (task) - це сукупність пов'язаних між собою і утворюють єдине ціле програмних модулів і даних, що вимагає ресурсів обчислювальної системи для своєї реалізації. У наступні роки завданням стали називати одиницю роботи, для виконання якої надається центральний процесор. Обчислювальний процес може включати в себе кілька завдань.


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

Ресурси можуть бути розділяються, коли кілька процесів можуть їх використовувати одночасно (в один і той же момент часу) або паралельно (протягом деякого інтервалу часу процеси використовують ресурс поперемінно), а можуть бути і неподільними (рис. 1.1).

При розробці перших систем ресурсами вважалися процесорний час, пам'ять, канали введення / виводу і периферійні пристрої [49, 89]. Однак дуже скоро поняття ресурсу стало набагато більш універсальним і загальним. Різного роду програмні та інформаційні ресурси також можуть бути визначені для системи як об'єкти, які можуть розділятися і розподілятися і доступ до яких необхідно відповідним чином контролювати. В даний час поняття ресурсу перетворилося на абстрактну структуру з цілим рядом атрибутів, що характеризують способи доступу до цієї структури і її фізичне представлення в системі. Більш того, крім системних ресурсів, про які ми зараз говорили, як ресурс стали тлумачити і такі об'єкти, як повідомлення і синхросигнали, якими обмінюються завдання.

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


чергової операції введення / виводу. Тому було запропоновано організувати так званий мультипрограмний (Мультизадачність) режим роботи обчислювальної системи. Суть його полягає в тому, що поки одна програма (один обчислювальний процес або завдання, як ми тепер кажемо) очікує завершення чергової операції введення / виводу, інша програма (а точніше, інша задача) може бути поставлена ??на рішення (рис. 1.2).

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


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

Як ми вже відзначали, операційна система підтримує мультипрограмування (Многопроцессность) і намагається ефективно використовувати ресурси шляхом організації до них черг запитів, що складаються той чи інший спосіб. Ця вимога досягається підтриманням в пам'яті більше одного процесу, який чекає процесор, і більше одного процесу, готового використовувати інші ресурси, як тільки останні стануть доступними. Загальна схема виділення ресурсів така. При необхідності використовувати будь-якої ресурс (оперативну пам'ять, пристрій введення / виведення, масив даних і т. П.) Завдання звертається до супервізору операційної системи - її центральному керуючому модулю, який може складатися з декількох модулів, наприклад: супервизор введення / виведення, супервизор переривань, супервізор програм, диспетчер задач і т. д. - за допомогою спеціальних викликів (команд, директив) і повідомляє про свою вимогу. При цьому вказується вид ресурсу і, якщо треба, його обсяг (наприклад, кількість адресованих комірок оперативної пам'яті, кількість доріжок і секторів на системному диску, пристрій друку і обсяг даних, що виводяться і т. П.).

Директива звернення до операційної системи передає їй управління, переводячи процесор в привілейований режим роботи (див. Розділ «Переривання», глава 1), якщо такий існує. Не всі обчислювальні комплекси мають два (і більше) режиму роботи: привілейований (режим супервізора), призначений для користувача, режим емуляції якогось іншого комп'ютера і т. Д.

Ресурс може бути виділений задачі, яка звернулася до супервізору з відповідним запитом, якщо:

Про він вільний і в системі немає запитів від завдань більш високого пріоритету до цього ж ресурсу;

Q поточний запит і раніше видані запити допускають спільне використання ресурсів;

Q ресурс використовується завданням нижчого пріоритету і може бути тимчасово відібраний (розділяється ресурс).

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

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


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

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

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

При організації управління ресурсами завжди потрібно прийняти рішення про те, що в даній ситуації вигідніше: швидко обслуговувати окремі найбільш важливі запити, надавати всім процесам рівні можливості або обслуговувати максимально можливу кількість процесів і найбільш повно використовувати ресурси [37].



Поняття операційного середовища | Діаграма станів процесу

ЧАСТИНА I Операційні | Системи і середовища | Реалізація поняття послідовного процесу в ОС | Процеси і треди | переривання | Основні види ресурсів | Класифікація операційних систем |

© um.co.ua - учбові матеріали та реферати