![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
52. Общая характеристика устройств ввода – вывода
Внешние устройства, выполняющие операции ввода-вывода, можно разделить на три группы:
· устройства, работающие с пользователем. Используются для связи пользователя с компьютером. Сюда относятся принтеры, дисплеи, клавиатура, манипуляторы (мышь, трекбол, джойстики) и т. п.;
· устройства, работающие с компьютером. Используются для связи с электронным оборудованием. К ним можно отнести дисковые устройства и устройства с магнитными лентами, датчики, контроллеры, преобразователи;
· коммуникации. Используются для связи с удаленными устройствами. К ним относятся модемы и адаптеры цифровых линий.
По другому признаку устройства ввода-вывода можно разделить на блочные и символьные. Блочными являются устройства, хранящие информацию в виде блоков фиксированного размера, причем у каждого блока есть адрес, и каждый блок может быть прочитан независимо от остальных блоков.
Символьные устройства принимают или передают поток символов без какой-либо блочной структуры (принтеры, сетевые карты, мыши и т. д.).
Однако некоторые из устройств не попадают ни в одну из этих категорий, например, часы, мониторы и др. И все же модель блочных и символьных устройств является настолько общей, что может использоваться в качестве основы для достижения независимости от устройств некоторого программного обеспечения операционных систем, имеющего дело с вводом-выводом. Например, файловая система имеет дело с абстрактными блочными устройствами, а зависимую от устройств часть оставляет программному обеспечению низкого уровня.
Следует также отметить существенные различия между устройствами ввода-вывода, как принадлежащими к разным классам, так и в рамках каждого класса.
Эти различия касаются следующих характеристик:
· скорости передачи данных (различия на несколько порядков);
· применения. Каждое действие, поддерживаемое устройством, оказывает влияние на программное обеспечение и стратегии операционной системы (например, диск, используемый для хранения файлов или для страниц виртуальной памяти, требует различного программного обеспечения);
· сложности управления. Для принтера требуется относительно простой интерфейс управления, для диска - намного сложнее. Влияние этих отличий на ОС сглаживается усложнением контроллеров ввода-вывода;
· единицы передачи данных. Данные могут передаваться блоками или потоками байтов или символов;
· представления данных. Различные устройства используют разные схемы кодирования данных, включая разную кодировку символов и контроль четности;
· условий ошибки. Природа ошибок, способ сообщения о них, их последствия и возможные ответы резко отличается при переходе от одного устройства к другому.
Такое разнообразие внешних устройств приводит, по сути, к невозможности разработки единого и согласованного подхода к проблеме ввода-вывода как с точки зрения операционной системы, так и с точки зрения пользовательских процессов. На рис. 4.1 даны сведения по скорости передачи данных типичных устройств ввода-вывода.
Устройства ввода-вывода обычно состоят из электромеханической и электронной частей (рис. 4.2). Обычно их выполняют в форме отдельных модулей - собственно устройство и контроллер (адаптер). В ПК контроллер принимает форму платы, вставляемой в слот расширения. Плата имеет разъем, к которому подключается кабель, ведущий к самому устройству. Многие контроллеры способны управлять двумя, четырьмя, и даже более, идентичными устройствами. Если интерфейс между контроллером и устройством является официальным стандартом (ANSI, IEEE или ISO) или фактическим стандартом, то различные компании могут выпускать отдельно котроллеры и устройства, удовлетворяющие данному интерфейсу. Так многие компании производят диски, соответствующие интерфейсу IDE или SCSI, а наборы схем системной логики материнских плат реализуют IDE- и SCSI-контроллеры.
Интерфейс между контроллером и устройством часто является интерфейсом очень низкого уровня, т. е. очень специфичным, зависящим от типа внешнего устройства. Например, видеоконтроллер считывает из памяти байты, содержащие символы, которые следует отобразить и формирует сигналы управления лучом электронной трубки, сигналы строчной и кадровой развертки и т. п.
Каждый контроллер взаимодействует с драйвером системным программным модулем, предназначенным для управления данным устройством. Для работы с драйвером контроллер имеет несколько регистров, кроме того, контроллер может иметь буфер данных, из которого операционная система может читать данные, а также записывать данные в него. Каждому управляющему регистру назначается номер порта ввода-вывода. Используя регистры контроллера, ОС может узнать состояние устройства (например, готово ли оно к работе), а также выдавать команды управления устройством (принять или передать данные, включиться, выключиться и т. п.).
Дата публикования: 2014-11-04; Прочитано: 595 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!