Добавил:
Developerrnrn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен Павлов.docx
Скачиваний:
139
Добавлен:
17.08.2022
Размер:
786.12 Кб
Скачать
  1. Основы аппаратного обеспечения ввода-вывода Устройства ввода-вывода

Периферийные устройства компьютеров делятся на устройства ввода, устройства вывода и внешние запоминающие устройства (осуществляющие как ввод данных в машину, так и вывод данных из компьютера). Основной обобщающей характеристикой устройств ввода/вывода может служить скорость передачи данных (максимальная скорость, с которой данные могут передаваться между устройством ввода/вывода и основной памятью или процессором). [2]

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

Другой тип устройств ввода-вывода — символьные устройства. Они выдают или воспринимают поток символов, не относящийся ни к какой блочной структуре.В качестве символьных устройств могут рассматриваться принтеры, сетевые интерфейсы, мыши (в качестве устройства-указателя), крысы (для лабораторных исследований по психологии) и множество других устройств, не похожих на дисковые устройства. [3]

Контроллеры устройств

Устройства ввода-вывода зачастую состоят из механической и электронной составляющих. Электронный компонент называется контроллером устройства, или адаптером. Механический компонент представлен самим устройством. [3]

Ввод-вывод, отображаемый на пространство памяти.

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

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

Устройства ввода/вывода можно разделить на несколько категорий: блочные и символьные.

При работе с устройствами ввода/вывода идет непосредственно работа с памятью. Контроллеры устройств принимают сигнал от процессора для дальнейшего действия. Одной из ключевых характеристик аппаратных устройств ввода/вывода является скорость чтения и записи информации. Для достижения лучшего результата используют множество методов работы процессора с памятью и самими устройством для получения, отправки запросов, а также их маршрутизации. Например, контроллеры DMA, что позволяют более рационально расходовать его рабочее время. Но и у них есть свои недостатки в виде задержки процессора из-за своей медлительности.

  1. Принципы создания программного обеспечения ввода-вывода

Ключевыми принципами организации ПО ввода-вывода являются:

  1. Независимость от устройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска. (Этот принцип означает возможность написания программ, способных получать доступ к любому устройству ввода-вывода без предварительного указания конкретного устройства)

  1. Единообразное именование (Имя файла или устройства должно представлять собой просто текстовую строку или целое число и никак не должно зависеть от физического устройства)

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

  1. Использование блокирующих (синхронных) и неблокирующих (асинхронных) передач. Большинство операций физического ввода-вывода выполняется как неблокирующие. При этом процессор, выдав команду на передачу данных, переходит на другую работу, пока не наступает прерывание. Это обеспечивает более полное использование процессора. При блокирующей передаче после поступления команды READ программа приостанавливается до тех пор, пока данные не попадут в буфер программы. Пользовательские программы намного легче писать, если операции ввода-вывода блокирующие. Поэтому ОС выполняет операции ввода-вывода как неблокирующие, но представляет их для пользовательских программ как блокирующие. Устранение проблем при работе с выделенными устройствами.

  1. Устройства ввода-вывода могут быть разделяемыми и выделенными. Диски – это разделяемые устройства, так как одновременный доступ нескольких пользователей к диску не представляет собой проблему. Принтеры – это выделенные устройства, потому что нельзя смешивать строчки, печатаемые различными пользователями.

Инфа:

http://5fan.ru/wievjob.php?id=24529

http://citforum.ru/operating_systems/sos/glava_9.shtml