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

2. Управління пристроями

2.1. Основні завдання управління пристроями

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

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

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

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

Велика розмаїтість використовуваних пристроїв і постійна поява нових моделей диктують необхідність такої структури системи, яка дозволяла б легке підключення нових пристроїв. Широке поширення отримує технологія «Plug & Play», тобто можливість оперативного під'єднання пристроїв без виключення комп'ютера.

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

До числа додаткових завдань, що вирішуються підсистемами управління пристроями сучасних ОС, можна віднести зберігання даних в стислому вигляді, шифрування даних і т.п.

2.2. Класифікація периферійних пристроїв і їх архітектура

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

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

Класифікація периферійних пристроїв може бути виконана за різними ознаками.

· Пристрої послідовного доступу (sequential access) і пристрої довільного доступу (random access). Для послідовних пристроїв характерна наявність певного природного порядку даних, при цьому обробка даних в іншому порядку або неможлива, або вкрай утруднена. Класичним прикладом є магнітні стрічки, для яких читання і запис даних ведуться від початку стрічки до кінця, а спроба доступу в іншому порядку вимагатиме постійної перемотування стрічки, різко знижує швидкість роботи. До пристроїв послідовного доступу можна віднести також клавіатуру, мишу, принтер, модем.

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

· Символьні (байтові) і блокові пристрої. Для символьних пристроїв найменшою порцією вводяться і виведених даних є один байт. Для деяких символьних пристроїв можна за одну операцію виконати ввід або висновок будь-якого (в розумних межах) необхідної кількості байт.

Для блокових пристроїв найменшою порцією введення / виводу, виконуваного за одне звернення до пристрою, є один блок, рівний, як правило, 2k байт. Типовим розміром блоку може бути 512 байт, 1K байт, 4K байт і т.п., в залежності від конкретного пристрою. Найбільш відомі приклади блокових пристроїв - магнітні диски та магнітні стрічки. Для диска поняття блоку зазвичай збігається з поняттям сектора. Зокрема, для IBM-сумісних ПК сектор (блок) диска дорівнює 512 байт.

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

· Фізичні, логічні і віртуальні пристрої. Під фізичним пристроєм зазвичай розуміється деякий реально існуючий прилад, «залізяка». Насправді, з точки зору програмної архітектури для наявності фізичного пристрою достатньо знати набір адрес, команд, переривань і інших сигналів, що дозволяють виконувати операції з даними. Куди йдуть або звідки приходять ці сигнали - це питання, не стосується програміста.

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

може бути перепризначений, наприклад, на принтер або у файл, стандартний ввід - на віддалений термінал, на файл і т.п.

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

- Віртуальні диски, розташовані на самому ділі в оперативній пам'яті (такі пристрої були популярні в кінці 80-х років);

- Віртуальна пам'ять, розташована на самому ділі на диску;

- Віртуальні CD і DVD - програми, що імітують поведінку відповідних пристроїв;

- Віртуальний екран, надаваний DOS-програмі, що працює в режимі вікна Windows (програма працює так, як якщо б їй був наданий весь екран, але насправді система направляє висновок програми у відведений їй вікно);

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]