Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программная поддержка механизмов виртуальной памяти



52. Общая характеристика устройств ввода – вывода

Внешние устройства, выполняющие операции ввода-вывода, можно разделить на три группы:

· устройства, работающие с пользователем. Используются для связи пользователя с компьютером. Сюда относятся принтеры, дисплеи, клавиатура, манипуляторы (мышь, трекбол, джойстики) и т. п.;

· устройства, работающие с компьютером. Используются для связи с элект­ронным оборудованием. К ним можно отнести дисковые устройства и устройст­ва с магнитными лентами, датчики, контроллеры, преобразователи;

· коммуникации. Используются для связи с удаленными устройствами. К ним от­носятся модемы и адаптеры цифровых линий.

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

Символьные устройства принимают или передают поток символов без какой-либо блочной структуры (принтеры, сетевые карты, мыши и т. д.).

Однако некоторые из устройств не попадают ни в одну из этих категорий, например, часы, мониторы и др. И все же модель блочных и символьных устройств является настолько общей, что может использоваться в качестве основы для достижения независимости от устройств некоторого программного обеспечения операционных систем, имеющего дело с вводом-выводом. Например, файловая система имеет дело с абстракт­ными блочными устройствами, а зависимую от устройств часть оставляет программному обеспечению низкого уровня.

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

Эти различия касаются следующих характеристик:

· скорости передачи данных (различия на несколько порядков);

· применения. Каждое действие, поддерживаемое устройством, оказывает влияние на программное обеспечение и стратегии операционной системы (например, диск, используемый для хранения файлов или для страниц виртуальной памяти, требует различного программного обеспечения);

· сложности управления. Для принтера требуется относительно простой интер­фейс управления, для диска - намного сложнее. Влияние этих отличий на ОС сглаживается усложнением контроллеров ввода-вывода;

· единицы передачи данных. Данные могут передаваться блоками или потоками байтов или символов;

· представления данных. Различные устройства используют разные схемы ко­дирования данных, включая разную кодировку символов и контроль четности;

· условий ошибки. Природа ошибок, способ сообщения о них, их последствия и воз­можные ответы резко отличается при переходе от одного устройства к другому.

Такое разнообразие внешних устройств приводит, по сути, к невозможности разра­ботки единого и согласованного подхода к проблеме ввода-вывода как с точки зрения операционной системы, так и с точки зрения пользовательских процессов. На рис. 4.1 даны сведения по скорости передачи данных типичных устройств ввода-вывода.

Устройства ввода-вывода обычно состоят из электромеханической и электронной частей (рис. 4.2). Обычно их выполняют в форме отдельных модулей - собственно уст­ройство и контроллер (адаптер). В ПК контроллер принимает форму платы, вставляе­мой в слот расширения. Плата имеет разъем, к которому подключается кабель, ведущий к самому устройству. Многие контроллеры способны управлять двумя, четырьмя, и да­же более, идентичными устройствами. Если интерфейс между контроллером и устрой­ством является официальным стандартом (ANSI, IEEE или ISO) или фактическим стан­дартом, то различные компании могут выпускать отдельно котроллеры и устройства, удовлетворяющие данному интерфейсу. Так многие компании производят диски, соот­ветствующие интерфейсу IDE или SCSI, а наборы схем системной логики материнских плат реализуют IDE- и SCSI-контроллеры.

Интерфейс между контроллером и устройством часто является интерфейсом очень низкого уровня, т. е. очень специфичным, зависящим от типа внешнего устройства. На­пример, видеоконтроллер считывает из памяти байты, содержащие символы, которые следует отобразить и формирует сигналы управления лучом электронной трубки, сиг­налы строчной и кадровой развертки и т. п.

Каждый контроллер взаимодействует с драйвером системным программным моду­лем, предназначенным для управления данным устройством. Для работы с драйвером контроллер имеет несколько регистров, кроме того, контроллер может иметь буфер дан­ных, из которого операционная система может читать данные, а также записывать дан­ные в него. Каждому управляющему регистру назначается номер порта ввода-вывода. Используя регистры контроллера, ОС может узнать состояние устройства (например, готово ли оно к работе), а также выдавать команды управления устройством (принять или передать данные, включиться, выключиться и т. п.).





Дата публикования: 2014-11-04; Прочитано: 570 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...