Управління віртуальною пам'яттю

Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 17:44, лекция

Краткое описание

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

Содержимое работы - 2 файла

10.doc

— 558.00 Кб (Скачать файл)

OS-basic 10. Управління зовнішніми пристроями

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

Основні поняття модуля:
- Режими користувача та супервізора (привілейований),
- Супервізор вводу/виводу,
- Драйвер,
- Контролер,
- Спул-файл,
- Буферна пам'ять в контролерах пристроїв,
- Монопольне і поділюване використання зовнішніх пристроїв,
- Режими вводу / виводу за опитуванням готовності (синхронний),
- За переривання (асинхронний)

 

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


10.2 Основні поняття та концепції організації введення / виводу в ОС

Як відомо, введення / виведення вважається однією з найскладніших областей проектування операційних систем, в якій складно застосувати загальний підхід через достатку приватних методів. Складність виникає через величезного числа пристроїв введення / виведення різноманітної природи, які повинна підтримувати ОС. При цьому перед творцями ОС постає дуже непроста задача - не тільки забезпечити ефективне управління пристроями введення / виведення, але і створити зручний і ефективний віртуальний інтерфейс пристроїв введення / виводу, що дозволяє прикладним програмістам просто зчитувати або зберігати дані, не звертаючи увагу на специфіку пристроїв і проблеми розподілу пристроїв між виконуються завданнями. Система введення / виводу, здатна об'єднати в одній моделі широкий набір пристроїв, повинна бути універсальною. Вона повинна враховувати потреби існуючих пристроїв, від простої миші до клавіатур, принтерів, графічних дисплеїв, дискових накопичувачів, компакт-дисків і навіть мереж. З іншого боку, необхідно забезпечити доступ до пристроїв введення / виводу для безлічі паралельно виконуються завдань, причому так, щоб вони якомога менше заважали один одному.
Найголовнішим є наступний принцип: будь-які операції з управління вводом / виводом оголошуються привілейованими і можуть виконуватися лише кодом самої ОС. Для забезпечення цього принципу в більшості процесорів вводяться режими користувача та супервізора. Як правило, в режимі супервізора (в привілейованому режимі) виконання команд введення / виводу дозволено, а в режимі користувача - заборонено.
Можна назвати три основні причини, через які не можна дозволяти кожної окремої користувальницької програмі звертатися до зовнішніх пристроїв безпосередньо:
• Необхідність вирішувати можливі конфлікти доступу до пристроїв введення / виведення. Наприклад, дві паралельно виконуються програми намагаються вивести на друк результати своєї роботи. Якщо не передбачити зовнішнє управління пристроєм друку, то в результаті ми можемо отримати абсолютно нечитаний текст, так як кожна програма буде час від часу виводити свої дані, які будуть перемежовуватися даними іншої програми. Інший приклад: ситуація, коли одній програмі необхідно прочитати дані з деякого сектора магнітного диска, а інший - записати результати в інший сектор того ж накопичувача. Якщо операції введення / виводу не будуть відслідковуватися якимось третім (зовнішнім) процесом-арбітром, то після позиціонування магнітної головки для першого запиту може відразу з'явитися команда позиціонування головки для другого завдання, і обидві операції введення / виводу не зможуть бути виконані коректно.
• Бажання збільшити ефективність використання цих ресурсів. Наприклад, у накопичувача на магнітних дисках час підведення головки читання / запису до необхідної доріжці і звернення до певного сектору може значно (до тисячі разів) перевищувати час пересилки даних. В результаті, якщо завдання по черзі звертаються до циліндрів, далеко віддаленим один від одного, то корисна робота, виконувана накопичувачем, може бути істотно знижена.
• Помилки в програмах введення / виведення можуть привести до краху всіх обчислювальних процесів, бо частина операцій введення / виводу здійснюється для самої операційної системи. У ряді ОС системний введення / виведення має суттєво вищі привілеї, ніж введення / виведення завдань користувача. Тому системний код, керуючий операціями введення / виводу, дуже ретельно регламентуватиме і оптимізується для підвищення надійності обчислень та ефективності використання обладнання.
Управління вводом / виводом здійснюється операційною системою, компонентом, який найчастіше називають супервізором введення / виведення.Основні завдання, що виконуються супервізором, наступні:
• супервізор введення / виводу отримує запити на ввід / вивід від прикладних задач і від програмних модулів самої операційної системи. Ці запити перевіряються на коректність, і якщо запит виконаний за специфікаціями і не містить помилок, він обробляється далі, в іншому випадку користувачеві (задачі) видається відповідне діагностичне повідомлення про недійсність (некоректності) запиту;
• супервізор введення / виводу викликає відповідні розподільники каналів і контролерів, планує введення / виведення (визначає черговість надання пристроїв введення / виведення завданням, зажадавши їх). Запит на введення / виведення або тут же виконується, або ставлять у чергу на виконання;
• супервізор введення / виведення ініціює операції введення / виводу (передає управ ¬ ня відповідним драйверам) і в разі керування вводом / виводом з використанням переривань надає процесор диспетчеру задач з тим, щоб передати його першої задачі, що стоїть в черзі на виконання;
• при отриманні сигналів переривань від пристроїв введення / виведення супервізор ідентифікує їх і передає управління відповідною програмою обробки переривання;
• супервізор введення / виводу здійснює передачу повідомлень про помилки, якщо такі відбуваються в процесі управління операціями введення / виводу;
• супервізор введення / виводу посилає повідомлення про завершення операції введення / виводу запитав цю операцію процесу і знімає його з стану очікування вводу / виводу, якщо процес очікував завершення операції.

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


