logo
СПЗ_лекції

1.Пристрої введення-виведення.

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

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

Блочними пристроями називаються пристрої, які зберігають інформацію у вигляді блоків фіксованого розміру, при чому у кожного блоку є адреса. Розміри блоків змінюються від 521-32768 байт. Важливою властивістю є те, що кожен його блок може бути прочитаний незалежно від інших блоків. Найбільш поширеними блочними пристроями є диски.

До символьних пристроїв відносяться: принтери, мережні інтерфейсні карти і маніпулятори мишки.

Пристрої введення-виведення покривають великий діапазон швидкостей, що створюють певні труднощі для програмного забезпечення. Ці пристрої найчастіше складаються з механічної та електронної частин.

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

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

Існує 2 альтернативних способи реалізації доступу до керуючих регістрів і буферів даних пристроїв введення-виведення. Перший варіант полягає в тому, що кожному керуючому регістру призначається номер порта пристрою введення-виведення (8 або 16 розрядне ціле число). Другий підхід базується на відображені всіх керуючих регістрів периферійних пристроїв на адресний простір пам’яті. Кожному керуючому регістру призначається унікальна адреса в пам’яті. Така система називається відображенням на адресний простір пам’яті.

ЦП може запитувати дані від контролера введення-виведення по одному байту. Але подібна схема є неефективною. Тому на практиці часто застосовується інша схема, яку називають прямим доступом до пам’яті, ПДП (DMA). ОС може скористатись DMA тільки при наявності DMA контролера, який є у більшості КС.