Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: свободно | ВУЗ: Санкт-Петербургский государственный университет
Лекция 21:

Системы ввода-вывода

< Лекция 20 || Лекция 21: 12345 || Лекция 22 >
Аннотация: В лекции рассмотрены следующие вопросы: организация ввода-вывода в компьютерной системе и ее поддержка в ОС; контролллеры; драйверы; контроллеры с прямым доступом к памяти (Direct Memory Access – DMA); цикл выполнения задания в ОС, чередование вычислений и ввода вывода, прерывания.
Ключевые слова: подсистема ввода-вывода, устройство ввода/вывода, FDD, гигабайт, HDD, Стример, DVD, solid, disk, SSD, zip drive, drive, флэш-память, IEEE 1394, Fire-Wire, high definition, multimedia, HDMI, цифровой фотоаппарат, контроллер, разъем, порт, USB, LPT, унификация, внешнее устройство, COM, связь, Bluetooth, информация, шина, тактовая частота, ghz, производительность, PCI-X, микропроцессор, устройство управления, память, буфер, Типовая, общая шина, IDE, интерфейс, DVD-ROM, SATA, SCSI, CD-ROM, SPARC, SUN, computer, system interface, DMA, контроллер прерываний, последовательный порт, параллельный порт, операционная система, анализ, пользователь, ready, прерывание, массив, pentium, коды операций, маскируемое прерывание, контроллер устройства, буферная память, процессор, API, драйвер устройства, методы передачи данных, совместный доступ, латентность, seek, вывод, доступ, мышь, символьное устройство, сеть, Unix, Windows, сетевой протокол, операции, сетевой пакет, pipe, FIFO, сеть Ethernet, Wi-Fi, FireWire, килобайт, материнская плата, системный вызов, команда, демон, резервное копирование, поток, асинхронный ввод/вывод, исключение, программирование, среда разработки, запись, буферизация, сглаживание, кэширование, ключ, функция, печать, тупик, deadlock, код ошибки, запрос, компонент, очередь ввода, распределение памяти, жизненный цикл, удаленная файловая система, корпоративная сеть, представление, direct memory access, модуль ядра, пользовательский процесс, абстракция, кабель, быстродействие, адрес, опрос, вектор, прямой, блочное устройство, Синхронный, spool, контроль, балансировка нагрузки

Презентацию к данной лекции Вы можете скачать здесь.

Введение

Устройства и системы ввода-вывода в современных компьютерных и операционных системах весьма разнообразны. В лекции рассмотрены следующие вопросы:

  • Аппаратура ввода-вывода
  • Интерфейс приложений для ввода-вывода
  • Подсистема ввода-вывода в ядре ОС
  • Преобразование запросов на ввод-вывод в аппаратные операции
  • Производительность систем ввода-вывода.

Аппаратура ввода-вывода

В настоящее время наблюдается все более и более активное развитие устройств ввода-вывода в компьютерных системах. В значительной степени это объясняется, во-первых, необходимостью ввода, обработки и вывода мультимедийной информации (аудио, видео, цифровых фотографий, отсканированных образов и других изображений), во-вторых, постоянной потребностью в увеличении скорости и емкости устройств вследствие гигантского роста размеров обрабатываемой информации. Еще в 1980-х гг., например, нормой считалось использование гибких дискет (FDD) емкостью 1.44 мегабайта для резервного копирования. Сейчас устройствами FDD настольные и портативные компьютеры вообще не комплектуются, а, что касается резервного копирования, то и устройств емкостью 128 гигабайт может оказаться недостаточно для этой цели.

Обзор аппаратуры ввода-вывода дан в "Особенности ОС для различных классов компьютерных систем. ОС реального времени. ОС для облачных вычислений" . Набор устройств включает, в частности:

  • клавиатуру и мышь;
  • жесткие диски (HDD), включая внутренние и внешние;
  • flash-память;
  • ленточные стримеры;
  • компакт-диски BluRay, DVD, CD;
  • твердотельные накопители на магнитных дисках (solid state disksSSD);
  • ZIP drives, JAZ drives – уже устаревающие, но еще используемые устройства для резервного копирования со съемными носителями (их постепенно вытесняет флэш-память, физические размеры модулей которой гораздо меньше, а емкость – больше);
  • магнито-оптические диски – ныне уже устаревшие устройства для резервного копирования, но долгое время использовавшиеся;
  • устройства для мультимедийного ввода-вывода: порты и адаптеры IEEE 1394 (Fire-Wire) для подключения цифровых видеоустройств; порты и адаптеры High Definition Multimedia Interface (HDMI) для подключения видеоаппаратуры стандарта High Definition (HD); кард-ридеры для нескольких форматов (SmartMedia и др.) носителей, используемых в цифровых фотоаппаратах;
  • мониторы, видеокарты (видеоадаптеры) и графические процессоры, в том числе – многоядерные;
  • принтеры, сканеры.

