Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Толкачев Сергей Федорович

Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования
<
Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования
>

Данный автореферат диссертации должен поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Толкачев Сергей Федорович. Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования : ил РГБ ОД 61:85-5/2455

Содержание к диссертации

Введение

1. Анализ методов построения диалоговых систем коллективного пользования 9

1.1. Сравнительный анализ программного обеспечения систем с непосредственным взаимодействием 9

1.2. Основные требования к техническому и системному обеспечению комплексов коллективного пользования 18

1.3. Методы построения диалоговых систем коллективного пользования различного назначения 28

1.4. Функциональные схемы программ, использующих сред -ства диалогового программирования 38

2. Исследование рациональных моделей и алгоритмов организации диалогового взаимодействия в системах коллективного пользования 50

2.1. Выбор структуры и формы реализации процедурного метода доступа диалогового взаимодействия 50

2.2. Квазиреентерабельные модели диалоговых программ с использованием предложенного метода доступа 67

2.3. Алгоритмы анализа и генерации квазиреентерабельных диалоговых программ 74

3. Реализация процедурного метода доступа диалогового взаимодействия в операционных системах ЕС ЭВМ 85

3.1. Основные потоки данных в процедурах метода доступа 85

3.2. Интерфейс метода доступа с супервизором ввода-вывода и реализация процедур синхронизации и обмена 95

3.3. Организация проблемных программ в подсистемах АСУ и САПР с применением процедурного метода доступа диалогового взаимодействия 105

Заключение 116

Литература 119

Приложения 130

Введение к работе

Широкое внедрение в народное хозяйство развитых автоматизированных систем управления и проектирования, информационно-поисковых, обучающих систем и т.п. ставит проблему принципиального упрощения доступа человека к вычислительным и информационным ресурсам ЭВМ. Одна из задач, связанных с решением этой проблемы, заключается в необходимости разработки новых индустриальных методов и средств программирования, предназначенных для создания распределенных вычислительных систем, использующих телеобработку данных Ц 31 "3. В рамках таких систем на современном этапе пользователи имеют возможность работать с ЭВМ в режиме диалога через разнообразные алфавитно-цифровые и графические, локальные или удаленные терминалы С 42, 43, 50, 683.

Основное отличие от традиционных систем ввода/вывода, а также главная особенность диалоговых систем телеобработки данных (ДСТД) заключается в том, что в ДСТД инициатива начала обмена информацией может принадлежать в равной мере как внешнему абоненту, так и ЭВМ. Кроме того, в ДСТД обычно обеспечивается взаимодействие с вычислительной системой (ВС) коллективов абонен -тов. Все это приводит к необходимости включать в алгоритмы,описывающие работу диалоговых систем, средства синхронизации и распараллеливания, и, следовательно, существенно усложняет соответствующие программные реализации tI8, 22, 39, 45, 90 3.

Первые отечественные диалоговые системы программирования появились во второй половине 60-х годов. В основном работы велись в направлениях создания разговорных языков типа &А&1С , добавления к широко распространенным языкам средств ведения диа -лога, а также разработки специализированных проблемно-ориентированных языков и систем типа СИРИУС L 913 .

Большинство известных современных программных средств, предназначенных для разработки ДСТД, представляют собой мощные проблемно-ориентированные закрытые системы, такие как КАМА, ОКА, СПОК, ИНЭС и т.п., или специализированные методы доступа, основанные на макросредствах языка АССЕМБЛЕР - БТЩ, ОВД, ГВД и др. С 2, 21, 33, 41, 44, 71, 85, 89J.

Использование вышеперечисленных средств при создании диалоговых систем либо ограничено достаточно узкой проблемной областью, либо предполагает наличие у разработчиков глубоких зна -ний специфики телеобработки данных и недоступно широким массам проблемных программистов С 65, 88 3.

В настоящее время вопросы, связанные с практическим приме -нением средств программирования диалоговых систем, изучены еще явно недостаточно. Не разработана общая методика построения алгоритмов обмена для систем с разнородным терминальным оборудованием; большинство работ направлено на расширение синтаксических конструкций алголоподобных языков программирования, для которых отсутствуют промышленные трансляторы; практически нет процедурных средств, организации диалогового взаимодействия в рамках стандартных языков программирования; существующие базисные средства рассчитаны, в основном, на системных программистов с высоким уровнем профессиональной подготовки Li?, 653 . Поэ -тому актуальным и своевременным является проведение исследова -ний и разработка методов анализа и конструирования алгоритмов диалоговых систем коллективного пользования (ДСКП), а также создание на базе этих методов высокоуровневых процедурных средств реализации таких алгоритмов в рамках стандартных языков программирования ФОРТРАН, КОБОЛ, PL/1.