10.3 Завдання ОС з управління зовнішніми пристроями

Підсистема вводу-виводу (Input-Output Subsystem) мультипрограммной ОС при обміні даними з зовнішніми пристроями комп'ютера повинна вирішувати ряд спільних завдань, з яких найбільш важливими є наступні:
• організація паралельної роботи пристроїв введення-виведення і процесора;
• узгодження швидкостей обміну і кешування даних;
• поділ пристроїв і даних між процесами;
• забезпечення зручного логічного інтерфейсу між пристроями і решта ¬ ної частиною системи;
• підтримка широкого спектра драйверів з можливістю простого включення в систему нового драйвера;
• динамічне завантаження і вивантаження драйверів;
• підтримка синхронних і асинхронних операцій введення / виводу.


10.3.1. Організація паралельної роботи пристроїв введення-виведення і процессора


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

Рис. 10.1 Взаємодія програмного забезпечення із зовнішнім пристроєм здійснюється через контролер

Процеси, що відбуваються в контролерах, протікають в періоди між видачами команд незалежно від ОС. Від підсистеми вводу-виводу потрібно спланувати в реальному масштабі часу (у якому працюють зовнішні пристрої) запуск і призупинення великої кількості різноманітних драйверів, забезпечивши прийнятний час реакції кожного драйвера на незалежні події контролера. З іншого боку, необхідно мінімізувати завантаження процесора завданнями введення-виведення, залишивши якомога більше процесорного часу на виконання користувацьких процесів.
Дане завдання є класичною задачею планування систем реального часу і зазвичай вирішується на основі багаторівневої пріоритетної схеми обслуговування по перериваннях. Для забезпечення прийнятного рівня реакції всі драйвери (або частини драйверів) розподіляються по декількох пріоритетних рівнів відповідно до вимог до часу реакції і часом викорис ¬ тання процесора. Для реалізації пріоритетної схеми зазвичай задіюється загальний диспетчер переривань ОС.
10.3.2 Узгодження швидкостей обміну і кешування даних
При обміні даними завжди виникає завдання узгодження швидкості. Наприклад, якщо один користувальницький процес виробляє деякі дані і передає їх іншій користувача процесу через оперативну пам'ять, то в загальному випадку швидкості генерації даних і їх читання не збігаються. Узгодження швидкості звичайно досягається за рахунок буферизації даних в оперативній пам'яті і синхронізації доступу процесів до буферу.
В підсистемі вводу-виводу для узгодження швидкостей обміну також широко використовується буферизація даних в оперативній пам'яті. У тих спеціалізованих операційних системах, в яких забезпечення високої швидкості введення-виведення є першочерговим завданням (управління в реальному часі, послуги мережної файлової служби і т. п.), велика частина оперативної пам'яті відводиться не під коди прикладних програм, а під буферизацію даних.Однак буферизація тільки на основі оперативної пам'яті в підсистемі введення-виведення виявляється недостатньою - різниця між швидкістю обміну з оперативною пам'яттю, куди процеси поміщають дані для обробки, і швидкістю роботи зовнішнього пристрою часто стає занадто значної, щоб в якості тимчасового буфера можна було б використовувати оперативну пам'ять - її обсягу може просто не вистачити. Для таких випадків необхідно передбачити осо ¬ бие заходи, і часто в якості буфера використовується дисковий файл, званий також спул-файлом (від spool - шпулька, теж буфер, тільки для ниток).Типовий приклад застосування спулінга дає організація виводу даних на принтер. Для друкованих документів обсяг у кілька десятків мегабайт - не рідкість, тому для їх тимчасового зберігання (а друк кожного документа займає від декількох хвилин до десятків хвилин) обсягу оперативної пам'яті явно недостатньо.
Іншим рішенням цієї проблеми є використання великої буферної пам'яті в контролерах зовнішніх пристроїв. Такий підхід особливо корисний у тих випадках, коли приміщення даних на диск занадто уповільнює обмін (або коли дані виводяться на сам диск). Наприклад, в контроллерах графічних дисплеї ¬ ев застосовується буферна пам'ять, співмірна за обсягом з оперативною, і це істотно прискорює виведення графіки на екран. Буферизація даних дозволяє не тільки узгодити швидкості роботи процесора і зовнішнього пристрою, але і вирішити іншу задачу - скоротити кількість реальних операцій введення-виведення за рахунок кешування даних. Дисковий кеш є неодмінним атрибутом підсистем вводу-виводу практично всіх операційних систем, значно скорочуючи час доступу до збережених даних.

