Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ_лекції.docx
Скачиваний:
148
Добавлен:
23.02.2016
Размер:
136.33 Кб
Скачать

Лекція 9.

Керування введенням-виведенням.

  1. Прямий доступ до пам'яті.

Рис.9.1. Блок-схема прямого доступу до пам'яті.

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

  1. Аспекти проектування пристроїв введення-виведення.

При проектуванні керуються двома цілями.

Досягнення високої ефективності та універсальності.

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

Друга важлива задача – це універсальність. Щоб спростити роботу з пристроями введення-виведення та знизити ймовірність виникнення помилок, бажано мати можливість однакового керування різними пристроями. Це відноситься як до керування пристроями введення-виведення зі сторони процесів користувача, так і з сторони операційної системи.

  1. Логічна структура функцій введення-виведення.

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

Така філософія по відношенню до засобів введення-виведення визначає організацію, наведену на рис.8.5.

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

Розглянемо рис.9.5 а), коли локальний периферійний пристрій здійснює зв'язок шляхом потоку байтів або записів. Рівні:

  • Логічне введення-виведення. Модуль логічного введення-виведення поводиться з пристроєм як з логічним ресурсом і не звертає уваги на деталі фактичного керування пристроєм. Логічний модуль введення-виведення працює посередником між процесами користувача і пристроєм (надає набір високорівневих функцій).

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

Три рівні розглядались вище, а інші:

  • Керування каталогами. На цьому рівні відбувається перетворення символьних імен файлів в ідентифікатори, які вказують на файл – безпосередньо або непрямо («косвенно»), з використанням файлового дескриптора або індексної таблиці. Цей рівень такожповязаний з операціями користувача з каталогами файлів: доповнення, видалення або реорганізація.

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

  1. Буферизація операцій введення-виведення.

При розгляді різних методів буферизації потрібно враховувати, що існують пристрої введення-виведення двох типів: блочно-орієнтовані і поточно-орієнтовані.

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