русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Для программного обеспечения диалога


Дата добавления: 2015-08-06; просмотров: 846; Нарушение авторских прав


 

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

В составе ОС ЕС имеются методы доступа: 1) графи­ческий (ГМД); 2) базисный телекоммуникационный (БТМД); 3) общий телекоммуникационный (ОТМД).

Графический метод доступа обеспечивает работу ло­кальных дисплеев комплекса ЕС7906, графических дис­плеев и связь мини-ЭВМ (типа СМ ЭВМ) с ЕС ЭВМ.


Базисный телекоммуникационный метод доступа об­служивает как локальные, так и удаленные терминалы, в частности широко распространенные дисплеи комплек­са ЕС7920. Имеет гибкие и мощные средства для постро­ения систем телеобработки.

Общий телекоммуникационный метод доступа имеет более ограниченные средства по организации связи с терминалами, однако макрокоманды метода доступа представляют язык высокого уровня для обработки со­общений. Особенность ОТМД заключается в наличии программы управления сообщениями (ПУС), которая обеспечивает централизованную обработку сообщений. Прикладные программы пользователей могут быть сде­ланы практически независимыми от ПУС и использу­емых терминалов. Терминальный ввод — вывод програм­мируется с использованием стандартных средств языков высокого уровня для работы с перфокартами и устрой­ствами печати, а при выполнении программы потоки данных связываются с соответствующим терминалом.

Подготовка сообщенияк обмену.При любом методе доступа на физическом уровне можно выделить две фазы ввода сообщений с терминала:

1) определение готовности терминала к передаче входного сообщения пользователя;



2) прием ЭВМ входного сообщения.

Готовность терминала к передаче часто оформляется в виде управляющего сигнала «Внимание». Этот сигнал может быть обнаружен ОС через систему прерываний или с помощью периодического опроса (например, по времени). Пока пользователь не сформирует входное сообщение и не нажмет клавишу, вызывающую сигнал «Внимание», система будет обрабатывать другие диало­говые или пакетные запросы. Наличие сигнала «Внима­ние» позволяет в принципе организовать асинхронное диалоговое взаимодействие пользователя с САПР.

Кроме обработки сигнала «Внимание» и непосредст­венного ввода — вывода методы доступа предусматри­вают промежуточное хранение сообщений в оперативной или внешней памяти ЭВМ (буферы и очереди), сборку и разборку сообщений при передаче по частям, добавление или удаление управляющей информации и пр.

На рис. 4.2 показан алгоритм прохождения односегментного сообщения через систему, управляемую ОТМД. Рассмотрим шаги обработки сообщения р программе управления сообщениями.


Рис. 4.2. Схема алгоритма ПУС

 

Шаг 1. Обнаружение ОС готовности терминала к передаче и принятие входного сообщения в ЭВМ.

Шаг 2. Накопление данных в буфере (как только сформирован очередной сегмент, выполняется входная обработка сообщения: контроль, преобразование кодов, выдача сообщений об ошибках и т. п.).

Ш а г 3. Передача сообщения в очередь к ПП (еслитребуется обработка в ПП), иначе передача сообщения в очередь терминала.

Ш а г 4. Прием сообщения из очереди к ПП в буфер и передача после входной обработки в очередь предва­рительного считывания.

Шаг 5. Обработка прикладной программой по опе­раторам GET или READ данных из очереди считывания.

Шаг 6, 7. Передача результатов работы прикладной программы по операторам PUT или WRITEв буфер ПУС и далее выходная обработка для ПП.

Шаг 8. Поступление сообщения в очередь к другой программе и в очередь терминала.

Шаг 9. Выходная обработка сообщения для канала связи.

Шаг 10. Передача сообщения на один или несколько терминалов.

Диалог с помощью локального дисплея.Чтобы орга­низовать синхронный диалог с локальными дисплеями одного типа в рамках небольших САПР, нет необходи­мости строить сложную программу управления сообще­ниями. Можно децентрализовать обработку сообщений в специальных подпрограммах организации диалога, кото­рые вызываются из прикладных программ. В простей­шем случае достаточно разработать с помощью макро­команд базисного телекоммуникационного доступа на языке ассемблера подпрограмму, осуществляющую: 1) выход выходного сообщения; 2) ожидание сигнала внимания; 3) ввод входного сообщения.

