Глава 4. Ввод-вывод и файловая система
4.1. Драйверы устройств
Задача системы ввода-вывода ОС Windows заключается в предоставлении основных средств (каркаса) для эффективного управления широким спектром устройств ввода-вывода. Основу этих средств образует набор независимых от устройств процедур для определенных аспектов ввода-вывода и набор загруженных драйверов для общения с устройствами. Формирует этот каркас Менеджер ввода-вывода, который предоставляет остальной операционной системе независимый от устройств ввод-вывод, вызывая для выполнения физического ввода-вывода соответствующий драйвер.
Файловые системы формально являются драйверами устройств, работающих под управлением Менеджера ввода-вывода. В операционной системе Windows существует два драйвера для файловых систем FAT и NTFS, которые независимы друг от друга и управляют различными разделами диска или различными дисками.
Чтобы гарантировать, что драйверы устройств хорошо работают с остальной частью ОС, корпорация Microsoft определила для драйверов модель Windows Driver Model, которой должны соответствовать драйверы устройств. Разработчикам драйверов предоставляется набор инструментов, который должен помочь в создании драйверов, удовлетворяющих требованиям этой модели.
Утилита Drivers из набора средств Microsoft Windows Resource Kit позволяет получить детальную информацию о загруженных драйверах в текстовом формате. Утилита запускается в командной строке и выдает следующую информацию:
· ModuleName – имя файла драйвера. Полный путь здесь не приводится, но большинство драйверов локализованы в папках System или System32;
· Code – длина исполняемой части драйвера;
· Data – длина неблокируемой части драйвера. Эта информация является частью исполнимого образа драйвера;
· Bss – длина части bss – присуща только 16-битным драйверам, как правило, таких драйверов не должно быть;
· Paged – длина части драйвера, загружаемая в память;
· Init – размер файла драйвера на диске. Так как большинство исполняемых программ хранятся в сжатом виде, это значение может совпадать или не совпадать с суммой значений колонок Code и Data;
· LinkDate – дата и время компоновки файла.
После запуска программы в командной строке на экране отображается информация, показанная на рис. 4.1.