В соответствии с вышесказанным целью диссертационной работы является исследование и разработка процедурных средств постро- ения диалоговых систем коллективного пользования, предназначенных для создания локальных проблемно-ориентированных вычислительных систем и комплексов АСУ, САПР, автоматизации научного эксперимента и т.п.

Для достижения поставленной цели в работе решаются следующие задачи:

Исследование и выбор средств программирования, ориенти -рованных на описание параллельных алгоритмов с учетом специфики диалоговых систем коллективного пользования.

Разработка структуры и исследование логики работы прог -рамм на высокоуровневых языках при использовании их в ДСКП.

Разработка специального процедурного метода доступа (ІЩ) ДСКП, позволяющего обслуживать одновременно группы разнородных терминалов.

Реализация алгоритмического и программного обеспечения процедурного метода доступа ДСКП в виде пакета прикладных программ.

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

Решению перечисленных задач предшествует отбор, анализ и классификация существующих средств построения ДСКП.

В процессе работы над поставленными задачами были использованы методы и аппарат прикладной математики, теории программирования, системного программирования, теории построения вычислительных систем, а также технологии проектирования больших систем.

Диссертация состоит из трех глав, заключения и приложения.

В первой главе дан анализ современных средств, используемых в СТД; формируется задача исследования; определяются требования к общесистемному программному обеспечению с учетом специфики ДСКП] анализируются методы построения ДСКП различных структур в 0G и ДОС ЕС ЭВМ; осуществляется выбор структуры проблемной программы, наиболее удовлетворяющей сформулированным требованиям.

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

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

В заключении приводятся общие результаты работы, формулируется научная новизна, практическая ценность и достоверность полученных результатов.

В приложении содержатся материалы о внедрении основных ре -зультатов, а также приводятся распечатки наиболее важных функциональных блоков метода доступа и фрагменты примеров.

В диссертационной работе решена задача разработки средств построения диалоговых систем коллективного пользования. Реали- зованный процедурный метод доступа позволяет конструировать сравнительно простые и эффективные программы обмена сообщениями с группами возможно различных терминальных станций. При этом в программах существенно упрощены процедуры синхронизации и распараллеливания алгоритмов. Все разработанные средства ориентированы на проблемных программистов и доступны для использова -ния практически во всех языках программирования ЕС ЭВМ. На защиту выносятся следующие результаты:

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

Способ структурно-алгоритмической организации "квазире -ентерабельных" программ на языках программирования высокого уровня, предназначенных для описания работы AGffl.

Методика применения языков программирования высокого уровня для построения ДСКП в прикладных и системных комплексах различного назначения с использованием ПВД.

Алгоритмическое и программное обеспечение процедурного метода доступа ДСКП.

Сравнительный анализ программного обеспечения систем с непосредственным взаимодействием

Основной задачей диссертационной работы является разработка программного и алгоритмического обеспечения диалоговых систем коллективного пользования. Системы такого типа относятся к более общему классу распределенных вычислительных систем, которые в целом можно определить как группу локальных узлов, объединенных в сеть передачи данных и предназначенных для решения функ -ционально распределенных задач l0, II, 19, 26, 92, 99] . Каждый локальный узел (см.рис.1) представляет собой группу из од -ного или более процессоров с подключенными оконечными термина -лами и средствами поддержания банков данных 76, 80 ]. Типич -ными примерами таких систем могут служить отраслевые системы управления большими предприятиями [12, 16, 58, 101, НО] . Характерной особенностью систем такого рода является необходимость организации работы в режиме непосредственного взаимодействия "человек - ЭВМ".

В литературе на сегодняшний день еще не сложилась установившаяся терминология для систем с непосредственным взаимодействием [9 ]. Такие часто употребляемые понятия как "телеобработка", "системы коллективного пользования", "диалоговые системы" и др. очень близки по смыслу, но в то же время отражают те или иные особенности большого класса систем, обеспечивающих непосредст -венный доступ пользователя (в некоторых случаях - другого про -цессора) к ресурсам вычислительной системы в процессе решения различных задач 45, 76J . В дальнейшем в данной работе будем предполагать следующее: свойство диалога предусматривает, что действия в системе могут быть инициированы как со стороны пользователя, так и со стороны ВС; свойство телеобработки - использование терминального оборудования, находящегося на удалении и подключенного к линиям связи; свойство коллективного пользова -ния - одновременную работу с ресурсами системы групп абонентов С45, 65] .

