![](/user_photo/_userpic.png)
6 семестр / ОСиСП_ЛР7
.docxМинистерство образования Республики Беларусь
ПОЛОЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра технологий программирования
Методические указания для выполнения лабораторной работы № 7
по курсу «Операционные системы и системное программирование»
«Драйверы ОС Windows: структура драйвера, взаимосвязь объектов, стек драйверов»
Полоцк, 2019
Цель работы: приобретение навыков работы с драйверами в ОС Windows.
Теоретическая часть
Получить в текстовом формате детальную информацию о загруженных драйверах позволяет утилита Drivers из набора средств Microsoft Windows Resource Kit. Утилита запускается в командной строке и выдает в виде таблицы следующую информацию:
ModuleName - имя файла драйвера;
Code - длина исполняемой части драйвера;
Data - длина неблокируемой части (часть исполнимого образа) драйвера;
Bss - длина части bss - присуща только 16-битным драйверам;
Paged - длина части драйвера, загружаемая в память;
Init - размер файла драйвера на диске;
LinkDate - дата и время компоновки файла.
Проблемы, возникающие в процессе загрузки операционной системы, позволяет выявлять утилита Bootvis, разработанная Корпорацией Microsoft. Эта утилита выполняет трассировку всех этапов загрузки системы, в том числе этапов загрузки системного ядра, драйверов устройств и запуска процессов.
Если в результате работы утилиты будет найден драйвер, который загружается очень долго, то имеет смысл поискать для соответствующего устройства новый драйвер. Чтобы провести тестирование времени загрузки драйвера с помощью утилиты Bootvis, можно выполнить следующую последовательность действий.
Запустить утилиту Bootvis и установить режим трассировки, выбрав команду Next Boot + Driver Delays (следующая загрузка плюс задержки драйверов) в меню Trace (трассировка). После этого появится диалоговое окно, в котором следует указать количество трассировок, которое нужно выполнить. Для точной оценки необходимо выполнить трассировку не менее трех раз.
Щелкнуть по кнопке ОК, после чего появится окно с обратным отсчетом времени (перезагрузка будет выполнена через 10 секунд). Можно не дожидаться автоматической перезагрузки и щелкнуть по кнопке Reboot Now.
Сразу после начала загрузки системы стартует процесс трассировки. В это время не нужно нажимать никаких клавиш, кроме тех, которые необходимы для регистрации на компьютере. После регистрации утилита Bootvis выведет на экран сообщение о том, что пользователь ничего не должен делать на компьютере. После завершения трассировки компьютер автоматически перезагрузится, и процесс повторится столько раз, сколько было указано ранее при настройке Bootvis.
Когда все итерации будут выполнены, компьютер автоматически загрузит файл трассировки. Если трассировок было несколько, нужно загрузить один из файлов трассировки. Для этого нужно снова запустить Bootvis, выбрать в меню File команду Open и найти файлы трассировки (они имеют расширение BIN).
Открыв нужный файл, Bootvis отобразит результаты трассировки. Наиболее важная информация, которую предоставляет утилита Bootvis, содержится в разделе Driver Delay. Чтобы увидеть раздел Driver Delay, нужно прокрутить окно с полученной информацией. Все драйверы устройств, загружаемые во время старта системы, делятся на различные категории и представляются зелеными прямоугольниками. Если поместить указатель мыши на определенный прямоугольник, появится подсказка с названием драйвера и примерным временем его загрузки. Используя горизонтальную прокрутку, можно увидеть, какие драйверы и в какой последовательности загружались при старте системы.
Выписав все разные интервалы задержки для каждого из файлов трассировки, можно вычислить среднее арифметическое значение загрузки для каждого драйвера.
Для обновления драйверов (или программного обеспечения) оборудования, изменения настроек оборудования, а также для устранения неполадок используют Диспетчер устройств. В окне Диспетчера устройств представлено графическое отображение оборудования, установленного на компьютер.
Для открытия окна Диспетчера устройств нужно щелкнуть правой клавишей мыши по значку Мой компьютер и выбрать в контекстном меню строку Свойства. В открывшемся окне Свойства системы следует перейти на вкладку Оборудование и нажать кнопку Диспетчер устройств. В окне Диспетчера устройств можно, раскрывая соответствующие узлы, видеть устройства, которые либо подключены и работают, либо отключены.
Диспетчер устройств обычно используется для проверки состояния оборудования, подключения-отключения оборудования и обновления драйверов устройств, установленных на компьютере.
При установке устройства Plug and Play Windows автоматически настраивает его, обеспечивая его правильную работу с другими установленными на компьютере устройствами. В ходе процесса настройки Windows назначает устанавливаемому устройству уникальный набор системных ресурсов. Эти ресурсы могут включать в себя один или несколько из следующих параметров:
номера строк запросов на прерывание (IRQ);
каналы прямого доступа к памяти (DMA);
адреса портов ввода/вывода (I/O);
диапазоны адресов памяти.
Каждый ресурс, назначаемый устройству, должен быть уникальным. Для устройств Plug and Play Windows автоматически проверяется правильность настройки ресурсов.
Для просмотра системных ресурсов, выделенных устройствам, нужно раскрыть группу и выбрать в контекстном меню команду Свойства, а затем - в открывшемся окне перейти на вкладку Ресурсы. Далее можно просмотреть вкладки Общие и Драйвер.
Иногда двум устройствам требуются одинаковые ресурсы, что приводит к конфликту устройств. В этом случае необходимо вручную изменить настройку ресурсов таким образом, чтобы все параметры были уникальными.
В ОС Windows имеется служебная программа Сведения о системе, с помощью которой можно получить исчерпывающую информацию о системных ресурсах. В том числе имеется возможность получить информацию о конфликтующих устройствах и устройствах, использующих системные ресурсы совместно.
При установке устройств не Plug and Play автоматическая настройка ресурсов не производится. Для настройки устройств вручную используется диспетчер устройств.
Обнаружить устройства с неполадками можно, раскрыв папку Компоненты и выбрав строку Устройства с неполадками.
Ряд устройств компьютера использует в процессах обмена информацией контроллер прямого доступа к памяти. Посмотреть, какие устройства используют этот контроллер, можно, выбрав в папке Ресурсы аппаратуры строку Канал DMA.
Используя Диспетчер устройств, можно отключать подсоединенные к компьютеру устройства и удалять их из конфигурации компьютера. Удаление устройств, не являющихся устройствами Plug and Play, обычно состоит из двух шагов:
отмена установки устройства с помощью диспетчера устройств;
удаление устройства из конфигурации компьютера.
После уведомления системы об удалении устройства необходимо физически отключить или удалить его из компьютера.
Практическая часть
Выполнение всех заданий зафиксировать в отчете!
Задание 1.
Используя рассмотренные средства, просмотрите список драйверов компьютера, определите их количество и занимаемый ими объем памяти.
Задание 2.
С помощью утилиты Bootvis проведите трехкратную трассировку загрузки операционной системы. Проанализируйте полученную информацию. Определите драйверы устройств, которые занимают 50% времени загрузки ОС.
Задание 3.
С помощью Диспетчера устройств определите, какие системные ресурсы используют Последовательный порт, Параллельный порт, Стандартный контроллер гибких дисков. Опишите назначение всех параметров используемых ресурсов. Выполните аналогичные действия для других устройств. Определите, есть ли в системе конфликтующие устройства.