Cтраница 3
![]() |
Схема подготовки проблемных программ для Банк-ОС. [31] |
При работе проблемной программы в памяти зоны ( раздела) находятся проблемная программа, схема базы данных и модули ядра: UBLBANK, UBLRETRV, UBLRAND и UBLGT; кроме того, при обновлении базы данных в память загружается модуль UBLUPDT. Система рассчитана на обслуживание нескольких проблемных программ зоны ( раздела), работающих параллельно как подзадачи головной программы. Каждая такая подзадача пользуется своим экземпляром модуля схемы и своим буферным пулом. Подзадача, открывающая базу данных для поиска, может работать параллельно с другими проблемными программами; подзадача, открывающая базу данных для обновления, захватывает СУБД как ресурс на все время своей работы; режим квантованного доступа позволяет работать с базой данных параллельно в любом режиме. В любом случае проблемная программа, требующая исполнения оператора ЯМД, монопольно захватывает СУБД как ресурс на время выполнения данного оператора. [32]
В области проблемной программы строится таблица, содержащая адрес Области управления программными параметрами, поле для хранения значения старого ССП и поля хранения значений регистров связи прерываемой программы. Адрес Области управления программными параметрами помещается в таблицу после выполнения макрокоманды SPIE, а остальная информация заполняется Супервизором при анализе прерывания перед передачей управления программе, которая должна это программное прерывание обрабатывать. [33]
Функцией обработчика проблемных программ является обеспечение надежной, производительной работы пользователя с прикладной программой. Это достигается путем организации в диалоговом режиме бесформатного ввода исходных данных, контроля и проверки их на логическую непротиворечивость с помощью развитой системы защиты. Блок 7 объединяет прикладные программные комплексы, необходимые для работы с программами. Каждый такой комплекс состоит из трех элементов: информационного модуля, содержащего всю информацию о программе; модуля прикладной программы; модуля программы диалогового ввода данных. [34]
Большие системы проблемных программ разбиваются по различным признакам на более мелкие компоненты, такие как подсистемы, пакеты прикладных программ ( ППП), программные модули. [35]
При написании проблемной программы возникает необходимость пересылать данные из одной области памяти в другую. Эти перемещения осуществляются почти исключительно командами пересылки, загрузки, записи в память и сдвига. [36]
Для использования готовой проблемной программы не обязательно быть программистом. Достаточно лишь знать, что именно умеет делать программа, как подготовить подлежащую переработке информацию и как интерпретировать результаты. [37]
В РОП проблемной программы ДОС ЕС должна отводиться память для буферов СУБД, определяемая одной непрерывной областью. Размер каждого буфера должен равняться максимальному размеру страниц базы данных ( при использовании системного журнала размер буфера увеличивается еще на 32 байта); для каждой используемой базы данных определяется свой буферный пул. Количество буферов выбирается программистом, но оно не должно быть меньше 2 в режиме поиска и 3 - в режиме обновления; увеличение количества буферов улучшает временные характеристики работы программы, поэтому рекомендуется использовать 6 - 10 буферов. [38]
При работе проблемной программы СУБД отслеживает текущее состояние - хранит прямые адреса текущей записи программы, текущей записи типа записи, текущих записей каждого типа цепи. Текущее состояние определяется после выполнения первого оператора поиска или запоминания и затем изменяется при выполнении последующих таких операторов ЯМД; оно существует до закрытия базы данных. [39]
Для выполнения проблемных программ ДИК следует использовать как аппаратные средства соответствующих ведомых машин сети, так и программные эмуляторы различных вариан-ов операционных обстановок ведомых машин, работающие на ведущей ЭВМ. [40]
Если в проблемной программе указано имя системного логического устройства, которое уже имеет стандартное назначение, специальные назначения управляющими операторами делать не следует. [41]
Вместо макрокоманды CHECK проблемная программа может выдать свою собственную макрокоманду WAIT, а затем проверить состояние блока управления событием с тем, чтобы определить состояние кода завершения, вырабатываемого системой при выполнении операции ввода-вывода. [42]
ДИСП выполняется как проблемная программа в высокоприоритетном разделе ОС ЕС. [43]
Предположим, что проблемная программа содержит очень большую таблицу, в которой необходимо отыскать определенные величины. Таблица составлена из многих сегментов, каждый из которых имеет длину 10 байтов. [44]
В процессе работы проблемной программы некоторые поля этой таблицы могут использоваться как ограниченные накопители. Предположим, например, что шестибайтовое упакованное десятичное поле в каждом сегменте таблицы-должно использоваться как накопитель до возникновения определенных условий. [45]