Естественно, что на практике все вышеперечисленные свойства оказываются взаимосвязанными. Однако свойства телеобработки и реального времени зависят, в основном, от технических характе -ристик каналов связи и производительности процессора, в то время как свойства диалога и коллективного пользования - от соот -ветствующего программного обеспечения [51 ]. Так как данная работа посвящена вопросам разработки программного обеспечения диалоговых систем коллективного пользования, везде, за исключением мест, где это особо не оговаривается, будет подразумеваться идеализированная техническая среда без ограничений на пропускную способность каналов связи и производительность процес -соров.

Исторически первые диалоговые системы были предназначены для управления вычислительным процессом и для автоматизации произ -водства программной продукции специалистами в области вычисли -тельной техники 88] . Основная задача, которая при этом решалась, была направлена на повышение производительности труда программистов при отладке программ. В процессе развития диало -говых систем автоматизации программирования сформировались три основных направления, связанных, во-первых, с добавлением к стандартным языкам программирования (АЛГОЛ, ФОРТРАН и др.) средств ведения диалога; во-вторых, с созданием разговорных языков программирования интерпретирующего типа (БЭЙСИК, ФОКАЛ, АЛЛ и др.); и в-третьих, с созданием узкоспециализированных диалоговых языков и систем, имеющих четкую проблемную ориента-цию (ЯОД-75, СИРИУС, АНАЛИТИК и др.) [13, 91, бб, ИЗ] .

Параллельно с развитием языковых средств диалоговых систем программирования развивались возможности операционных систем, направленные, в первую очередь, на повышение производительности технических средств, входящих в состав вычислительных сие -тем [5, 6, 32, 40] . Логическим завершением работ в этом направлении явилось создание систем разделения времени [7, 38, 45, 57, 88] . Основная задача, которая решалась при этом, заключалась в необходимости оптимального распределения ресурсов вычислительной системы среди группы параллельно работающих пользователей [46, 90, 933 .

Особое место в классе систем с непосредственным взаимодей -ствием занимают прикладные диалоговые системы, ориентированные, в первую очередь, на непрофессиональных в области вычислительной техники пользователей [8, 23, 53, 68] . В последнее время наблюдается повышенный интерес к системам такого рода [15, 52, 74] . Здесь важно подчеркнуть одну особенность прикладных диалоговых систем. Для них присущ массовый характер производства программной продукции и массовый характер ее использования,что предполагает соблюдение определенных требований технологии проектирования, а также выбор системных средств и соответствующую организацию проблемных программ [35, 45, 78] .

Основные требования к техническому и системному обеспечению комплексов коллективного пользования

Рассмотрим технические компоненты вычислительной системы: терминальные станции, каналы ввода/вывода, аппаратуру передачи данных и центральный процессор с позиции их использования в диалоговых системах коллективного пользования.

В зависимости от способа подключения к каналу связи терминальные станции делятся на удаленные и локальные [47, 67, 72]. Способ подключения терминала к каналу связи существенно меняет протоколы обмена на уровне канальных программ, а также определяет необходимость использования соответствующих процедур ис -правления ошибок, перекодировок и т.п. Однако логика взаимодействия "процессор - терминал" остается общей.

Главное отличие терминалов от традиционных устройств ввода/ вывода заключается в том, что в терминале имеется возможность одновременно как передавать, так и принимать данные из каналов. Эта возможность реализуется в терминальных устройствах по-разному. Большинство из них обладают клавиатурой и системой отображения или регистрации информации (экраны, бумага и т.п.).Физически клавиатура и система отображения могут быть полностью разделены (можно, например, рассматривать пару "АЩУ - ввод с перфокарт" как составную консоль или как единый логический терминал).

В некоторых типах терминалов клавиатура и система отображения имеют буфер (комплексы ЕС-7906, EG-7920, А-5433 и др.),через который ЭВМ может обмениваться данными с терминалом. Его наличие оказывает существенное влияние на организацию ввода/ вывода между ЭВМ и терминалом. Действительно, буфер постоянно доступен для обмена как со стороны ЭВМ, так и со стороны терминала, что делает возможным и допустимым выполнение операций ЧТЕНИЕ/ЗАПИСЬ в произвольный момент времени. Однако, содержимое буфера имеет смысл только тогда, когда со стороны терминала в него было передано законченное сообщение и оператор хочет это сообщение передать в ЭВМ. Поэтому команда ЧТЕНИЕ не имеет никакого смысла до тех пор, пока не поступит какой-либо сигнал со стороны оператора о том, что можно выполнять операцию обмена с буфером. Однако, если этот сигнал будет передан обычным образом, он должен быть прочитан такой же командой ЧТЕНИЕ, что приводит к необходимости снова извещать ЭВМ о готовности к передаче. Таким образом, при обмене через буфер оператор должен иметь возможность посылать в вычислительную систему "метасооб-щения", отличающиеся от обычных данных, в ответ на которые ЭВМ может выдавать команды ЧТЕНИЕ или ЗАПИСЬ (в зависимости от алгоритма программы).

При работе с терминалом без буфера также имеется необходи -мость в таком "метасообщении". Это следует из того, что, с одной стороны, инициатива обмена данными может принадлежать в одинаковой мере оператору и ЭВМ, а с другой .стороны, собственно операции обмена запускаются только со стороны ЭВМ. Иными словами, оператор может только сообщить ЭВМ о желании передать сообщение; передать его в память у него возможности нет. Это приводит к возникновению противоречивой ситуации: ЭВМ должна быть постоянно готова к приему информации от терминала, а это, в свою очередь, означает, что должна выполняться операция чтения клавиатуры; но ЭВМ также может время от времени передавать сообщения на устройства отображения. В случае, если клавиатура и устройство отображения физически разделены, это возможно, однако, если используется цельный терминал (АП-70), ЕС-7077 или аналогичные), присутствие двух операций одновременно не допускается. Операция ЧТЕНИЕ должна выполняться в тот момент, когда у оператора возникает необходимость передать сообщение ЭВМ.

