Московский государственный университет путей сообщения
Опубликован: 13.04.2006 | Доступ: свободный | Студентов: 868 / 87 | Оценка: 4.41 / 3.73 | Длительность: 24:53:00

Лекция 7: Средства диалогового взаимодействия с пользователем (TSO/E и ISPF/PDF)

Командный режим TSO/E

TSO/E является компонентом операционной системы MVS, обеспечивающим для множества пользователей возможность интерактивного совместного доступа к ресурсам мэйнфрейма при разработке и выполнении приложений и заданий, а также управлении данными. Для работы с подсистемой TSO/E необходим терминал типа 3270, подключенный к мэйнфрейму. Чаще всего в качестве терминала используют стандартный персональный компьютер (ПК) с установленной терминальной программой (например, IBM Personal Communication). Связь ПК с мэйнфреймом осуществляется по сети на основе протоколов TCP/IP или SNA.

Каждый пользователь TSO/E получает уникальный идентификатор (user ID) и пароль, устанавливаемые администратором RACF. Открытие сеанса работы производится по команде LOGON, которая требует ввода указанных и некоторых других атрибутов для авторизации и настройки пользовательской среды. Ввод команды LOGON приводит к созданию нового адресного пространства z/OS, в котором функционируют системные приложения поддержки диалогового сеанса и могут запускаться пользовательские приложения.

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

Команда TSO/E состоит из имени команды, за которым обычно следуют один или более операндов. Имя команды отделяется от первого операнда одним или несколькими пробелами. Операнды друг от друга отделяются пробелами или запятой. В качестве имен команд чаще всего используются подходящие англоязычные слова, соответствующие их функциональному назначению. Почти все команды и ключевые операнды команд TSO/E имеют дополнительные сокращенные имена, которые можно использовать наряду с полными именами. Перечень основных команд TSO/E с указанием выполняемых функций приведен в таблице 5.5.

Таблица 5.5. Основные команды TSO/E
Команда Сокращение Выполняемая функция
ALLOCATE ALLOC Распределение (создание) новых наборов данных
CALL CALL Загрузка и выполнение программ
CANCEL CANCEL Прерывание выполнения пакетного задания
DELETE DEL Удаление наборов данных или разделов библиотек
EDIT E Ввод и/или редактирование наборов данных
FREE FREE Освобождение ранее распределенных наборов данных
HELP H Получение информации о выполняемых функциях, синтаксисе и операндах команд, а также о сообщениях
LISTALC LISTA Вывод списка наборов данных, распределенных в текущем сеансе TSO/E
LISTCAT LISTC Вывод списка наборов данных, имена которых начинаются с префикса пользователя или наборов данных в личном каталоге
LISTDS LISTD Вывод списка атрибутов наборов данных
LOGOFF LOGOFF Завершение терминального сеанса TSO/E (выход из системы)
LOGON LOGON Начало терминального сеанса TSO/E (вход в систему)
OUTPUT OUT Вывод листинга задания
PRINTDS PR Печать набора данных на системном принтере
PROFILE PROF Просмотр и редактирование профиля пользователя
RECEIVE RECEIVE Получение отправленного сообщения или набора данных
RENAME REN Переименование каталогизированного набора данных или раздела библиотеки
RUN R Компиляция, загрузка и выполнение исходной программы из указанного набора данных
SEND SE Отправка сообщений другим пользователям TSO/E или системному оператору
SMCOPY SMC Копирование одного набора данных в другой
STATUS ST Проверка текущего состояния выполняемого задания
SUBMIT SUB Запуск пакетного задания на исполнение
TERMINAL TERM Просмотр и редактирование параметров терминала пользователя
TRANSMIT XMIT Отправка сообщений или наборов данных пользователям системы или других систем

Операнды служат для указания информации, необходимой для выполнения команды, причем могут быть как позиционными, так и ключевыми. При вводе команд можно использовать как прописные, так и строчные буквы. Поддерживается два способа ввода команд, представленных на рис. 5.30 на примере команды RENAME (переименовать набор данных) [ 5.22 ] . Команда RENAME имеет два позиционных параметра: имя переименовываемого набора данных (здесь OLD.DATA ) и новое имя, которое устанавливается для этого набора данных ( NEW.DATA ).

Способы использования команд TSO/E

Рис. 5.30. Способы использования команд TSO/E

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

Для начального знакомства с командами TSO/E удобно использовать команду HELP. Команда HELP без операндов выводит на экран перечень всех доступных команд:

HELP
LANGUAGE PROCESSING COMMANDS:
ASM 	INVOKE ASSEMBLER PROMPTER AND ASSEMBLER F COMPILER.
CALC 	INVOKE ITF:PL/1 PROCESSOR FOR DESK CALCULATOR MODE.
COBOL 	INVOKE COBOL PROMPTER AND ANS COBOL COMPILER.
FORT 	INVOKE FORTRAN PROMPTER AND FORTRAN IV G1 COMPILER
. . .

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

HELP RENAME

Такая справка содержит описание функции команды, ее синтаксиса и назначение каждого из операндов.

Помимо собственных команд TSO/E поддерживает возможность выполнения пользовательских приложений в двух режимах: интерактивном (Foreground) и фоновом (Background). В интерактивном режиме программа запускается по специальной команде ( RUN или CALL ) в адресном пространстве текущего пользовательского сеанса TSO/E. Процесс выполнения программы при этом полностью контролируется с пользовательского терминала, на который выдаются сообщения и результаты работы и с которого могут вводиться исходные данные. Пока выполняется интерактивная программа, пользователь не может задействовать терминал для другой работы.

Команда RUN служит для выполнения программ, представленных в исходном коде. При этом автоматически производится компиляция, редактирование связей, загрузка и исполнение. Однако для использования команды RUN необходимо, чтобы в системе были установлены соответствующие программные средства, включая компиляторы с различных языков программирования и редактор связей (Binder).

Команда CALL служит для загрузки и запуска подготовленных к выполнению программ, т.е. программ, представленных в виде загрузочного модуля. Это могут быть либо пользовательские прикладные программы, либо системные программы, такие как компиляторы или утилиты. Пользователь должен указать имя загрузочного модуля, которое должно соответствовать имени раздела библиотечного набора данных, например:

CALL 'USER5.MYPROG.LOADMOD(PROG3)'

или

CALL 'SYS1.LINKLIB(IEUASM)'

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

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

CALL 'PROGRAM(MYPROG)' 'FIRST,SECOND'

Для выполнения программы в фоновом (пакетном) режиме необходимо составить задание с использованием языка управления заданиями JCL и разместить его в наборе данных. Задание можно передать на выполнение по команде SUBMIT:

SUBMIT 'U.JCLLIB.CNTL(JOB1)'

При этом задание передается подсистеме управления заданиями и будет выполнено в адресном пространстве инициатора JES. Результаты работы программы помещаются в набор данных SYSOUT, который можно просмотреть в любое время. В данном режиме пользователь может продолжать использовать терминал, не дожидаясь завершения выполнения задания.

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

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

Пользователю TSO/E предоставляется возможность создавать командные процедуры, используя специальные языки, такие как CLIST и REXX. Данные языки позволяют с помощью стандартных команд TSO/E, а также специальных операторов и встроенных функций, создавать интерпретируемые программы, которые можно запускать на выполнение непосредственно из командной строки. С помощью командных процедур можно работать с наборами данных в интерактивном режиме, настраивать и запускать пакетные задания, создавать диалоги ISPF.