Рис. 4.1
Корпорацией Microsoft разработана утилита Bootvis [13], позволяющая выявлять проблемы, возникающие в процессе загрузки операционной системы. Эта утилита выполняет трассировку всех этапов загрузки системы, в том числе этапов загрузки системного ядра, драйверов устройств и запуска процессов. Утилита не входит в стандартную поставку Windows, но ее можно загрузить из Интернета (http://download. :80/download/whistler/BTV/1.0/WXP/EN-US/BootVis-Tool. exe). После загрузки копии Bootvis ее нужно установить, щелкнув два раза на файле утилиты.
Утилита Bootvis помогает решить проблемы, связанные с драйверами и службами, которые находятся в памяти во время загрузки системы. Например, если в результате работы утилиты будет найден драйвер, который загружается очень долго, имеет смысл поискать для соответствующего устройства новый драйвер. Перед обновлением драйвера или установкой новой службы можно провести эталонное тестирование, чтобы после модернизации можно было сравнить прежние и новые результаты и понять, повысилась производительность системы или нет.
В большинстве случаев установка последних версий драйверов и приложений помогает решить возникающие проблемы. Однако иногда обновление может привести к новым проблемам. В этих случаях нужно посмотреть, какое влияние оказала смена драйвера или установка службы. Для этого можно провести тестирование времени загрузки драйвера с помощью утилиты Bootvis.
Последовательность действий может быть следующей:
1. Запустить утилиту Bootvis и установить режим трассировки (рис. 4.2), выбрав команду Next Boot + Driver Delays (следующая загрузка плюс задержки драйверов) в меню Trace (трассировка). После этого появится диалоговое окно (рис. 4.3), в котором нужно указать количество трассировок, которое нужно выполнить. Для точной оценки необходимо выполнить трассировку не менее трех раз. Количество повторений устанавливается с помощью кнопок со стрелками.
2. Щелкнуть на кнопке ОК, после чего появится окно с обратным отсчетом времени(перезагрузка будет выполнена через 10 секунд). Можно не дожидаться автоматической перезагрузки и щелкнуть на кнопке Reboot Now.

Рис. 4.2

Рис. 4.3
3. Сразу после начала загрузки системы стартует процесс трассировки. В это время не нужно нажимать никаких клавиш, кроме тех, которые необходимы для регистрации на компьютере. После регистрации утилита Bootvis выведет на экран сообщение о том, что пользователь ничего не должен делать на компьютере. После завершения трассировки компьютер автоматически перезагрузится, и процесс повторится столько раз, сколько было указано ранее при настройке Bootvis.
4. Когда все итерации будут выполнены, компьютер автоматически загрузит файл трассировки. Если трассировок было несколько, нужно загрузить один из файлов трассировки. Для этого нужно снова запустить Bootvis, выбрать в меню File команду Open и найти файлы трассировки (они имеют расширение BIN). В качестве примера на рис. 4.4 показано открытие файла TRACE_BOOT-DRAVERS_1_2.

Рис. 4.4
5. Открыв нужный файл, Bootvis отобразит результаты трассировки (рис. 4.5). Наиболее важная информация, которую предоставляет утилита Bootvis, содержится в разделе Driver Delay. Загрузка драйверов занимает большую часть времени при старте системы. Выявив наиболее медленные драйверы устройств, можно ускорить процесс загрузки всей системы. Для этого нужно прокрутить окно с полученной информацией, чтобы увидеть раздел Driver Delay. Все драйверы устройств, загружаемые во время старта системы, делятся на различные категории и представляются зелеными прямоугольниками. Если поместить указатель мыши на определенный прямоугольник, появится подсказка с названием драйвера и примерным временем его загрузки (см. рис. 4.5). Используя горизонтальную прокрутку, можно увидеть, какие драйверы и в какой последовательности загружались при старте системы.
6. Выписав все разные интервалы задержки для каждого из файлов трассировки, можно вычислить среднее арифметическое значение загрузки для каждого драйвера. После обновления определенного драйвера можно повторить рассмотренную процедуру для вычисления новой оценки, которую можно сравнить с прежней. Это позволит принять правильное решение о целесообразности замены того или иного драйвера.
Задание для самостоятельной работы
1. Используя рассмотренные средства, просмотрите список драйверов компьютера, определите их количество и занимаемый ими объем памяти.
2. С помощью утилиты Bootvis проведите трехкратную трассировку загрузки операционной системы. Проведите анализ полученной информации. Определите драйверы устройств, которые занимают 50% времени загрузки ОС.

Рис. 4.5
4.2. Диспетчер устройств
Диспетчер устройств используют для обновления драйверов (или программного обеспечения) оборудования, изменения настроек оборудования, а также для устранения неполадок. Драйверы устройств для аппаратных продуктов с эмблемой Для Microsoft Windows XP или Для Microsoft Windows Server 2003 снабжаются цифровой подписью корпорации Microsoft, которая подтверждает, что данный продукт проверен на совместимость с Windows и не изменился после проведения проверки. В окне диспетчера устройств представлено графическое отображение оборудования, установленного на компьютер. Для открытия окна Диспетчера устройств нужно щелкнуть правой клавишей мыши по значку Мой компьютер и выбрать в контекстном меню строку Свойства. В открывшемся окне Свойства системы перейти на вкладку Оборудование и нажать кнопку Диспетчер устройств (рис. 4.6).
В окне Диспетчера устройств (рис. 4.7) можно, раскрывая соответствующие узлы, видеть устройства. Которые либо подключены и работают, либо отключены. Диспетчер устройств обычно используется для проверки состояния оборудования, подключения-отключения оборудования и обновления драйверов устройств, установленных на компьютере. Кроме того, возможности диагностики диспетчера устройств могут использоваться опытными пользователями, обладающими глубокими знаниями о компьютерном оборудовании, для разрешения конфликтов устройств и изменения параметров ресурсов, однако при этом следует соблюдать большую осторожность.

Рис. 4.6

Рис. 4.7
При установке устройства Plug and Play Windows автоматически настраивает его, обеспечивая его правильную работу с другими установленными на компьютере устройствами. В ходе процесса настройки Windows назначает устанавливаемому устройству уникальный набор системных ресурсов. Эти ресурсы могут включать один или несколько из следующих параметров:
· номера строк запросов на прерывание (IRQ);
· каналы прямого доступа к памяти (DMA);
· адреса портов ввода/вывода (I/O);
· диапазоны адресов памяти.
Каждый ресурс, назначаемый устройству, должен быть уникальным. Это необходимо для правильной работы устройства. Для устройств Plug and Play Windows автоматически проверяет правильность настройки ресурсов. Для просмотра системных ресурсов, выделенных устройствам (например, группе Порты COM и LPT), нужно раскрыть группу и выбрать в контекстном меню команду Свойства, например, сначала для Порт принтера, а затем в открывшемся окне перейти на вкладку Ресурсы (рис. 4.8). Далее перейти на вкладку Параметры порта (рис. 4.9). Обратите внимание на включенную кнопку Не использовать прерывание в любом случае (почему?). Далее можно просмотреть вкладки Общие и драйвер и выполнить аналогичные действия для Последовательного порта (рис. 4.10).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