8.4.3. Поділ пристроїв і даних між процесами

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

10.3.4 Забезпечення зручного логічного інтерфейсу між пристроями та іншою частиною системи

Різноманітність пристроїв введення-виведення робить особливо актуальною функцію ОС по створенню екрануючого логічного інтерфейсу між периферійними пристроями і додатками. Практично всі сучасні операційні системи підтримують в якості основи такого інтерфейсу файлову модель периферійних пристроїв, коли будь-який пристрій виглядає для прикладного програміста послідовним набором байт, з яким можна працювати за допомогою уніфікованих системних викликів (наприклад, read і write), задаючи ім'я файлу-пристрої і зміщення від початку послідовності байт. Для підтримки такого інтерфейсу підсистема вводу-виводу повинна виконати чималу роботу, враховуючи різницю в організації операцій обміну даними, наприклад, з жорстким диском і графічним терміналом.
Привабливість моделі файла-пристрою полягає в її простоті і уніфікованості для пристроїв будь-якого типу, однак у багатьох випадках для програмування операцій введення-виведення деякого устрою вона є занадто бідною. Тому дана модель часто використовується тільки в якості базису, над яким підсистема вводу-виводу будує більш змістовну модель пристроїв конкретного типу. Підсистема вводу-виводу надає, як правило, спе ¬ ного інтерфейс для виводу графічної інформації на дисплей або принтер, для програмування операцій мережевого обміну і т. п. При цьому розробник специфічного інтерфейсу завжди може спиратися на наявний базовий інтерфейс.