Стандартный интерфейс ЕС ЭВМ обеспечивает возможность та -кой организации. Кроме шин управления и данных в интерфейсе предусмотрена специальная шина ТРБ-А (Требование от Абонента) [25, 27] . Появление на ней сигнала может соответствовать одному из нескольких событий, произошедших в абоненте: "Перевод из НЕ ГОТОВО в ГОТОВО", "Нажатие кн. ВНИМАНИЕ" и др. Последующая передача байта состояния устройства уточняет собы -тие. Для наших целей вполне достаточно, что существует общий для всех устройств ЕС ЭВМ аппарат, позволяющий инициировать событие со стороны внешнего устройства, а ЭВМ способна распознать это событие и адрес устройства, на котором оно произошло.

Стандартная процедура взаимодействия КАНАЛ-ПРОЦЕССОР осуществляется в двух направлениях. Процессор запускает операцию SI0 , предварительно подготовив для канала программу и начальный адрес этой программы. Канал, отрабатывая указанную программу,запускает устройство, определенное в Si0, и выполняет с этим устройством все команды, предусмотренные стандартными протоколами интерфейса ЕС ЭВМ и программой канала. В результате своей работы канал вырабатывает прерывания процессору, которые могут свидетельствовать о нормальном выполнении инициированных действий или об ошибках. Канал может выставлять прерывания четырех типов: конечное, устройство кончило, программно-управляемое прерывание и ошибка канала [36, 69]. Первые три прерывания являются для процессора сигналами о нормальном выполнении или завершении процессов в канале. Прерывание типа "конечное" может выдаваться с двумя признаками в байте состояния канала: "КК" или "КК + УК" ("Канал кончил" или "Канал кончил и устройство кончило"). В первом случае канал, запустив операцию ввода/вывода на внешнем устройстве и передав все требуемые информационные и управляющие байты в буфер устройства, освобождается для дальнейшей работы, хотя устройство еще своей операции не закончило.

Таким образом, можно сделать следующее заключение: обмен данными с терминальными устройствами должен сопровождаться по -сылкой со стороны терминала специального "метасообщения", которое информирует процессор о произошедших изменениях в режимах работы абонента. Техническая реализация такого "метасообщения" связана с появлением на шинах интерфейса признака "ТРБ-А" (на -жатие кн. "Вв" на терминале ЕС-7066, или "Вн" - ЕС-7077 и т.п.). В случае межмашинного обмена "метасообщению" соответствует прерывание от команды "ПРЯМАЯ ЗАПИСЬ".

