Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ANSWERS.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
833.02 Кб
Скачать
  1. Управление устройствами (аппаратурой) в ос. Независимость программ от устройств. Типы устройств. Драйверная подсистема ос. Модель драйвера в ос Windows.

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

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

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

Другим важным вопросом для программного обеспечения ввода-вывода является обработка ошибок.

Еще один ключевой вопрос - это использование блокирующих (синхронных) и неблокирующих (асинхронных) передач.

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

Для решения поставленных проблем целесообразно разделить программное обеспечение ввода-вывода на четыре слоя :

Обработка прерываний,

Драйверы устройств,

Независимый от устройств слой операционной системы,

Пользовательский слой программного обеспечения.

Независимый от устройств слой операционной системы

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

Типичными функциями для независимого от устройств слоя являются:

обеспечение общего интерфейса к драйверам устройств,

именование устройств,

защита устройств,

обеспечение независимого размера блока,

буферизация,

распределение памяти на блок-ориентированных устройствах,

распределение и освобождение выделенных устройств,

уведомление об ошибках.

Типы устройств

  • символьные (клавиатура, модем, терминал и т. п.);

  • блочные (магнитные и оптические диски и ленты, и т. д.);

  • сетевые (сетевые карты);

  • все остальные (таймеры, графические дисплеи, телевизионные устройства, видеокамеры и т. п.);

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

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

Для блочных устройств, таких как магнитные и оптические диски, ленты и т. п. естественными являются операции чтения и записи блока информации – read и write, а также, для устройств прямого доступа, операция поиска требуемого блока информации – seek.

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

Весь зависимый от устройства код помещается в драйвер устройства. Каждый драйвер управляет устройствами одного типа или, может быть, одного класса.

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

Драйвер устройства принимает запрос от устройств программного слоя и решает, как его выполнить. Типичным запросом является чтение n блоков данных. Если драйвер был свободен во время поступления запроса, то он начинает выполнять запрос немедленно. Если же он был занят обслуживанием другого запроса, то вновь поступивший запрос присоединяется к очереди уже имеющихся запросов, и он будет выполнен, когда наступит его очередь.

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

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

Драйверы и windows

В операционных системах microsoft windows драйвер состоит из нескольких файлов, хранящихся обычно в каталогах system, system32 и их подкаталогах. Ядро драйвера хранится в файлах с расширениями .vxd, .drv, .sys и некоторых других, а дополнительные процедуры собраны в динамические библиотеки .dll. Кроме того, в состав драйвера могут входить файлы справки, утилиты, модули деинсталляции и т.д.

Последовательность операций по установке и удалению драйвера хранится в специальном информационном файле .inf. С его помощью windows определяет тип, производителя, модель устройства, класс драйвера, необходимые ресурсы и файлы. В этом файле также описываются операции распаковки, запуска, копирования, удаления, переименования файлов, добавления и удаления ключей в реестре и т.д. Все .inf-файлы хранятся в каталоге inf, причем устанавливаемые драйверы не-microsoft’овского происхождения (не поставляемые в комплекте с ОС) откладываются в отдельный подкаталог inf/other.

windows умеет автоматически находить драйвер для устройства. Для этого она использует технологию plug&play, точнее, ее часть, отвечающую за самоидентификацию устройства. В частности, pci-устройства обнаруживаются bios и заносятся в виде списка в специальную область escd (extended system configuration data). windows может использовать ее, а может и самостоятельно опросить шину pci и узнать у каждого устройства коды его производителя, модели и версии, необходимые ресурсы и другую информацию. Далее проверяется база данных (файлы drvdata.bin и drvidx.bin) по всем известным устройствам и находится необходимый .inf-файл. Если в каталоге .inf имеются новые файлы, они будут автоматически проиндексированы и внесены в базу данных.

Следует также помнить, что операционные системы windows 98 se и windows 2000, равно как и их потомки, поддерживают новую модель драйверов, получившую название wdm (windows driver model). Это – попытка реализовать полную поддержку plug&play и acpi, то есть дать возможность загружать и выгружать драйверы «на ходу», без перезагрузки системы, подключать их в виде фильтров-расширений к стандартным драйверам microsoft, более гибко управлять энергосбережением и конфигурацией устройств и т.п. wdm-драйверы хранятся в каталоге system32/drivers. В частности, интерфейсы нового поколения usb и ieee-1394 (firewire) работают только под управлением wdm-драйверов

  1. Структуризация внешней дисковой памяти: разделы, тома, логические диски. Описатели (информационные структуры) разделов и томов: таблица разделов (MBR) и таблица параметров логического диска (BR).

