Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операційні системи.doc
Скачиваний:
0
Добавлен:
13.01.2020
Размер:
6.41 Mб
Скачать

Лекція 17. Системи вводу-виводу План

  • Присторої вводу-виводу

  • Основні концепціїї

  • Опитування пристроїв

  • Переривання

  • Ввод-вивід з прямим доступом до памяті (DMA)

  • Інтерфейс вводу-виводу

  • Блочні и Символьні пристрої

  • Годинники и таймери

  • Синхронний і асинхронний ввод-вивід

  • Підсистема ввода-виводу в ядрі ОС

  • Структури даних для ввода-виводу в ядрі ОС

  • Життєвий цикл запросу на ввод-вивід

  • Продуктивність вводу-виводу

Рис. 21.1.  Типова структура загальної шини персонального комп'ютера.

Деякі пояснення до схеми.

IDE – типовий інтерфейс для підключення усередині корпуса комп'ютера через шлейфи внутрішніх жорстких дисків, пристроїв CD – і DVD-ROM. Шлейф має характерну плоску форму, шириною 2 -3 см, дуже малі товщини, із широким роз'ємом. У сучасних комп'ютерах для внутрішніх дисків замість IDE використається більше високошвидкісний інтерфейс SATA.

Контролер і шина SCSI – можливість підключення до одного SCSI-порту ланцюжка (гірлянди) SCSI-пристроїв (дисків, сканерів, пристроїв CD-ROM й DVD-ROM й ін.), кожне з яких має свій, унікальний у даному ланцюжку, номер – SCSI ID від 0 до 9. Зручність інтерфейсу SCSI у тім, що ланцюжок організується із зовнішніх пристроїв, кожне з яких з'єднується SCSI-кабелем з наступної, а останній пристрій у ланцюжку містить включеного термінатора, що позначає кінець ланцюжка. Це зручно при нарощуванні обсягу зовнішньої пам'яті комп'ютера. У таблиці 1 наведено приклад адрес зовнішніх пристроїв персонального комп'ютера.

Таблиця 1. Приклад таблиці адрес зовнішніх пристроїв ПК (частково)

діапазон адрес пристроїв вводу-виводу

пристрій

000-00F

DMA-контролер

020-021

контролер переривань

040-043

таймер

200-20F

ігровий контролер

2F8-2FF

послідовний порт (вторинний)

320-32F

контролер жорсткого диска

378-37F

паралельний порт

3D0-3DF

графічний контролер

3F0-3F7

контролер гнучких дисків (дискет)

3F8-3FF

послідовний порт (первинний)

Опитування пристроїв

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

  • command-ready - готово до виконання команд;

  • busy - зайнято;

  • error - помилка.

При виконанні вводу-виводу апаратури організує цикл busy-wait очікування вводу-виводу із пристроєм: якщо пристрій зайнятий, процес чекає його звільнення.

Переривання

Лінія запитів на переривання (interrupt request – IRQ) перемикається пристроєм вводу-виводу, що сигналізує за допомогою запиту на переривання про початок або закінчення вводу-виводу.

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

Вектор переривань – резидентний масив, що містить адреси оброблювачів переривань в операційній системі, - використається з метою переадресування переривання для обробки відповідним оброблювачем (handler).

Робота з вектором переривань заснована на пріоритетах зовнішніх пристроїв, що ініціювали переривання.

У таблиці 2 наведено номери переривань у процесорі Intel Pentium.

Таблиця 2. Tаблица номерів переривань у процесорі Intel Pentium

Номер переривання

Опис

0

помилка при розподілі

1

виключення при налагодженні

2

переривання по null

3

крапка зупинки

4

переривання, виявлене INTO

5

виключення по виходу за межі

6

невірний код операції

7

пристрій недоступно

8

подвійне переривання

9

переповнення сегмента співпроцесора

10

невірний сегмент стану завдання

11

сегмент відсутній

12

помилка стека

13

загальне переривання по захисту

14

відмова сторінки

15

(зарезервовано Intel, не використати)

16

помилка в операції із плаваючою крапкою

17

контроль вирівнювання

18

контроль пристрої

19-31

зарезервовано Intel, не використати

32-255

маскуємі переривання