Выбор структуры и формы реализации процедурного метода доступа диалогового взаимодействия

Определим структуру, а также набор функциональных процедур, составляющих основу процедурного метода доступа, предназначенного для создания диалоговых систем коллективного пользования на базе языков программирования высокого уровня.

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

Рассмотрим теперь общую модель вычислительной системы, в которой может существовать М +N параллельно развивающихся процессов, где М - процессы, реализованные в основной ЭВМ, а /У - процессы абонентов во внешней среде. Следует отметить, что абонентом может являться другая ЭВМ или оператор, работающий за терминалом. Процессы могут взаимодействовать посредст -вом прерываний (метасообщений) Рц , где І , І - номера процессов из М и Н, //и М или М и м . Процессы могут находиться в активных или приостановленных состояниях. Кроме процессов М и /V существуют металроцессы р , способные активизировать, приостанавливать и завертать процессы М и W . Процессы М могут использовать совместные ресурсы Q , такие как оперативная память, центральный процессов, а также, возможно, базы данных [49, 90 ] . Под центральным процессором в дальнейшем будем понимать интерпретирующую систему J , в функции которой входит исполнение команд программы, на которой развивается тот или иной процесс. В этом смысле любой оператор программы может рассматриваться как неделимое действие с точки зрения связанного с этой программой процесса (в частности, оператор САН также является неделимым). Все процессы должны обладать свойством инвариантности по времени, т.е. независимо от скорости работы интерпретирующей системы 1 результат выполнения процесса должен оставаться однозначным 37] .