10.3.5 Підтримка широкого спектру драйверів і простота включення нового драйвера в систему
Перевагою підсистеми вводу-виводу будь універсальної ОС є на ¬ межування різноманітного набору драйверів для найбільш популярних периферійних пристроїв.
Щоб операційна система не відчувала дефіциту в драйверах, необхідна наявність чіткого, зручного і відкритого інтерфейсу між драйверами та іншими компонентами ОС. Такий інтерфейс потрібен для того, щоб драйвери писали не тільки безпосередні розробники даної операційної системи, але і велика армія програмістів по всьому світу, в першу чергу - тих підприємств, які випускають зовнішні пристрої для комп'ютерів. Відкритість інтерфейсу драйверів, тобто доступність його опису для незалежних раз ¬ розробник програмного забезпечення (а можливо, також і розробка його на основі погоджувальних процедур між провідними колективами розробників), є необхідною умовою успішного розвитку операційної системи.
Драйвер взаємодіє, з одного боку, з модулями ядра ОС (модулями підсистеми введення-виведення, модулями системних викликів, модулями підсистем управління процесами і пам'яттю і т. д.), а з іншого боку - з контролерами зовнішніх пристроїв. Тому існують два типи інтерфейсів: інтерфейс «драйвер-ядро» (Driver Kernel Interface, DKI) і інтерфейс «драйвер-пристрій» (Driver Device Interface, DDI). Інтерфейс «драйвер-ядро» повинен бути стандартизований в будь-якому випадку, а інтерфейс «драйвер-пристрій» має сенс стандартизувати тоді, коли підсистема вводу-виводу не дозволяє драйверу безпосередньо взаємодіяти з апаратурою контролера, а виконує ці операції самостійно.
Зазвичай підсистема вводу-виводу підтримує велику кількість системних функцій, які драйвер може викликати для виконання деяких типових дій.Прикладами можуть служити операції обміну з регістрами контролера, ведення буферів для проміжного зберігання даних введення-виведення, синхронізація роботи декількох драйверів, копіювання даних з користувацького простору в простір системи і т. д.

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

10.3 Режими управління вводом/виводом. Синхронні та асинхронні операції вводу/виводу. Робота драйверів

Є два основні режими вводу/виводу: режим обміну з опитуванням готовності пристрою введення / виводу і режим обміну з перериваннями.Розглянемо рис. 10.2.

Рис. 10.2 Управління вводом / виводом

Нехай для простоти управління вводом / виводом здійснює центральний процесор (в цьому випадку часто говорять про наявність програмного каналу обміну даними між зовнішніми пристроєм і оперативною пам'яттю, на відміну від каналу прямого доступу до пам'яті, при якому управління вводом / виводом здійснює спеціальне додаткове обладнання). Центральний процесор посилає пристрою управління команду виконати деяку дію пристрою введення / виведення. Останнє виконує команду, транслюючи сигнали, зрозумілі центральному процесору і пристрою управління в сигнали, зрозумілі пристрою введення / виведення. Але швидкодія пристрою введення / виведення набагато менше швидкодії центрального процесора (часом на кілька порядків).Тому сигнал готовності (трансльований або генерується пристроєм управління і сигналізує процесору про те, що команда вводу / виводу виконана і можна видати нову команду для продовження обміну даними) доводиться дуже довго чекати, постійно опитуючи відповідну лінію інтерфейсу на наявність або відсутність потрібного сигналу. Посилати нову команду, не дочекавшись сигналу готовності, який повідомляє про виконання попередньої команди, безглуздо.
В режимі опитування готовності драйвер, керуючий процесом обміну даними із зовнішнім пристроєм, якраз і виконує в циклі команду «перевірити наявність сигналу готовності». До тих пір поки сигнал готовності не з'явиться, драйвер нічого іншого не робить. При цьому, природно, нераціонально використовується час центрального процесора. Набагато вигідніше, видавши команду вводу / виводу, на час забути про пристрій введення / виводу і перейти на виконання іншої програми. А поява сигналу готовності трактувати як запит на переривання від пристрою введення / виведення. Саме ці сигнали готовності і є сигналами запиту на переривання.
Режим обміну з перериваннями за своєю суттю є режимом асинхронного управління (рис. 10.3). Для того щоб не втратити зв'язок із пристроєм (після того як процесор видав чергову команду з управління обміном даними і переключився на виконання інших програм), може бути запущений відлік часу, протягом якого пристрій обов'язково має виконати команду і видати сигнал запиту на переривання.

Рис. 10.3 Режими виконання операцій введення / виводу

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

 

 

Информация о работе Управління віртуальною пам'яттю