Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS. Korec. edit..doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

31. Устройства ввода-вывода, их классификация. Эволюция функций ввода-вывода

Устройства ввода-вывода.

Внешние устройства ввода вывода могут быть разделены на три группы:

1. Работающие с пользователем. Используются для связи с пользователем:

принтеры, мониторы, мышь, клавиатура.

2. Работающие с компьютером. Используются для связи с электронным

оборудованием: дисковые устройства, датчики, контроллеры.

3. Коммуникации. Используются для связи с удаленными устройствами: модемы,

драйверы цифровых линий.

Устройства ввода-вывода могут различаться по следующим критериям:

1. Скорость передачи данных.

2. Применение. Функции устройств требуют соответствующего программного

обеспечения и изменения стратегии ОС.

3. Сложность управления. Например, для диска требуется гораздо более сложный

интерфейс управления по сравнению с принтером.

4. Единицы передачи данных. Могут передаваться как поток символов (терминал),

блоками (при выполнении дисковых операций).

5. Представление данных. Устройства использую разные схемы кодирования

данных.

6. Условия ошибок. Способ сообщения об ошибках и их последствии могут

значительно различаться у разных устройств.

Разнообразие устройств ввода-вывода приводит к невозможности разработки

единого подхода к задаче ввода-вывода.

Мы уже рассматривали три способа ввода-вывода: программируемый ввод-вывод,

ввод-вывод, управляемый прерываниями и прямой доступ к памяти. В настоящее время в

большинстве систем основным способом является прямой доступ к памяти.

Рассмотрим основные этапы развития управления вводом-выводом:

1. Процессор непосредственно управляет устройством.

2. Появляется контроллер или модуль ввода-вывода. Процессор отделяется от

некоторых деталей операций ввода-вывода, контроллер берет эти функции на себя,

предоставляя процессору более удобный и унифицированный интерфейс ввода

вывода.

3. Добавляются прерывания, благодаря которым процессор может переключиться на

другие задачи при выполнении операций ввода-вывода.

4. Появляется прямой доступ к памяти, который позволяет перемещать блоки данных

без участи процессора за исключением начала и окончания передачи.

5. Модуль ввода-вывода становится отдельным процессором со специальной

системой команд. Центральный процессор дает контроллеру команду – выполнить

программу ввода-вывода, после чего контроллер самостоятельно считывает и

выполняет ее команды, тем самым еще больше разгружая и увеличивая

производительность центрального процессора.

6. Модуль ввода-вывода теперь обладает своей локальной памятью, при этом

управление устройствами ввода-вывода происходит при минимальном участии

процессора.

32. Основные цели при проектировании ввода-вывода в ос. Иерархия управления вводом-выводом.

Вопросы проектирования ввода-вывода в ОС

При разработке средств ввода-вывода преследуются 2 важнейшие цели:

эффективность и универсальность. Медленное выполнение операций ввода-вывода

приводит к неэффективной работе процессора, когда он простаивает из-за того, что все

процессы блокированы в ожидании операций ввода-вывода. Это частично решается с

помощью свопинга. Но выгрузка и загрузка процессов с диска в основную память сама по

себе является операцией ввода-вывода. Поэтому организация эффективного ввода-вывода

в ОС является критичной задачей.

Универсальность необходима для того, чтобы упростить работу с устройствами

ввода-вывода и снизить вероятность возникновения ошибок. Пользовательские процессы

как правило обращаются к устройствам с высокоуровневыми универсальными вызовами,

которые скрывают детали работы с конкретным устройством

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

Для универсальности и обеспечения модульности разработки, функции ввода-

вывода организованы в виде иерархической структуры, где каждый уровень обращается к

следующему для вызова команд. Работает это примерно по таким схемам. (см. рис 1)

Самый простой случай – когда локальное периферийное устройство

осуществляет связь с помощью потока байтов. При этом задействованы следующие

уровни:

1. Логический ввод-вывод. На этом уровне обращение к устройству ввода-вывода

осуществляется как к логическому ресурсу, детали фактического управления

устройством неизвестны. Т.е. логический модуль служит посредником между

пользовательскими процессами и более низкими уровнями ввода-вывода.

2. Устройство ввода-вывода. Запрошенные операции и данные конвертируются в

нужные последовательности инструкций и команды контроллера. Может

применяться буферизация.

3. Планирование и контроль. Здесь происходит организация очередей и планирование

операций, работа с прерываниями, получение информации о состоянии устройства,

взаимодействие с аппаратным обеспечением.

Для устройств связи схема почти такая же, но вместо логического вывода присутствует

некоторая архитектура коммуникаций, которая также может состоять из нескольких

уровней.

Рассмотрим теперь схему ввода-вывода для запоминающего устройства с

файловой системой. Здесь кроме трех нижних уровней из предыдущих схем, есть еще три

уровня:

1. Управление каталогами. На этом уровне имена файлов преобразуются в

идентификаторы. Также здесь происходят операции добавления и удаления

каталогов.

2. Файловая система. Здесь происходит работа с логической структурой файлов, их

открытием, закрытием, чтением, записью, а также осуществляется управление

правами доступа.

Физическая организация. Логические ссылки на файлы и записи должны быть

преобразованы в физические адреса конкретного устройства (например, номера дорожек,

секторов и т. д.)

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