Основные концепции

Рассмотрим общие концепции аппаратуры и ОС, связанные с устройствами ввода-вывода.

Каждое устройство подключается к компьютерной системе через порт контроллер и разъем (либо беспроводное устройство) для передачи данных между устройством ввода-вывода и компьютером. Каждый порт имеет свое традиционное обозначение и свой номер в системе. Порт может существовать физически, как разъем для проводного соединения и связанный с ним контроллер порта (например, USB – универсальный порт для подключения широкого спектра устройств; LPTпорт для подключения принтеров и сканеров), либо может быть организован операционной системой как виртуальный порт для унификации обработки внешних устройств. Виртуальные порты, обычно – коммуникационные порты (COM) с большими номерами – например, COM10, COM15, - организуются для обмена с устройствами беспроводной связи – например, мобильными телефонами и органайзерами. Беспроводная связь чаще всего организуется через Bluetooth – радиосвязь на расстоянии до 20 м, в новых стандартах – до 1 км.

Шина (bus) - это цепочка устройств прямого доступа в компьютерной системе, через которую передается информация от одних устройств к другим. Обычно в настольных и портативных компьютерах используется шина PCI (Peripheral Computer Interface),тактовая частота которой в современных компьютерах 1 – 1.5 GHz. Она фактически и определяет суммарную производительность компьютерной системы. К шине PCI подключены контроллеры внешних устройств и портов.

Контроллер (host adapter) – специализированный микропроцессор для управления внешним устройством и портом. Контроллер внешнего устройства – это устройство управления командами ввода-вывода с данным внешним устройством. Устройства имеют адреса, используемые командами непосредственного ввода-вывода и командами ввода-вывода, отображаемого в память. Каждый контроллер устройства использует свой буфер памяти для хранения одного или нескольких блоков информации, расположенный либо в специализированной памяти устройства (контроллера), либо являющийся частью оперативной памяти компьтерной системы.

Типовая структура общей шины персонального компьютера изображена на рис. 21.1.

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

увеличить изображение
Рис. 21.1. Типовая структура общей шины персонального компьютера.

Некоторые пояснения к схеме.

IDE – типовой интерфейс для подключения внутри корпуса компьютера через шлейфы внутренних жестких дисков, устройств CD – и DVD-ROM .Шлейф имеет характерную плоскую форму, шириной 2 -3 см, очень малой толщины, с широким разъемом. В современных компьютерах для внутренних дисков вместо IDE используется более высокоскоростной интерфейс SATA.

Контроллер и шина SCSI – возможность подключения к одному SCSI-порту цепочки (гирлянды) SCSI-устройств (дисков, сканеров, устройств CD-ROM и DVD-ROM и др.), каждое из которых имеет свой, уникальный в данной цепочке, номер – SCSI ID от 0 до 9. Удобство интерфейса SCSI в том, что цепочка организуется из внешних устройств, каждое из которых соединяется SCSI-кабелем со следующим, а последнее устройство в цепочке содержит включенный терминатор, обозначающий конец цепочки. Это удобно при наращивании объема внешней памяти компьютера. SCSI-устройства использовались автором на рабочих станциях SPARC фирмы Sun, которая являлась одним из активных сторонников интерфейса SCSI (Small Computer System Interface).

В таблица 1 приведен пример адресов внешних устройств персонального компьютера.

Таблица 1. Пример таблицы адресов внешних устройств ПК (частично)
диапазон адресов устройств ввода-вывода (шестнадцатиричных) устройство
000-00F DMA-контроллер
020-021 контроллер прерываний
040-043 таймер
200-20F игровой контроллер
2F8-2FF последовательный порт (вторичный)
320-32F контроллер жесткого диска
378-37F параллельный порт
3D0-3DF графический контроллер
3F0-3F7 контроллер гибких дисков (дискет)
3F8-3FF последовательный порт (первичный)
< Лекция 20 || Лекция 21: 12345 || Лекция 22 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков