OS/360 및 후속 버전 지원 프로그램
Support programs for OS/360 and successors이 문서에서는 OS/360 및 후속 OS에 포함되어 있거나 사용할 수 있는 지원 프로그램에 대해 설명합니다.IBM은 이러한 프로그램 중 일부를 유틸리티로[1][a] 분류하고 다른 프로그램을 서비스 [2]보조로 분류합니다. 경계가 항상 일관되거나 명확하지는 않습니다.이러한 프로그램의 대부분은 유틸리티 소프트웨어의 종류와 일치하지만 전부는 아닙니다.
다음 목록에서는 OS/360 및 후속 프로그램과 관련된 프로그램을 설명합니다.DOS, TPF 또는 VM 유틸리티는 포함되어 있지 않습니다.
이력/공통 JCL
이러한 프로그램의 대부분은 IBM 사용자가 SHARE 그룹을 통해 설계한 후 사용자가 원래 작성한 버전에서 IBM에 의해 수정 또는 확장되었습니다.
이러한 프로그램은 보통 JCL(Job Control Language)을 통해 호출됩니다.데이터 세트에 공통 JCL DD 식별자(OS에서는 현재 z/OS 운영 체제)를 사용하는 경향이 있습니다.
DDNAME | 통상의 기능 |
---|---|
시스템 | 유틸리티의 'input file'을 입력합니다.기본 액션이 필요한 경우 종종 DUMMY로 설정됩니다. |
시스템 1 | 입력 파일 |
SYSYSUT2 | 출력 파일 |
SYSYSUT | 입력용 작업(스필)(SYSUT1) 파일(대부분 사용되지 않음) |
시스템 4 | 출력용 작업(스필)(SYSUT2) 파일(대부분 사용되지 않음) |
시스템 프린트 | 유틸리티 출력용 출력 파일 |
시스템 출력 | 유틸리티로부터의 메시지 출력 파일 |
시스템 덤프 | 프로그램이 실패할 경우 시스템 출력 파일 '삭제' |
데이터 세트 유틸리티
IDCAMS
IDCAMS(「Access Method Services」)는 가상 스토리지 액세스 방법(VSAM) 및 비VSAM 데이터 세트를 생성 및 변경합니다.IDCAM은 VSAM과 함께 OS/VS에 도입되었습니다.「접근 방법」레퍼런스는, OS/VS의 최초의 「VSAM이 다른 모든 액세스 방법을 대체한다」는 사고방식에서 유래했습니다.IDCAM은 아마도 VSAM 파일과 비VSAM 파일 모두에서 많은 기능을 수행하면서 모든 유틸리티 프로그램 중에서 가장 많은 기능을 갖추고 있을 것입니다.
다음 예시는 IDCAMS를 사용하여 데이터 세트를 디스크에 복사하는 방법을 보여 줍니다.데이터 집합에는 80바이트 레코드가 있으며 시스템은 출력의 블록 크기를 선택합니다.
//XXXXXXXW 일 XXXXXXXXXXXXXXXXXXXX,아아아.,학급=G,MSG클래스=1,알리다=&시스템 ID //스텝001 EXEC PGM=IDCAMS //시스템DD* REPRO INFILE(FILE01) OUTFILE(FILE02) /* //파일 01DDDSN=생산하다.파일 1.입력,디스패치=날카롭게 하다 ..... //파일 02DDDSN=생산하다.파일 2.산출량, // 디스패치=(신규,밧테루,삭제), // 구성 단위=DASD, // 공간=(TRK,(100,10),RLSE), // DCB=(RECFM=FB,점멸=0,LRECL=80) //시스템 프린트DD시스템 출력=* //시스템 출력DD시스템 출력=* //시스템 덤프DD시스템 출력=* //*
위의 예에서는 SYSIN 제어카드는 인스트림파일에서 가져오지만 필요에 따라 컨트롤 카드 또는 임시 데이터 세트를 포함하는 PDS 멤버 또는 시퀀셜파일을 가리킬 수 있습니다.SYSIN 파일의 사용 예는 다음과 같습니다.
//시스템DDDSN=생산하다.마이파일.재프로세서,디스패치=쉬르
또는 다음과 같습니다.
//시스템DDDSN=생산하다.마일리브.CNTLIB(재프로세서), // 디스패치=쉬르
IE컴퍼
IEBCOMPR은 순차 데이터 세트 또는 분할 데이터 세트의 레코드를 비교합니다.
IEBCOMPR 유틸리티는 두 개의 순차 데이터 세트 또는 분할 데이터 세트를 비교하는 데 사용됩니다.이 데이터 세트 비교는 논리 레코드 수준에서 수행됩니다.따라서 IEBCOMPR은 데이터 세트의 백업 복사가 올바른지(원본과 정확히 일치하는지) 확인하기 위해 일반적으로 사용됩니다.
처리 중에 IEBCOMPR은 각 데이터 세트의 각 레코드를 하나씩 비교합니다.레코드가 동일하지 않은 경우 IEBCOMPR은 SYSOUT에 다음 정보를 나열합니다.
- 문제의 레코드 및 블록 번호.
- 불일치가 발생한 DD 문의 이름.
- 불평등한 기록들.
순차 데이터 세트를 비교할 때 IEBCOMPR은 다음 조건이 충족되면 데이터 세트가 동일한 것으로 간주합니다.
- 데이터 세트에는 같은 수의 레코드가 포함되어 있습니다.
- 대응하는 레코드와 키는 동일합니다.
분할된 데이터 세트의 경우 IEBCOMPR은 다음 조건이 충족되면 데이터 세트가 동등하다고 간주합니다.
- 2개의 분할된 데이터 세트의 디렉토리 엔트리가 일치합니다.즉, 이름이 같고 엔트리의 수가 동일합니다.
- 대응하는 멤버에는 같은 수의 레코드가 포함되어 있습니다.
- 대응하는 레코드와 키는 동일합니다.
처리 중에 10개의 불균등한 비교가 발생했을 경우 IECOMPR은 적절한 메시지로 종료됩니다.
//XXXXXXXW 일 XXXXXXXXXXXXXXXXXXXX,아아아..A.A,학급=G,MSG클래스=1,알리다=XXXXXXXX //스텝 01 EXEC PGM=IE컴퍼,ACCT=PJ00000000 // 포함하다 멤버=@BATCHS //*SYSIN DD 더미 //시스템DD* TYPORG=PO 비교 /* //시스템 1DDDSN=XXXXXXXXXXXXXXXXXXXX.오래된 파일,구성 단위=DASD,디스패치=쉬르 //SYSYSUT2DDDSN=XXXXXXXXXXXXXXXXXXXX.새로운 파일,구성 단위=DASD,디스패치=쉬르 //시스템#DD
주의: IEBCOMPR은 매우 유연하거나 사용하기 쉬운 비교 프로그램이 아닙니다.특정 열에 대해서만 비교를 제한할 수 없고 공백의 차이를 무시할 수 없으며 레코드 내 어디에서 차이가 발생하는지 알 수 없으며 10개의 차이 후에 중지됩니다.한편, 고속이며, 모든 IBM 메인프레임에 탑재되어 있습니다.따라서 재잠금되지 않은 로드모듈을 비교하거나 복사가 정상적으로 동작했는지 확인하는 등 정확한 일치가 예상되는 경우 매우 유용합니다.프로그램 또는 보고서 비교에는 ISPF SuperC(ISRSUPC) 비교 프로그램이 대신 사용됩니다.
IEBCopy
IEBCOPY는 분할된 데이터 세트를 복사, 압축 및 병합합니다.복사 작업 중에 지정된 구성원을 선택하거나 제외하거나 구성원의 이름을 바꾸거나 바꿀 수도 있습니다.
IEBCOPY에서 수행할 수 있는 작업에는 다음과 같은 것이 있습니다.
- 백업 또는 전송을 위해 PS 데이터 세트에 대한 분할 데이터 세트(PDS) 언로드 생성
- 삭제한 멤버로부터 미사용 공간을 회수하기 위해서, PDS 를 카피하는 것(PDS 압축이라고도 불립니다).
- 선택한 멤버를 다른 PDS에 복사하는 중입니다.
- 선택한 PDS 멤버의 이름을 변경합니다.
- 여러 분할된 데이터 세트를 단일 PDS로 병합합니다.
- 로드 모듈 변경, 복사 및 재잠금
- 다른 PDS에 이미 존재하는 멤버는 [R]옵션을 지정하지 않으면 교환되지 않습니다.
IEBCOPY 유틸리티의 경우 복사본에 필요한 작업 제어 문은 다음과 같습니다.
//스텝네임 EXEC PGM=IEBCopy //시스템 프린트DD시스템 출력=학급 //MYDD1DDDSN=xxxx.ppp.PSP,디스패치=쉬르 //MYDD2DDDSN=xxxx.ppp.pssp,디스패치=쉬르 //시스템DD* 복사 IND=MYDD1, OUTDD=MYDD2 SELECT MEMBER=(MEM1, MEM2, MEM3)/EXCLUDE MEMBER=(SF, DF, SA)
MYDD1 및 MYDD2 DD문은 각각 분할된 입력 및 출력 데이터 세트에 대해 사용자가 선택한 이름입니다.기본값은 SYSUT1과 SYSUT2입니다.이 2개의 DD문에는 임의의 유효한 DDNAME을 사용할 수 있습니다.이러한 DDNAME은 입력 및 출력 데이터 세트의 이름을 IEBCOPY에 알리기 위해 유틸리티 제어 문에 지정되어 있습니다.PDS를 압축하기 위해 필요한 DD 문은 1개뿐입니다.
IEBDG
IEBDG('데이터 생성기')는 패턴 데이터로 구성된 테스트 데이터 세트를 생성합니다.control 문은 위치, 길이, 형식 및 초기화를 포함하여 작성하는 레코드의 필드를 정의합니다.IEBDG는 기존 데이터 세트를 입력으로 사용하고 제어문에 지정된 필드를 변경할 수 있습니다. 예를 들어 이름 필드를 임의의 알파벳 텍스트로 대체할 수 있습니다.각 필드의 내용은 각 레코드에 대해 변경될 수 있습니다.예를 들어, 이후의 각 레코드에 대해 영숫자 필드의 문자를 왼쪽 또는 오른쪽으로 회전시키는 것입니다.
예:
//XXXXXXXW 일 XXXXXXXXXXXXXXXXXXXX,아아아.,학급=G,MSG클래스=1,알리다=&시스템 ID //********************************************************************** //* 나중에 사용할 데이터 세트 생성 //********************************************************************** //CRSTEP EXEC PGM=IEFBR14 //DDCREADDDSN=&시스템 ID..MVSUT.출력,디스패치=(신규,밧테루) //********************************************************************** //* 테스트 데이터 생성 //********************************************************************** //순서 1 EXEC PGM=IEBDG //시스템 프린트DD시스템 출력=* //출력DDDSN=&시스템 ID..MVSUT.출력,디스패치=늙은 //시스템DD데이터. DSD 출력=(SEQOUT) FD NAME=FIELD1, LENGH=30, STARTLOC=1, FORMAT=AL, ACTION=TL FD NAME=FIELD2,LENGH=30, STARTLOC=31, FORMAT=AL, ACTION=TR FD NAME=FIELD3, LENGH=10, STARTLOC=71, PICTURE=10, X P'1234567890',인덱스 = 1 CREATE QUANTY=500,NAME=(필드1,필드2,필드3)채우기=X'FF' 끝. /* //********************************************************************** //* SYSOUT에 테스트 데이터 인쇄 //********************************************************************** //순서 2 EXEC PGM=IEBGenerator //시스템 프린트DD시스템 출력=* //시스템 1DDDSN=*.순서 1.출력,디스패치=쉬르 //시스템DD모조의 //SYSYSUT2DD시스템 출력=* //********************************************************************** //* 이전 단계가 중단된 경우에도 생성된 데이터 세트 삭제 //********************************************************************** //DLSTEP EXEC PGM=IEFBR14,상태=심지어. //DDDLDDDSN=&시스템 ID..MVSUT.출력,디스패치=(늙은,삭제,삭제) //
베다
IEBEDIT는 JCL의 일부를 선택적으로 복사합니다.
IEBED의 예IT 프로그램:
//베디트 일 ACCT,'',학급=P,MSG클래스=T,MSG 레벨=(1,1),알리다=&시스템 ID //스텝0001 EXEC PGM=베다 //시스템 프린트DD시스템 출력=* //시스템 1DDDSN=xxxxxxx..yyyy.Zzzzz.,디스패치=쉬르 //SYSYSUT2DD시스템 출력=(*,내부) //시스템DD* 타입=편집, STEPNAME=(STEP10, STEP5, STEP15) /* //
이 예에서는 데이터 세트 xxxxx입니다.yyyy.zzz에는 작업(STEP5, STEP10 및 STEP15라는 이름의 스텝 포함)이 포함되어 있어야 합니다.이 IEBEDIT 루틴은 선택한 작업 단계를 SYSUT2 출력 파일(이 예에서는 내부 리더)에 복사합니다.
EDIT 문의 구문은 다음과 같습니다.
[label] 편집 [START=jobname] [,TYPE={위치 포함 제외}] [,STEPNAME=(네임리스트)] [,NOPRINT]
START=jobname
EDIT 문이 적용되는 입력 작업의 이름을 지정합니다.각 EDIT 문은 개별 작업에 적용되어야 합니다.TYPE 및 STEPNAME 없이 START를 지정하면 JOB 문과 지정된 작업의 모든 작업 단계가 출력에 포함됩니다.
디폴트: START가 생략되어 EDIT 문이1개만 제공되면 입력 데이터 세트에서 처음 발견된 작업이 처리됩니다.첫 번째 스테이트먼트 이외의 EDIT 스테이트먼트에서 START가 생략되면 입력 데이터 세트에 있는 다음 JOB 스테이트먼트부터 처리가 계속됩니다.
TYPE={POSITION INCLUDE EXCLUDE}
출력 데이터 세트의 내용을 지정합니다.이러한 값은 코드화할 수 있습니다.
POSITION
는 JOB 스테이트먼트, STEPNAME 파라미터로 지정된 작업스텝 및 그 작업스텝 뒤에 이어지는 모든 스텝으로 출력을 구성하도록 지정합니다.지정된 단계 이전의 모든 작업 단계는 작업에서 생략됩니다.POSITION이 기본입니다.
INCLUDE
는 출력 데이터 세트에 JOB 스테이트먼트와 STEPNAME 파라미터로 지정된 모든 작업스텝을 포함하도록 지정합니다.
EXCLUDE
는 출력 데이터 세트에 JOB 스테이트먼트 및 STEPNAME 파라미터로 지정된 스텝을 제외한 작업에 속하는 모든 작업스텝을 포함하도록 지정합니다.
STEPNAME=(namelist)
처리할 작업 단계의 이름을 지정합니다.
namelist
에는 단일 작업스텝명, 쉼표로 구분된 스텝명의 리스트, 하이픈으로 구분된 스텝의 시퀀셜 범위(STEPA-STEPE 등)를 지정할 수 있습니다.1개의 네임리스트에서는 이들 조합의 임의의 것을 사용할 수 있습니다.여러 단계 이름을 지정할 경우 이름 목록 전체를 괄호로 묶어야 합니다.
TYPE=POSITION으로 코딩된 경우 STEPNAME은 출력 데이터 세트에 배치할 첫 번째 작업 단계를 지정합니다.이 단계 이전의 작업 단계는 출력 데이터 세트에 복사되지 않습니다.
TYPE=SYPE 또는 TYPE=SYPE로 코딩된 경우 STEPNAME은 작업에 포함되거나 작업에서 제외되는 작업 단계의 이름을 지정합니다.예를 들어 STEPNAME=(STEPA, STEPF-STEPL, STEPZ)는 작업 단계 STEPA, STEPF ~ STEPL 및 STEPZ가 작업에 포함되거나 작업에서 제외됨을 나타냅니다.
STEPNAME을 생략하면 EDIT 문에 이름이 지정된 입력 작업 전체가 복사됩니다.작업 이름을 지정하지 않으면 처음 발견된 작업이 처리됩니다.
NOPRINT
는 메시지 데이터 세트에 출력 데이터 세트의 리스트가 포함되지 않도록 지정합니다.
디폴트:결과 출력은 메시지 데이터 세트에 나열됩니다.
IEBGenerator
IEBGENER는 순차 데이터 집합에서 레코드를 복사하거나 분할 데이터 집합을 만듭니다.
IEBGENER가 수행할 수 있는 작업에는 다음과 같은 것이 있습니다.
- 순차 데이터 세트 또는 PDS 구성원의 백업 생성
- 순차 데이터 세트의 실제 블록 크기 또는 논리적 레코드 길이 변경.
- 편집된 데이터 세트 생성.
- 순차 데이터 세트 또는 PDS 멤버 인쇄
- 순차 입력 데이터 집합에서 분할된 출력 데이터 집합을 만드는 중입니다.
한 데이터 세트를 다른 데이터 세트로 복사하는 IEBGENER 프로그램의 예:
//IEBGenerator 일 ACCT,'데이터 복사',MSG클래스=J,학급=A //스텝 010 EXEC PGM=IEBGenerator //시스템 1DDDSN=xxxxxxx..yyyy.Zzzzz.,디스패치=쉬르 //SYSYSUT2DDDSN=아.bbbb.ccc,디스패치=(,밧테루), // 구성 단위=시스템,공간=(TRK,(5,5),RLSE), // DCB=(RECFM=FB,LRECL=1440) //시스템 프린트DD시스템 출력=* //시스템DD모조의
스트레이트 카피 직무에 대해서는 소트 프로그램 자주 IEBGENER보다 더 빨리 이것을 할 수 있다.따라서 많은 사람들이 메인 프레임 가게 자동으로 IEBGENER 대신 종류 ICEGENER 프로그램에 그러한 작업 경로 옵션을 사용하고 있다.
일부 시스템에 일괄 작업에서 "에 대한 출력을 돌림으로써 이메일 전송할 수 있다.SMTP
"외부 작가.다음과 같이 그러한 시스템에서 기술: 있다.
//IEBGENER 일 경리부,'DATA COPY의,MSGCLASS=J,학급=A //NORMRC EXEC 유도탄 고속 함=IEBGENER //SYSPRINTDD시스템 출력=* //시스템 1DD*,LRECL=80 헬로 <SYSTEMID> 보낸 사람 메일: <USERID@SYSTEMID> RCPT 대상: <USERID@SYSTEMID> 데이터. 송신원: <USERID@SYSTEMID> 수신인: <USERID@SYSTEMID> 제목:테스트 메일 메인프레임으로부터의 테스트 메일 . 멈춰 /* //SYSYSUT2DD시스템 출력=(B,SMTP),LRECL=80 //시스템DD모조의
메인프레임에서 이메일을 보내는 동안 파일을 첨부할 수도 있습니다.
IEB이미지
IEBIMAGE는 IBM 3800 레이저 인쇄 하위 시스템 및 IBM 4248 프린터에 대한 여러 유형의 정의(AKA 이미지)를 조작합니다.일반적인 용도는 폼 제어 버퍼(FCB), 문자 배열 테이블, 문자 정의 및 폼 이미지를 텍스트와 함께 출력하거나 회사 로고를 페이지에 인쇄하거나 "회색 막대" 페이지(이전 녹색 막대 용지에 맞게 회색과 흰색의 수평 배경 교대로)를 인쇄하는 것입니다.이 유틸리티를 사용하면, 많은 다른 폼이나 로고를 이미지로 보존해, 필요에 따라서 같은 표준 백지를 사용해 인쇄할 수 있기 때문에, 사전에 인쇄된 다수의 폼을 보존할 필요가 없어져, 오퍼레이터가 프린터를 정지해 용지를 교환할 필요가 없어집니다.
IEBISAM
IEBISAM은 ISAM 데이터 세트를 언로드, 로드, 복사 및 인쇄합니다.
IBM 설명서 SC26-7414-08 z/OS DFSMSdfp 유틸리티에서 추출:IEBISAM 프로그램은 배포되지 않습니다.z/OS V1R7부터는 ISAM 데이터 세트를 더 이상 처리할 수 없습니다(작성, 열기, 복사 또는 덤프).아직 사용 중인 ISAM 데이터 세트는 VSAM 키시퀀스 데이터 세트로 변환해야 합니다.
z/OS V1R7 이전에는 액세스 방식 서비스를 사용하여 VSAM 키 시퀀싱 데이터 세트를 할당하고 ISAM 데이터 세트를 복사할 수 있었습니다.
IEBPTPH
IEBPTPCH ("PrinT and PunCH")는 순차 데이터 세트 또는 분할 데이터 세트에서 레코드를 인쇄하거나 펀치합니다.
IEBPTPCH가 수행할 수 있는 작업에는 다음과 같은 것이 있습니다.
- 전체 데이터 세트, 순차 또는 분할(PDS) 인쇄 또는 펀치
- 선택한 PDS 부재를 인쇄하거나 펀치하는 중입니다.
- 순차 또는 분할된 데이터 세트에서 선택한 레코드를 인쇄하거나 제외합니다.
- PDS 디렉토리의 인쇄 또는 펀치.
- 순차 데이터 세트 또는 PDS의 편집된 버전을 인쇄하거나 제외합니다.
- 빈 데이터 집합을 확인합니다.
//IEBPTPH 일 // EXEC PGM=IEBPTPCH //시스템DD* 인쇄 MAXFLDS=2 제목 항목=「이름」,22) ITEM="GPA",50) 제목 항목=제목 ',1) RECORD 필드=(25,1,22), 필드=(4,51,50) /* //시스템 프린트DD시스템 출력=* //시스템 1DD* Person 1 307 C 메셀 홀 3.89 2인칭 123 윌리엄슨 홀 2.48 3인칭 321 Maag 라이브러리 1.52 /* //SYSYSUT2DD시스템 출력=* //
빈 데이터 집합 검사: 검사할 데이터 집합이 비어 있으면 RC=4이고, 그렇지 않으면 0입니다.
//IEBPTPH 일 // EXEC PGM=IEBPTPCH //시스템 1DDDSN=< >파일명>,디스패치=쉬르 //SYSYSUT2DD모조의, // DCB=(점멸=< >블록 size > , RECFM =FA) //시스템DD* 인쇄 TYPORG=PS /* //시스템 프린트DD시스템 출력=* //
IEBTCRIN
2495 테이프 카트리지 리더로부터 레코드를 읽습니다.
IEUPDAT
순차 데이터 집합 또는 분할 데이터 집합의 멤버에서 레코드를 변경합니다. IEBUPDTE로 대체되지만 IEBUPDTE와 호환되지 않습니다.
IEUPDTE
IEBUPDTE("UPDTE")는 순차적 또는 분할된 데이터 세트에 대한 변경 사항을 통합합니다.UNIXpatch
유틸리티는 유사한 프로그램이지만 다른 입력 형식 마커를 사용합니다(예: MVS의 ".INSERT..."는 UNIX 패치의 "@@"가 됩니다).
몇몇 프로그래머들은 이것을 "I.E.B. up-ditty"라고 발음한다.
IEBUPDTE 유틸리티는 소스 라이브러리를 유지하기 위해 사용됩니다.IEBUPDTE가 실행할 수 있는 기능에는 다음과 같은 것이 있습니다.
- 라이브러리 생성 및 업데이트
- 순차 데이터 세트 또는 PDS 멤버 수정
- 데이터 세트의 구성을 순차에서 분할 또는 분할에서 순차로 변경.
IEBUPDTE는 일반적으로 테이프에서 DASD로 소스 라이브러리를 배포하기 위해 사용됩니다.
IEBUPDTE는 대부분의 IEB 유형 유틸리티에서 요구하는 것과 동일한 작업 제어 문을 사용합니다.예외는 다음과 같습니다.
- IEBUPDTE는 EXEC 스테이트먼트(NEW 또는 MOD)에 코드화된 PARM 파라미터를 받아들입니다.NEW는 유틸리티 컨트롤 스테이트먼트와 입력 데이터가 SYSIN DD 스테이트먼트에 포함되어 있음을 나타내므로 SYSUT1 DD 스테이트먼트는 필요하지 않습니다.MOD는 SYSIN DD 문이 입력 데이터를 포함하지 않고 유틸리티 제어 문만 포함됨을 나타냅니다.따라서 입력 데이터 세트를 정의하려면 SYSUT1 DD 문이 필요합니다.
- IEBUPDTE는 SYSUT1 DD 문 또는 SYSIN DD 문에서 입력 데이터 세트를 읽습니다.
IEUPDTE에서 사용하는 작업 제어는 다음과 같습니다.
//스텝네임 EXEC PGM=업데이트,팜=신규 //시스템 프린트DD시스템 출력=학급 //시스템 1DD... //SYSYSUT2DD... //시스템DD...
스케줄러 유틸리티
IEFBR14
IEFBR14는 데이터셋의 할당 또는 삭제만 원하는 경우 일반적으로 JCL에 삽입되는 더미 프로그램입니다.
IEFBR14 스텝의 예를 다음에 나타냅니다.
//IEFBR14 일 ACCT,'데이터셋 삭제' //스텝 01 EXEC PGM=IEFBR14 //딜디DDDSN=xxxxxxx..yyyy.Zzzzz., // 디스패치=(모드,삭제,삭제),구성 단위=DASD
OS/360 의 콜 시퀀스에는, 레지스터 14 의 리턴 주소가 포함되어 있습니다.따라서 Register 14에 대한 브랜치는 프로그램을 즉시 종료합니다.단, 이 프로그램을 실행하기 전후에 운영체제는 DD 스테이트먼트에 지정된 대로 데이터셋을 할당 및 할당 해제하기 때문에 일반적으로 데이터셋을 설정 또는 삭제하는 빠른 방법으로 사용됩니다.
처음에는 단일 명령으로 "Branch to Register" 14로 구성되었습니다.IBM Assembler에 사용된 니모닉은 BR이었고 따라서 IEF BR 14. IEF는 물론 OS/360의 "작업 관리" 하위 시스템의 "프리픽스"입니다.
이 단일 명령 프로그램에는 오류가 있습니다. 반환 코드를 설정하지 않았습니다.따라서 올바른 상태로 종료되도록 리턴 코드를 클리어하기 위해 두 번째 명령을 추가해야 합니다.
이 두 가지 명령 프로그램에 대해 IBM이 보고하고 수정한 추가 오류가 있습니다.이 에러는 IEFBR14 프로그램이 재입력 가능(복수의 발신자가 동시에 사용 가능)으로 링크 편집되지 않았기 때문입니다.
일부 해커들은 IEFBR14 명령어를 BR15로 변경하여 레지스터 15가 IEFBR14 모듈 자체의 주소를 포함하고 BR15 명령어는 단순히 모듈을 영원히 다시 호출할 수 있기 때문에 "세계에서 가장 짧은 루프"를 생성합니다.
시스템 유틸리티
이러한 유틸리티는 일반적으로 시스템 프로그래머가 시스템에서 애플리케이션 작업을 수행할 때 사용하는 것이 아니라 시스템 프로그래머에 의해 시스템 운영 유지에 사용됩니다.
ICKDSF
ICKDSF(「디바이스 서포트 퍼실리티」)는, operating system 또는 스탠드 아론의 DASD 의 인스톨, 초기화, 및 유지보수를 실시합니다.
IEHATLAS
결함이 있는 트랙에 대체 트랙을 할당합니다.
IEHDASDR
IEHDASDR은[1]: 161–187 DASD[b](Direct Access Storage Device)에 대해 여러 작업을 수행할 수 있습니다.
- 옵션 표면 검사를 사용하여 DASD 볼륨을 초기화합니다.
- 결함이 있는 트랙에 대체 트랙 할당
- DASD로 트랙 인쇄
- 테이프에 DASD 볼륨 백업 생성
- 백업 테이프에서 DASD 볼륨을 복원합니다.
IBM은 결국 IEHDASDR에 대한 새로운 장치 유형에 대한 지원을 중단하고 볼륨 초기화를 위한 무료 DSF(5740-UT1)와 덤프/복원에 대한 유료 DASD(5740-UT3, DF/DSS)를 고객에게 안내했습니다.
IBM은 MVS/[3]XA에서 IEHDASDR을 제거했습니다.
IEHINIT
IEHINITT(「INITIalize Tape」)는, 테이프 라벨을 써 테이프를 초기화합니다.유틸리티의 1회 실행으로 여러 테이프의 라벨이 표시될 수 있습니다.IBM 표준 또는 ASCII 라벨이 작성될 수 있습니다.
IEHINITT 프로그램의 예:
//IEHINIT 일 ACCT,'라벨 테이프',MSG클래스=J,학급=A //스텝0001 EXEC PGM=IEHINIT,지역=8M //시스템 프린트DD시스템 출력=A //라벨.DDDCB=덴=2,구성 단위=(3490,1,연기하다) //시스템DD* 라벨 INIT SER=123450, NUMBTAPE=3 /*
이 예에서는 3490 자기 테이프 유닛에 3개의 테이프에 라벨을 붙입니다.각 테이프에는 IBM 표준 라벨이 부착됩니다.VOLSER는 라벨이 붙은 테이프마다 1씩 증가합니다.각 테이프는 라벨 부착 후 되감아 언로드됩니다.
IEHIOSUP
SYS1의 타입 IV 슈퍼바이저 콜(SVC) 루틴의 TTR 링크를 업데이트합니다.SVCLIB. OS/VS2 이상에는 적용되지 않습니다.
IEH 리스트
IEHLIST는 Partitioned Dataset(PDS; 분할 데이터 세트) 디렉토리의 항목을 나열하거나 VTOC(볼륨 목차)의 내용을 나열하는 데 사용되는 유틸리티입니다.
IEHLIST 유틸리티를 사용하여 다음 중 하나에 포함된 엔트리를 나열합니다.
- PDS 디렉토리
- VTOC
- 카탈로그(OS CVOL)
IEHLIST 프로그램의 예를 다음에 나타냅니다.
//IEH 리스트 일 ACCT,'PDS 목록',MSG클래스=J,학급=A //스텝0001 EXEC PGM=IEH 리스트,지역=8M //시스템 프린트DD시스템 출력=A //PDS1DDDSN=xxxxx..yyy.zzz,디스패치=늙은 //시스템DD* LISTPDS DSNAME=xxxx.yyy.zzz, 포맷 /*
이 작업은 xxx.yyy.zzz라는 이름의 PDS 디렉토리의 형식화된 목록을 생성합니다.
VTOC를 나열하는 IEHLIST 프로그램의 예는 매우 유사합니다.
//IEH 리스트 일 ACCT,'목록 VTOC',MSG클래스=J,학급=A //스텝0001 EXEC PGM=IEH 리스트,지역=8M //시스템 프린트DD시스템 출력=A //VOL1DD볼륨=서버=vvvvvv,디스패치=늙은 //시스템DD* 리스트 VTOC VOL=SER=vvvvv, FORMAT /*
동작
IEHMOVE는 데이터 컬렉션을 이동 또는 복사합니다.그러나 현재 DFSMS(시스템 관리 스토리지) 환경은 일반적이며 IBM은 이러한 환경에서 IEHMOVE 유틸리티를 사용하는 것을 권장하지 않습니다.이동은 이동 후에 원본 데이터 세트가 삭제되거나 스크래치가 발생한다는 점에서 복사본과 다릅니다.IEHMOVE에서 수행할 수 있는 작업에는 다음과 같은 것이 있습니다.
- 순차 데이터 세트 및 파티션 데이터 세트 이동 또는 복사
- 다중 볼륨 데이터 세트 이동 또는 복사
- 데이터 세트의 전체 볼륨 이동
표면적으로는 IEHMOVE가 IEBGENER 및 IEBCOPY 유틸리티에 용장성을 나타내는 경우가 있습니다.그러나 IEHMOVE가 더 강력합니다.IEHMOVE 를 사용하는 주된 장점은, 새로운 데이터 세트에 대해서 공간이나 DCB 정보를 지정할 필요가 없다는 것입니다.이는 IEHMOVE가 기존 데이터 세트를 기반으로 이 정보를 할당하기 때문입니다.
IEHMOVE의 또 다른 장점은 전체 데이터 볼륨뿐만 아니라 데이터 세트의 그룹도 복사 또는 이동할 수 있다는 것입니다.IEHMOVE 유틸리티는 데이터 세트 또는 볼륨의 그룹 이동이 용이하기 때문에 일반적으로 시스템 프로그래머가 선호합니다.
IEHMOVE 작업의 예:
//스텝네임 EXEC PGM=동작,팜='LINECNT=xx,POWER=n' //시스템 프린트DD시스템 출력=학급 //시스템 1DD구성 단위=아아아.,볼륨=서버=bbbbb,디스패치=늙은 //anyname1DD구성 단위=ccc,볼륨=서버=Dddddd.,디스패치=늙은 //anyname2DD구성 단위=으으으으으으으으으으으으으으으으으으으.,볼륨=서버=흐릿하다,디스패치=늙은 //시스템DD...
SYSPRINT 및 SYSIN 이외의 IEHMOVE의 DD 문장은 개별 데이터 세트가 아닌 DASD 또는 자기 테이프 볼륨을 나타냅니다.그러나 볼륨을 참조하는 것은 문제가 될 수 있습니다.DISP=OLD
볼륨에 대한 배타적 액세스 권한을 얻습니다.따라서 IEHMOVE 작업이 실행되는 동안에는 전체 볼륨(및 볼륨 상의 모든 데이터 세트)을 다른 사용자가 사용할 수 없습니다.이는 테이프나 마운트 가능한 DASD 볼륨과 같은 개인 볼륨에서는 허용되지만, 공용 볼륨에서는 허용되지 않습니다.
SYSUT1 DD문은 IEHMOVE에 필요한 3개의 작업 데이터 세트가 할당된 DASD 볼륨을 지정합니다.이 DD 문에 대한 단위 및 볼륨 정보를 지정해야 합니다.
IEHMOVE는 PL/S에서 최초로 개발된 시스템 중 하나였습니다.
이 예에서는 세 개의 순차 데이터 세트(SEQSET1, SEQSET2 및 SEQSET3)가 하나의 디스크 볼륨에서 세 개의 개별 디스크 볼륨으로 이동됩니다.3개의 수신 볼륨 각각은 IEHMOVE에 의해 필요할 때 마운트됩니다.원본 데이터 세트는 카탈로그화되지 않습니다.공간은 IEHMOVE에 의해 할당됩니다.
//이동했다 일 ... //순서 1 EXEC PGM=동작 //시스템 프린트DD시스템 출력=A //시스템 1DD구성 단위=디스크,용량=서버=333333,디스패치=늙은 //DD1DD구성 단위=(디스크,,연기하다),디스패치=늙은, // 용량=(사적인,,서버=(222222)) //DD2DD구성 단위=(디스크,,연기하다),디스패치=늙은, // 용량=(사적인,,서버=(222333)) //DD3DD구성 단위=(디스크,,연기하다),디스패치=늙은, // 용량=(사적인,,서버=(222444)) //DD4DD용량=(사적인,유지하다,서버=(444444)), // 구성 단위=디스크,디스패치=늙은 //시스템DD* DSNAME=SEQSET1, 이동TO=disk=22222,FROM=disk=44444 DSNAME=SEQSET2, 이동TO=disk=222333,FROM=disk=44444 DSNAME=SEQSET3, 이동TO=disk=222444,FROM=disk=44444 /*
IEHPROGM
IEHPROGM은 시스템 제어 데이터를 구축 및 유지합니다.또한 데이터 세트의 이름 변경 및 스크래치(삭제)에도 사용됩니다.
IEHPROGM에서 수행할 수 있는 작업에는 다음과 같은 것이 있습니다.
- 데이터 세트 또는 PDS 멤버 삭제(스크래치)
- 데이터 세트 또는 PDS 멤버 이름 변경
- 데이터 세트의 카탈로그 작성 또는 카탈로그 해제
- 시스템 PASSWORD[c] 데이터 집합 암호 유지 관리
카탈로그 작성:
//시스템DD* CATLG DSNNAME=data-set-name, VOL=device-name=볼륨 번호 /* //
시스템
테이프 에러의 SMF 레코드를 선택해 포맷 합니다.
독립 유틸리티
이러한 프로그램은 운영 체제의 제어 하에 실행되지 않습니다.
IBCDASD
직접 액세스 볼륨을 포맷하고 대체 트랙을 할당합니다.
IBCDMPRS
직접 액세스 볼륨을 덤프 및 복원합니다.
IBCRCVRP
대체 트랙 할당, 데이터 복구 및 교체
ICAPRTBL
프린터에 Forms Control Buffer(FCB) 및 Universal Character Set(UCS) 버퍼를 로드합니다.
서비스 지원
이는 IBM이 서비스 보조 장치 또는[4] 진단 설명서에 문서화하는 유틸리티 프로그램입니다.원래의 OS/360 Service 에는 IFC 와 IM* 로 시작하는 이름이 붙어 있었지만, IBM 에서는 OS/VS1 의 경우는 HM* 로, OS/VS2 의 경우는 AM* 로 명명 규칙을 변경했습니다.IFC 규칙은 변경되지 않았습니다.
IFCDIP00
SYS1을 초기화합니다.LOGREC 데이터 세트
IFCEREP0
SYS1에서 레코드를 요약하여 인쇄합니다.데이터 세트를 기록하는 LOGREC 오류입니다.
GTF(Generalized Trace Facility)
SVC 및 I/O 중단과 같은 선택한 시스템 이벤트를 추적합니다.
아이맵트
PTF에 적용하기 위해 필요한 JCL을 생성하거나 PTF를 적용합니다.이 프로그램의 기능은 SMP에 포함되어 있습니다.
IMASPZAP
로드 모듈, 프로그램 개체 또는 디스크 파일의 명령 및/또는 데이터를 확인 및/또는 바꿉니다.
리스트
객체 모듈, 로드 모듈, 프로그램 객체 및 CSECT 식별 레코드를 포맷 및 인쇄합니다.
IMBMDMAP
로드 모듈을 맵합니다.이 프로그램의 기능은 IMBLIST에 포함되어 있습니다.
IMCJQDMP
시스템 작업 대기열을 포맷 및 인쇄하는 독립 실행형 프로그램.MVS에는 적용되지 않습니다.
IMCOSJQD
시스템 작업 대기열을 포맷하고 인쇄합니다.MVS에는 적용되지 않습니다.
IMDPRDMP
코어 덤프, TSO 스왑 데이터 세트 및 GTF 트레이스 데이터를 포맷 및 인쇄합니다.
IMDSADMP
메인 스토리지의 고속 덤프 또는 저속 덤프를 생성하는 스탠드아론 프로그램.
기타 지원 프로그램
정렬
정렬/머지 유틸리티는 파일의 레코드를 지정된 순서로 정렬하거나 미리 정렬된 파일을 병합하는 프로그램입니다.이는 매우 자주 사용되며 메인프레임 상점에서 가장 일반적으로 사용되는 응용 프로그램입니다.최신 정렬/머지 프로그램에서는 특정 레코드를 선택 또는 생략하고 레코드를 요약하고 중복을 제거하며 레코드를 다시 포맷하고 간단한 보고서를 생성할 수도 있습니다.정렬/병합은 IBM 메인프레임용 자체 정렬/병합 패키지를 판매하는 여러 회사가 있을 정도로 중요합니다.
IBM의 원래 OS/360 정렬/병합 프로그램인 360S-SM-023, 프로그램 이름 IERRCO00(일명 SORT)은 IBM의 1세대 DASD([d]직접 액세스 스토리지 장치) 및 테이프(2400)만 지원했습니다.2세대 디스크 드라이브에 대한 지원은 5734-SM1 및 이후 5740-SM1(DFSORT, ICEMAN, SORT라고도 함)과 같은 IBM 프로그램 제품에서 제공되었습니다.
SORT는 자주 스탠드아론 프로그램으로 실행되며, 보통 DD에서 식별된 파일에서 입력을 읽습니다.SORTIN
정렬된 출력을 DD에 의해 식별된 파일에 씁니다.SORTOUT
또한 COBOL을 통해 다른 응용 프로그램에서 호출되기도 합니다. SORT
PL/I에 대한 동사 또는 호출 PLISRTx
다음 중 하나를 사용할 수 있는 루틴SORTIN
또는SORTOUT
파일 또는 전달된 레코드를 발신자가 정렬하거나 정렬된 레코드를 발신자에게 한 번에 하나씩 전달합니다.
SORT의 작동은 다양한 IBM 및 타사 정렬 프로그램 간에 대부분 호환되는 control 문에 의해 지시됩니다.그SORT
또는MERGE
statement는 데이터를 정렬 또는 Marge하는 필드인 정렬 키를 정의합니다.이 문은 각 키의 위치, 길이 및 데이터 유형을 식별합니다.그RECORD
스테이트먼트는 입력 파일 내의 레코드의 형식과 길이를 나타냅니다.다른 문을 사용하면 정렬에서 포함하거나 제외할 레코드를 지정하고 데이터에 대해 수행할 다른 변환을 지정할 수 있습니다.
키는 EBCDIC 또는 ASCII 문자 데이터, 구역화 또는 패킹된 10진수, 부호화 또는 부호화되지 않은 고정 소수점 이진수 또는 16진수 부동 소수점 데이터의 임의 조합입니다.키는 레코드 내의 임의의 장소에 배치할 수 있으므로 연속할 필요는 없습니다.키별 [5]오름차순과 내림차순의 임의의 조합으로 정렬을 지정할 수 있습니다.
OS/360 정렬 프로그램인 IERRCO00은 입력 데이터를 섹션으로 나누고 메인 메모리의 각 섹션을 정렬한 후 정렬된 섹션을 DASD(Direct-Access Storage Device) 또는 자기 테이프의 중간 데이터 세트에 쓰는 방식으로 작동합니다.그런 다음 최종 병합 단계를 통해 섹션을 병합하여 정렬된 출력을 생성합니다.SORT는 여러 가지 기술 중 하나를 사용하여 섹션을 보조 스토리지 디바이스 간에 분산합니다.일반적으로 SORT는 최적의 기술을 선택할 수 있지만 사용자가 [6]이를 재정의할 수 있습니다.SORT에는 중간 저장소가 테이프인 경우 사용할 수 있는 세 가지 기술과 [7]Disk인 경우 사용할 수 있는 두 가지 기술이 있습니다.
테이프 기술은 다음과 같습니다.
- Balanced (BALN) - 중간 스토리지에 사용할 수 있는 테이프 드라이브가 많을수록 효율화됩니다.
- Polyphase (POLY) - 중간 스토리지에 사용할 수 있는 테이프 드라이브의 수가 적은 경우에 사용합니다.
- 진동(OSCL) - 메인 스토리지를 더 많이 사용합니다.입력 데이터 집합의 크기를 알고 있거나 근접하게 근사해야 합니다.
디스크 기술은 다음과 같습니다.
- Balanced Direct Access(BALN) - 3~6개의 중간 스토리지 데이터 세트를 사용합니다.
- CRCX(Crisscross Direct Access) - 6~17개의 중간 스토리지 데이터 세트를 사용하며, Balanced Direct Access 기술의 두 배의 메인 스토리지가 필요합니다.
링커
OS/360에는 Linked Editor만 있으며, 몇 가지 구성으로 제공됩니다.DFSMSdfp는 로드 모듈의 대체 수단으로서 바인더를 추가했습니다.또, 프로그램 오브젝트의 유일한 옵션으로서도 추가되고 있습니다.
링크 에디터
Linked Editor(링크 에디터)는 컨트롤 카드, 객체 모듈, 기타 로드 모듈의 조합에서 분할된 데이터 세트에 로드 모듈을 만들고 대체합니다.제어 섹션(CSECT)의 이름을 바꾸거나 바꿀 수 있으며 다른 여러 가지 기능을 수행할 수 있습니다.원래 스토리지 요구사항에 따라 여러 구성으로 제공되었지만 E 레벨 Linked Editor는 더 이상 사용할 수 없으며 F 레벨 Linked Editor는 단순히 Linked Editor로 알려져 있습니다.z/OS에서 Linked Editor는 호환성을 위해서만 제공됩니다.
바인더
바인더는 연결 편집기와 동일한 기능을 수행합니다.또한 새로운 형식인 프로그램 오브젝트를 지원합니다.프로그램 오브젝트는 Partitioned Data Set Extended(PDSE; 분할 데이터 세트 확장)의 로드 모듈과 동일한 기능이며 많은 추가 기능을 갖추고 있습니다.
컴파일러
컴퓨터 숍에서 사용되는 각 프로그래밍 언어에는 소스 프로그램을 기계 언어 객체 모듈로 변환하는 하나 이상의 관련 컴파일러가 있습니다.다음으로 실행 가능한 로드 모듈을 작성하기 위해 컴파일러의 오브젝트 모듈을 링크 에디터 IEWL에 의해 처리해야 합니다.
IGYCRCTL은 컴파일러의 일반적인 예이며, 현재의 IBM Enterprise COBOL for z/OS 제품용 컴파일러입니다. (수년에 걸쳐 여러 개의 IBM COBOL 컴파일러가 다른 이름을 가지고 있었습니다.)그 밖에도 다양한 프로그래밍 언어용 컴파일러가 많이 있습니다.
IETASM
Assembler(E)는 매우 작은 기계에서 실행되는 OS/360용으로 설계되었습니다.
IEUASM
어셈블러(F)는, 통상의 OS/360 인스톨을 목적으로 하고 있습니다.
IFOX00
어셈블러(XF)는 OS/VS1 및 OS/VS2용 시스템 어셈블러로, 어셈블리(E) 및 (F)를 대체했습니다.다만, 이 어셈블러와 완전하게 호환되지는 않았습니다.IBM은 곧 어셈블러(XF)를 DOS 및 VM용 시스템 어셈블러로 만들었습니다.
IEV90
어셈블러(H) 및 어셈블러(H) 버전 2는 어셈블리러 E, F 및 XF보다 일반적으로 빠른 프로그램 제품 어셈블러입니다. 단, 어느 것과도 완전히 호환되지는 않습니다.
ASMA90
IBM HLASM(High Level Assembler)은 기본적으로 어셈블러(H) 버전 2의 새로운 버전으로, IBM이 z/OS 및 z/VM에서 지원하는 유일한 어셈블리러입니다.오래된 어셈블리와 완전히 호환되지는 않지만 모든 어셈블리를 대체합니다.
시스템 수정 프로그램(SMP)
시스템 수정 프로그램(SMP)은 OS/360 및 후속 제품에 서비스를 설치하고 독립 실행형 어셈블리, 링크 편집 및 IMAPTFLE 작업을 대체하기 위한 수단입니다.MVS/SP 이상에서는 옵션 기능인 이 기능이 필수이며, 프로그램 제품 버전인 SMP/E는 z/OS와 같은 최신 시스템에 포함되어 있습니다.
메모들
레퍼런스
- ^ a b IBM System/360 Operating System: Utilities (PDF) (Twelfth ed.), IBM Corporation, June 1970, GC28-6586-11
OS Utilities - Program Numbers 360S-UT-506 360S-UT-507 (PDF) (Sixteenth ed.), IBM Corporation, April 1973, GC28-6586-15 - ^ IBM System/360 Operating System: Service Aids OS Release 21 (PDF) (Third ed.), IBM Corporation, March 1972, GC28-6719-2
- ^ MVS/Extended Architecture Conversion Notebook (PDF) (Third ed.), May 1984, p. 1-1, GC28-1143-2
- ^ z/OS MVS Diagnosis: Tools and Service Aids Version 2 Release 3 (PDF), IBM Corporation, July 20, 2018, GA32-0905-30
- ^ IBM Corporation. DFSORT Application Programming Guide (PDF). Retrieved March 28, 2017.
- ^ OS Sort/Merge Program Program Number 360S-SM-023 OS~Release 21 (PDF) (Ninth ed.). IBM Corporation. February 1973. p. 17. GC28-6543-8.
If you find that for a particular sort/merge application, the sort/merge program does not choose the most efficient technique, you can request sort to use another technique.
- ^ IBM Corporation (1973). OS Sort/Merge Program Program Number 360S-SM-023 OS~Release 21 (PDF). Retrieved April 2, 2018.