В интерпретирующих системах выполнение команды сводится к следующей последовательности событий: запуск интерпретатора, ожидание завершения процесса интерпретации, переход к следующей команде (см.рис.9). Такая схема является типичной для вычисли -тельных систем, построенных по принципу фон Неймана. В случае многопроцессорных систем операция ожидания завершения процесса интерпретации может быть отсроченной и не обязательно следовать непосредственно за операцией запуска интерпретатора. Примером такого взаимодействия может служить вычислительная система с каналами. В такой системе процессор и каналы работают с существенно разными скоростями, и при описании алгоритмов работы та -ких систем с применением средств физического метода доступа приходится всегда учитывать эту особенность, используя две макрокоманды операционной системы ХСР (запустить интерпрета -тор) и \A/flJT (ожидать завершения его работы) [85"] .

Рассмотрим логику обмена данными с терминалом через промежуточный буфер. Как было показано в главе I, операция чтения со стороны процессара имеет смысл только тогда, когда в буфер по -мещено законченное сообщение. Сигналом о том, что такое сообщение в буфере имеется, может служить прерывание типа "Внимание". В традиционных системых программирования чтение данных осуществляется посредством команды ЧИТАТЬ (REAB в языках ФОРТРАН и др.). Если эта команда выполняется для обычного устройства ввода (магнитные ленты и диски, перфокарты и т.п.), ее можно рассматривать как пару - запустить интерпретатор и ждать завершения его работы (см.рис.10). Любое нарушение естественного процесса передачи данных (замятие перфокарт, неготовность устройства и т.п.) рассматривается как внутренняя ошибка ввода и обрабатывается средствами системных управляющих программ. Устранение таких ситуаций является внешней функцией по отношению к выдавшему команду ЧИТАТЬ процессу и, в случае успешного завершения, никак не сказывается на продолжении работы процесса. Выполнение такой же команды ЧИТАТЬ для терминала с буфером приведет к не -предсказуемому результату. Поэтому команде ЧИТАТЬ должны пред -шествовать определенные действия, связанные с синхронизацией двух процессов: Мі в основной ЭВМ и Wj абонента.

Основные потоки данных в процедурах метода доступа

Третья глава посвящается программной реализации предложенного метода доступа. Современные способы разработки программной продукции предполагают использование определенных технологий проектирования, программирования и отладки ["861 , а также методов и средств системного программирования [.20, 24, 48, 98, 102 J . Одна из главных задач, решаемых с применением тех или иных технологических приемов, заключается в согласовании по входам/выходам структуры программного комплекса и информационных потоков (в которые могут входить также управляющие воздействия типа прерываний). Большое влияние на выбор технологии оказывают тип операционной системы, комплекс инструментальных средств ограничения на ресурсы и сроки разработки и т.п. [20, 24 3. С учетом вышеуказанных требований в качестве основного технологического метода при реализации ПВД ДСКП был выбран метод структурного программирования.

На протяжении 5 лет (1978-1983 гг.) автором было разработано и внедрено более 5 версий пакета ПМД ДСКП для различных типов операционных систем и терминального оборудования. Все эти версии существенно отличаются друг от друга по основным параметрам: срокам разработки, возможностям обслуживания различных терминалов, используемым ресурсам и т.п. Определенный интерес представляет ретроспективный анализ эволюции пакета, т.к. практически каждая его версия обладает рядом характерных преимуществ и особенностей и эксплуатируется в той или иной мо -дификации по настоящее время. Первые версии ПМД ДСШ были разработаны и внедрены в 1978 году. В этих версиях была предусмотрена возможность одновременного обслуживания до 9 терминалов типа ЕС-7906 в операционной системе ДОС ЕС. К моменту создания 1-й версии уже был разработан и достаточно широко использовался ППП "КОДИАЛ", в котором обеспечивался обмен сообщениями между программой и одним терминалом типа ЕС-7066 или ЕС-7077 61, 62, 63І . Учитывая наличие большого объема программной продукции, использующей ППП "КОДИАЛ", при разработке ПЬЩ ДСШ1 одно из основных требований заключалось в необходимости расширить возможности этого пакета при макси -мальной преемственности с уже имеющимися программными средствами.

Первая редакция ПВД ДСКП включала в себя расширение основных процедур обеспечения диалога ППП "КОДИАЛ" D3&PL и Л С С Е РТ путем добавления в них параметра " I ", определяющего номер терминала, с которым в данный момент происходит обмен. Для проце -дуры DlPL такое добавление оказалось целесообразным, т.к. временные задержки, связанные с выводом сообщения в буфер тер -минала ЕС-7066, соизмеримы со временем выполнения обычного оператора в ФОРТРАН-программе. Однако добавление такого же параметра в 1-й версии в процедуру ACCEPT приводило к блокировке главного процесса, т.к. время выполнения этой процедуры может быть,неопределенно велико и зависит от реакции человека за пультом терминала. Поэтому в 1-й версии были введены новые по отношению к ППП "КОДИАЛ" процедуры OPEN ЕМ , WAITM и Ahf$ , которые позволяют устранять блокировки главного процесса.

В ППП "КОДИАЛ" имеется внутренний стандарт на передаваемые и принимаемые сообщения. Этот стандарт распространяется на все строковые данные, обрабатываемые в рамках этого пакета. Строкой (сообщением) считается последовательность символов в коде ДКОИ, которая завершается символом 07" (конец текста). В стандартной версии ГОНГ "КОДИАЛ" таким символом является " & " (в шест-надцатеричном коде - х"5В"). Как в первой, так и во всех последующих версиях ПВД ДСНГ проблемная программа передает и прини -мает в/из ПВД ДСКП сообщения, ограниченные этим символом.

Для организации ввода/вывода сообщений ПВД ДСКП в ДОС/ЕС можно было использовать стандартные методы доступа RDTA М , Е ТАМ или QTAM , однако в этих методах не поддерживается целый ряд устройств, имеющих интерфейс ЕС ЭВМ, таких как СВД-ЮОО, А-5433, ЕС-7920 и др., поэтому в первых версиях ПВД ДСКП для организации обмена сообщениями был выбран метод ЕХСР , который обеспечивает доступ к любому устройству, имеющему интерфейс ЕС ЭВМ.

На рис.14 показана структура 1-й версии ПВД ДСКП, а в при -ложении 1 приведен полный текст модуля О PEN/ЕМ . В приложении 2 приведен текст программы на PL/I , более подробное описание которой см. в разделе 3.3.

Работа модуля осуществляется следующим образом: во время обращения к главной точке входа в модуле О PEN/ЕМ происходит запуск подзадачи с номером, соответствующим значению входного параметра. Подзадача запускается асинхронно с главным процессом и после выполнения необходимых действий по инициализации пере -ходит в ожидание прерывания от главного процесса, которое сиг -нализирует о запросе на операцию ввода данных от терминала. Запрос поступает в подзадачу от. процедуры А Л/ $ .В момент пос -тупления такого прерывания подзадача переходит в состояние "выполнение" и развивается до точки с меткой EXCPt , в которой выполняется обмен с терминалом.

Похожие диссертации на Исследование и разработка процедурного метода организации и управления вычислительными процессами в системах коллективного пользования