Внешняя (долговременная) память — это место длительного хранения данных (программ, результатов расчётов, текстов и т.д.), не используемых в данный момент в оперативной памяти компьютера. Внешняя память, в отличие от оперативной, является энергонезависимой. Носители внешней памяти, кроме того, обеспечивают транспортировку данных в тех случаях, когда компьютеры не объединены в сети (локальные или глобальные).

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

Основные виды накопителей:

  • накопители на гибких магнитных дисках (НГМД);

  • накопители на жестких магнитных дисках (НЖМД);

  • накопители на магнитной ленте (НМЛ);

  • накопители CD-ROM, CD-RW, DVD.

Им соответствуют основные виды носителей:

  • гибкие магнитные диски (Floppy Disk) (диаметром 3,5’’ и ёмкостью 1,44 Мб; диаметром 5,25’’ и ёмкостью 1,2 Мб (в настоящее время устарели и практически не используются, выпуск накопителей, предназначенных для дисков диаметром 5,25’’, тоже прекращён)), диски для сменных носителей;

  • жёсткие магнитные диски (Hard Disk);

  • кассеты для стримеров и других НМЛ;

  • диски CD-ROM, CD-R, CD-RW, DVD.

Запоминающие устройства принято делить на виды и категории в связи с их принципами функционирования, эксплуатационно-техническими, физическими, программными и др. характеристиками. Так, например, по принципам функционирования различают следующие виды устройств: электронные, магнитные, оптические и смешанные – магнитооптические. Каждый тип устройств организован на основе соответствующей технологии хранения/воспроизведения/записи цифровой информации. Поэтому, в связи с видом и техническим исполнением носителя информации, различают: электронные, дисковые и ленточные устройства.

Основные характеристики накопителей и носителей:

  • информационная ёмкость;

  • скорость обмена информацией;

  • надёжность хранения информации;

  • стоимость.

Остановимся подробнее на рассмотрении вышеперечисленных накопителей и носителей.

Принцип работы магнитных запоминающих устройств основан на способах хранения информации с использованием магнитных свойств материалов. Как правило, магнитные запоминающие устройства состоят из собственноустройств чтения/записи информации и магнитного носителя, на который, непосредственно осуществляется запись и с которого считывается информация. Магнитные запоминающие устройства принято делить на виды в связи с исполнением, физико-техническими характеристиками носителя информации и т.д. Наиболее часто различают: дисковые и ленточные устройства. Общая технология магнитных запоминающих устройств состоит в намагничивании переменным магнитным полем участков носителя и считывания информации, закодированной как области переменной намагниченности. Дисковые носители, как правило, намагничиваются вдоль концентрических полей – дорожек, расположенных по всей плоскости дискоидального вращающегося носителя. Запись производится в цифровом коде. Намагничивание достигается за счет создания переменного магнитного поля при помощи головок чтения/записи. Головки представляют собой два или более магнитных управляемых контура с сердечниками, на обмотки которых подается переменное напряжение. Изменение величины напряжения вызывает изменение направления линий магнитной индукции магнитного поля и, при намагничивании носителя, означает смену значения бита информации с 1 на 0 или с 0 на 1.

   Итак, общая структура MBR может быть представлена следующей таблицей:

Смещение Длина Описание

000h 446 Код загрузчика

1BEh 64 Таблица разделов

16 Раздел 1

1CEh 16 Раздел 2

1DEh 16 Раздел 3

1EEh 16 Раздел 4

1FEh 2 Сигнатура (55h AAh)

Приведем формат первого сектора жесткого диска :

Смещение, байт

Размер, байт

Описание

0

1BEh

Загрузочная запись

1BEh

10H

Элемент таблицы разделов диска

1CEh

10H

Элемент таблицы разделов диска

1DEh

10H

Элемент таблицы разделов диска

1EEh

10H

Элемент таблицы разделов диска

1FEh

2

Признак таблицы разделов - значение 55AAh

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]