Сейчас мы коротко рассмотрим операции установки и управления
драйверами. Драйверы в NT поддерживают динамическую загрузку и выгрузку.
Информация о драйвере, такая, как его имя, тип, местонахождение, способ загрузки
и др. находится в реестре в ключе HKEY_LOCAL_MACHINESystemCurrentControlSetServicesService_name.
Подробно обо всех подключах, которые могут там находиться, вы можете узнать в
статье «Using The NT Registry for Driver Install» в директории NTInsider, либо в
DDK HelpProgrammers GuideDriver InstallationConfiguration Registry.
Управлением сервисами и драйверами в системе занимается
Service Control Manager (SCM). Он управляет базой данных установленных сервисов
и драйверов, обеспечивает единый способ контроля над ними, а также предоставляет
API.
Подробную информацию о функционировании SCM и предоставляемом им API можно
получить в MSDN Library в разделе Platform SDKABase ServicesDLLs, Processes and
ThreadsServices.
Примерная последовательность действий при установке/удалении запуске/остановке
драйвера следующая:
- 1. открытие SCM - OpenSCManager();
- 2. получение описателя для вновь созданного или уже
существующего драйвера - CreateService() или OpenService();
- 3. запускостановкаудаление драйвера - StartService(),
StopService(), DeleteSer-vice().
Установленный в системе драйвер также может быть
запущен/остановлен с помощью команды net startnet stop.
Рассмотрим другие способы установки драйверов:
- Text Setup. Этот механизм
используют драйверы, устанавливаемые при установке ОС. Этот механизм требует
создания скрипт-файла txtsetup.oem. Его формат описан в DDK, имеются примеры
в ddksrcsetup. В этом файле программе установки NT указывается, какие
файлы и куда копировать и какие ключи реестра создавать.
- GUI Setup. Драйверы для
стандартных устройств, устанавливаемые по окончании установки ОС, используют
inf-файлы, формат которых и примеры также приведены в DDK.
- Custom Setup. Прикладная
программа, использующая функции SCM.
Тестирование параллельного программного обеспечения представляет собой более
сложную задачу по сравнению с тестированием последовательной программы. Программист
должен знать о подводных камнях при тестировании параллельного кода, имеющихся
методологиях и инструментарии.
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее
реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности,
достоинства и недостатки.