Обращение к этой подпрограмме имеет вид

 

CALL DSPLY (NC, DATA, TERM),

 

где NC — номер строки для установки курсора; DATA — область сообщений (при входе в подпрограмму должна содержать выходное сообщение, при выходе — ответ пользователя); TERM — имя описания терминала (за­дается с помощью языка управления заданиями).

При использовании подобных подпрограмм для связи прикладной программы с терминалом возникает задача преобразования прочитанной числовой информации во внутримашинное представление и обратного преобразо­вания при выводе чисел. В языке ПЛ/1 имеются средства внутреннего преобразования данных (GET/PUT STRING). В языке ФОРТРАН таких возможностей нет, однако можно применить промежуточный файл сообщений, с которым прикладная программа осуществляет ввод — вывод по формату.

С помощью аналогичных вышерассмотренной под­программ можно создавать простые монопольные (на одного пользователя) ДС. Для создания ДС коллектив­ного использования необходим монитор управления вы­числительными процессами пользователей, средства для управления данными в режиме диалога (редактор тек­стов, библиотекарь, архивариус и др.) и средства паке­тирования заданий. При этом к защите ресурсов пользо­вателей от взаимного влияния и к надежности программ предъявляются повышенные требования.

В прикладных программах необходимо обеспечить контроль вводимой информации, обработку программных ситуаций (деление на нуль, переполнение и т. п.) и санк­ционирование доступа к информации с помощью пароль­ной защиты. Никакие действия пользователя за термина­лом не должны приводить к аварийному завершению его диалогового процесса и тем более системы в целом.

Пример программы на языке ПЛ/1.Программа предназначена для выбора диалоговой подпрограммы по меню Экран в про­грамме представлен двояко: непрерывной областью и массивом строк. В начале программы очищается область экрана, форми­руются строки меню и выводятся на дисплей с помощью под­программы терминального ввода — вывода. Ответом на меню служит номер функции, вводимый пользователем в первой по­зиции последней строки. Допустимый ответ преобразуется в ин­декс перехода, по которому осуществляется обращение к вы­бранной подпрограмме. После исполнения подпрограммы проис­ходит возврат на выдачу меню В случае неверного ответа ме­ню выдается пользователю для повторного выбора функции

SELECT: PROCEDURE;

DECLARE SCREEN CHAR (192Ø),

LINE (Ø 23) CHAR (8Ø) DEF SCREEN,

TERM CHAR (8) INIT ('TERM1'),

MSG CHAR (8 Ø) INIT ( ' ' ),

REPLY CHAR(l).

(IND, NL) BIN FIXED;

MENUE SCREEN = ' ';

LINE (3) = 'ПЕРЕЧЕНЬ ДОСТУПНЫХ ФУНКЦИИ';

LINE (5) = ' l ВВОД И КОРРЕКЦИЯ ДАННЫХ';

LINE (6) = ' 2 РЕШЕНИЕ ЗАДАЧИ';

LINE (7) = ' 3 ПРОСМОТР И ПЕЧАТЬ РЕЗУЛЬТАТОВ';

LINE (8) = ' 4 КОНЕЦ РАБОТЫ';

LINE (21) = MSG;

LINE (22) = 'ВВЕДНТЕ НОМЕР ФУНКЦИИ';

NL = 23;

CALL DSPLY (N1, SCREEN, TERM);

REPLY = SUBSTR (LINE (23).1,1);

IND = Ø; MSG = ' ';

IF REPLY > ' Ø ' & REPLY < '5' THEN IND = REPLY

GO TO M (IND);

M (Ø): MSG = 'HEBEPHЫЙ ОТВЕТ'; GO TOMENUE;

M (l) : CALL EDIT; GO TO MENUE;

M (2): CALL SOLVE; GO TO MENUE;

M (3): CALL REPORT; GO TO MENUE;

M (4): RETURN; END SELECT

 



<== предыдущая лекция | следующая лекция ==>
Программное обеспечение диалога | Ввода заданий в ОС ЕС


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.553 сек.