На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

О специфике драйверов устройств вычислительного комплекса СМ -1700, применяемых в диагностике второго уровня

Статья опубликована в выпуске журнала № 4 за 1988 год.
Аннотация:
Abstract:
Автор: Павлов А.Е. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 7334
Версия для печати

Размер шрифта:       Шрифт:

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

В этом случае вместо системного драйвера устройства необходим драйвер, способный работать в среде автономного ДС («диагностический драйвер»).

Ядро супервизора, поставляемого в настоящее время в пакете диагностики ВК СМ-1700, содержит сервис, аналогичный системному сервису ядра операционной системы МОС ВП, но беднее его по составу. База данных ввода-вывода диагностического драйвера несколько отличается от аналогичной базы системного драйвера МОС ВП.

По этим причинам предлагается при разработке системного драйвера нового периферийного устройства пользоваться только теми сервисными средствами, которые содержатся в ядре ДС. Тогда задача разработки диагностического драйвера значительно упрощается: исполняемый код драйвера остается без изменения, а прологовая и диспетчерская таблицы ассемблируются с помощью специальных макрокоманд библиотеки DS. MLB, имеющейся в пакете диагностики.

Программный интерфейс между сервисными службами ядра ДС и диагностическим драйвером устанавливается с помощью макрокоманды $DS_QIODVR библиотеки DS. MLB. Эта макрокоманда порождает 20-байтную секцию заголовка драйвера и одновременно создает абсолютную секцию с адреса 10800, состоящую из последовательного набора ячеек, каждая объемом в четвертное слово.

Имена этих ячеек представляют собой имена сервисных программ ядра ДС, входные точки которых перечислены в модуле ENTRY супервизора. Поэтому при работе редактора связей адреса вызова сервисных программ настраиваются не по таблице системных символов (как для драйвера МОС ВП), а по таблице этих ячеек.

Последовательность действий на уровне командного интерпретатора операционной системы МОС ВП при создании загрузочного модуля диагностического драйвера выглядит следующим образом:

$ MACRO ABDRIVER/UPDATE: ABDRIVER. UРD+SYSLIBRARY:DS/LIB

$ LINK/CONTIGUOUS/SYSTEM=Q/EXE=EVQAB ABDRIVER,

где файл ABDRIVER.UPD содержит текст на языке утилиты SOMSLP:

= 1 ,,/;**ДИАГНОСТИКА**/

$ DS—QIODVR GENERIC=AB

$ DYNDEF

Конечно, при пополнении сервиса ядра ДС недостающими средствами из ядра МОС ВП ограничения на пользование сервисом были бы сняты. Но объем супервизора и без того значителен. Кроме того, при изменении версии операционной системы пришлось бы ввести новые ограничения на набор сервиса, доступного диагностическому драйверу, или взять на себя обязанность пополнения ядра ДС вслед за любым обогащением системного сервиса МОС ВП.

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


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=1492
Версия для печати
Статья опубликована в выпуске журнала № 4 за 1988 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: