Операционные системы и программное обеспечение на платформе zSeries

Командный режим 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

КомандаСокращениеВыполняемая функция
ALLOCATEALLOCРаспределение (создание) новых наборов данных
CALLCALLЗагрузка и выполнение программ
CANCELCANCELПрерывание выполнения пакетного задания
DELETEDELУдаление наборов данных или разделов библиотек
EDITEВвод и/или редактирование наборов данных
FREEFREEОсвобождение ранее распределенных наборов данных
HELPHПолучение информации о выполняемых функциях, синтаксисе и операндах команд, а также о сообщениях
LISTALCLISTAВывод списка наборов данных, распределенных в текущем сеансе TSO/E
LISTCATLISTCВывод списка наборов данных, имена которых начинаются с префикса пользователя или наборов данных в личном каталоге
LISTDSLISTDВывод списка атрибутов наборов данных
LOGOFFLOGOFFЗавершение терминального сеанса TSO/E (выход из системы)
LOGONLOGONНачало терминального сеанса TSO/E (вход в систему)
OUTPUTOUTВывод листинга задания
PRINTDSPRПечать набора данных на системном принтере
PROFILEPROFПросмотр и редактирование профиля пользователя
RECEIVERECEIVEПолучение отправленного сообщения или набора данных
RENAMERENПереименование каталогизированного набора данных или раздела библиотеки
RUNRКомпиляция, загрузка и выполнение исходной программы из указанного набора данных
SENDSEОтправка сообщений другим пользователям TSO/E или системному оператору
SMCOPYSMCКопирование одного набора данных в другой
STATUSSTПроверка текущего состояния выполняемого задания
SUBMITSUBЗапуск пакетного задания на исполнение
TERMINALTERMПросмотр и редактирование параметров терминала пользователя
TRANSMITXMITОтправка сообщений или наборов данных пользователям системы или других систем


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


Рис. 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.


Содержание раздела