ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

The article was published in issue no. № 4, 1988
Abstract:
Аннотация:
Author: () -
Ключевое слово:
Page views: 7347
Print version

Font size:       Font:

Диагностика второго уровня некоторых     периферийных устройств вычислительного комплекса СМ-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

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

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


Permanent link:
http://swsys.ru/index.php?page=article&id=1492&lang=&lang=en
Print version
The article was published in issue no. № 4, 1988

Perhaps, you might be interested in the following articles of similar topics: