Схема логической архитектуры утилиты Bios_probe, Представленная не дает четкого представления о том, каким образом следует разбить на компоненты утилиту Fiash_n_brun Для Linux. В реализации утилиты для Linux компоненты накладываются друг на друга, поскольку в этой операционной системе существует файл /dev/шеш И доступен уровень привилегированного ввода/вывода. Файл /dev/mem — это виртуальный файл, представляющий собой виртуальный образ общего адресного пространства физической памяти в Linux. Уровень IOPL — это механизм, с помощью которого пользователь с правами администратора может получить прямой доступ к портам из операционной системы. В Windows нет ни одной из этих возможностей. Поэтому, чтобы выявить подпрограммы, которые нужно отделить от остального кода и реализовать как драйверы устройств Windows, необходимо разбить исходный вариант Fiash_n_brun На компоненты Bios_probe, Показанные таким образом, становится ясно, что компоненты 2 и 3, представленные следует реализовать в виде драйверов устройства. Составляющая 2 с0держит стандартные для Linux функции прямого ввода-вывода, а имен — До outb, outw, outl, inb, inw И Ini. Составляющая 3 заменит функцию Linux nmap, Аналога которой в Windows не существует. В версии утилиты для Linux, т. е. Fiash_n_burn, Функция Nmap Отображает чип ROM BIOS на адресное пространство запрашивающего пользовательского приложения. Исходный код версии 0.26 утилиты Bios_probe Можно скачать по адресу
Я должен предупредить вас о том, что это — новейшая версия утилиты, которая на момент написания Этой Книги еще не была полноценно протестирована. Утилита поддерживает большое количество чипов флэш-ROM BIOS, но я успешно испытал ее только на материнской плате с южным мостом VIA 596В и чипом ROM BIOS Winbond W49F002U и на материнской плате с южным мостом Intel ICH5 и чипом флэш-ROM BIOS Winbond W39V040FA. Структура каталога исходных кодов утилиты Bios_probe Показана на рис. 9.2.
Корневой каталог исходных кодов Bios_probe Называется vo.26, что отображает текущую версию исходного кода. Подкаталог Ехе В корневом каталоге содержит исходный код для приложения пользовательского режима Bios_probe, А подкаталог Sys — исходный код Драйвера устройства. Подкаталог Libpci Каталога Ехе Содержит исходный для статической библиотеки, используемой для «зондирования» шины. В последующих подразделах содержимое этих каталогов будет рассмотрено более подробно.
Рубрика: Женский интерес