Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Принципы работы аппаратуры ввода-вывода




Лабораторная работа №9

Использование технологии Windows Management Instrumentation для работы с устройствами.

Цель: изучить  классы WMI, отвечающие за работу с устройствами.

Теоретические положения

Принципы работы аппаратуры ввода-вывода

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

 

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

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

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

 

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

Внешнее устройство обычно состоит из механического и электронного компонента. Электронный компонент называется контроллером устройства или адаптером. Механический компонент представляет собственно устройство.

Если интерфейс между контроллером и устройством стандартизован (ANSI, IEEE или ISO), то независимые производители могут выпускать совместимые как контроллеры, так и устройства. Например: диски IDE или SCSI.

Операционная система обычно имеет дело не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции, например, при считывании с диска, преобразует поток бит в блоки, состоящие из байт, и осуществляют контроль и исправление ошибок, проверяется контрольная сумма блока, если она совпадает с указанной в заголовке сектора, то блок считан без ошибок, если нет, то считывается заново.

Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. При помощи этих регистров ОС управляет (считывает, пишет, включает и т.д.) и определяет состояние (готовность) устройства.

У многих устройств есть буфер данных (например: видеопамять).

 

1.1.3 Прерывания

 

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

Чтобы сигнализировать процессору об окончании работы, устройство инициализирует прерывание, выставляя сигнал на выделенную устройству линию шины (а не выделенный провод).

Контроллер прерываний - обслуживает поступающие прерывания от устройств.

1. Если необработанных прерываний нет, прерывание выполняется немедленно.

2. Если необработанных прерываний есть, контроллер игнорирует прерывание. Но устройство продолжает удерживать сигнал прерывания на шине до тех пор, пока оно не будет обработано.

Рисунок 3 -  Работа прерываний

 

Алгоритм работы:

· Устройство выставляет сигнал прерывания

· Контроллер прерываний инициирует прерывание, указывая номер устройства

· Процессор начинает выполнять обработку прерывания, вызывая процедуру

· Эта процедура подтверждает получение прерывания контроллеру прерываний

 

1.1.4 Задачи программного обеспечения ввода-вывода

 

Основные задачи, которые должно решать программное обеспечение ввода-вывода:

1. Независимость от устройств - например, программа, читающая данные из файла не должна задумываться с чего она читает (CD, HDD и др.). Все проблемы должна решать ОС.

2. Единообразное именование - имя файла или устройства не должны отличаться. (В системах UNIX выполняется дословно).

3. Обработка ошибок - ошибки могут быть отловлены на уровне контроллера, драйвера и т.д.

4. Перенос данных - синхронный и асинхронный (в последнем случае процессор запускает перенос данных, и переключается на другие задачи до прерывания).

5. Буферизация

6. Проблема выделенных (принтер) и невыделенных (диск) устройств - принтер должен предоставляться только одному пользователю, а диск многим. ОС должна решать все возникающие проблемы.

 

1.1.5 Программные уровни и функции ввода-вывода

 

Четыре уровня ввода-вывода:

Рисунок 4 - Уровни ввода-вывода

 

1.1.6 Драйвера устройств

 

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

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

 

Это одна из основных причин, приводящих к краху операционных систем. Потому что драйверы, как правило, пишутся производителями устройств, и внедряются в ОС.

 

Рисунок 5 - Работа драйвера

 

Драйвера должны взаимодействовать с ОС через стандартные интерфейсы.

 

Функции, которые выполняют драйвера:

· обработка запросов чтения или записи

· инициализация устройства

· управление энергопотреблением устройства

· прогрев устройства (сканера)

· включение устройства или запуска двигателя

1.1.7 Программное обеспечение ввода-вывода пространства пользователя

 

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

· Обращение к системным вызовам ввода-вывода (через библиотечные процедуры).

· Форматный ввод-вывод (меняют формат, например, в ASCII)

· Спулинг (для выделенных устройств) - создается процесс (например, демон печати) и каталог спулера.  Спулинг (подкачка данных) – способ согласования параллельной отправки заданий и их последовательного выполнения – SPOOLING: Simultaneous Peripheral Operation On Line – одновременная работа с периферийными устройствами в интерактивном режиме. Спулинг – буфер для УВВ типа принтера, который не может принять несколько перекрывающихся потоков данных. При одновременной печати из нескольких приложений их данные накапливаются в отдельных файлах. Когда приложение завершает вывод на печать, это задание ставится в очередь для вывода на принтер. ОС предоставляет возможность управлять очередью, просматривать очередь, управлять заданиями на печать, удалять задания, останавливать и продолжать процесс печати

 

Рисунок 6 - Уровни и основные функции системы ввода-вывода

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 251.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...