채널 프로그램 실행

Execute Channel Program

IBM메인 프레임 운영 체제에서, Execute 채널 프로그램(EXCP)은 매크로가 프로그래머 기기 고유의 명령(CCWs)—to/O채널, 제어 장치 및 장치에 의해 실행되어 진 채널program—a 목록을 제공할 책임이 있 낮은 수준의 장치 액세스를 위한 시스템 호출, 감리인 콜 지침이나 구현된 경우 발전.[1][2]OS/360 후계자[3][4] 위한 EXCP는 OS 시스템 프로그래머 설명서에 자세히 설명되어 있다.[5]DOS/360 후임자[6] 위한 EXCP는 DOS 슈퍼바이저 및 I/O 매크로에 더 구체적으로 설명되어 있다.[7][8]이 글은 OS/360 ~ z/OS를 주로 반영하며, TOS/360 및 DOS/360 ~ z/SSE의 경우 일부 세부사항이 다르다.

데이터 집합 지정

EXCP를 사용하면 레거시 장치와 레거시 데이터셋을 비교적 높은 성능으로 운영할 수 있다.EXCP 장치는 OS의 데이터 제어 블록(DCB)과 DOS의 DTFPH를 지정하여 개방(즉, 응용 프로그램이 사용할 수 있도록 한다)된다.

I/O 작업 지정

OS/360 ~ z/OS의 경우, 프로그램은 EXCP에 입출력 블록(IOB)을 제공하며, 프로그램이 여러 IOB에 대해 EXCP를 실행하면 시스템은 요청된 순서대로 처리한다.DASD의 경우 IOB는 탐색 주소인 IOBSEEKEK를 MBBCCHR 형식에 포함하며, 여기서 M은 데이터 셀의 빈, CCH는 실린더와 헤드, R은 기록 번호다.

부록

포괄적인 부록[9] 목록(EXCP 컨텍스트에서 제외)을 통해 인증된[a] 프로그램이 많은 시스템 보안 및 데이터 무결성 검사를 재정의하거나 강화할 수 있다.이러한 부록의 대부분은 OS의 이전 인스턴스와의 호환성을 위해 지원되지만, MVS를 위해 여러 개의 기능이 수정 또는 확장되었다.부록은 DCB에서 모듈 이름 IGG019xx의 마지막 두 문자로 지정되며, 여기서 xx = WA ~ Z9를 포함한다.이러한 모듈 이름은 설치 작성 부록용으로 예약되어 있다.IGG019xx 형식의 다른 이름은 IBM 액세스 방법에 의해 사용되도록 예약되어 있다.[11]부록은 SYS1에 있어야 한다.SVCLIB(SYS1).OS의 SVS 이상의 인스턴스에서 LPALIB).

데이터 집합 무결성

일반적으로 프로그램이 EXCP를 위해 DCB를 열 때, OPEN은 관련 데이터 세트의 첫 번째 볼륨에 대해 각 익스텐트를 포함하는 DEB(데이터 익스텐트 블록)를 생성하지만, 병렬 마운트 OPEN의 경우 모든 볼륨에 대한 모든 익스텐트를 포함하는 DEB를 생성한다.각 DEB는 DCB에 전방 및 후방 체인으로 연결되며, EACP는 시스템 보안 대책으로 체인을 점검한다. DCB는 보호되지 않은 사용자 스토리지에 상주하는 반면, DEB는 보호되지 않은 시스템 스토리지인 서브풀 253에 상주하고, OS/VS1과 OS/VS2 EXCP는 DEBCHK를 사용하여 DEB가 오픈에 의해 생성되었음을 확인한다.DASD의 경우, EXCP는 IOB의 검색 주소가 범위 내에 있는지 확인하고, 예를 들어, 범위가 실린더인지 트랙 지향인지, 쓰기가 허용되는지 여부를 표시하기 위해 파일 마스크 설정을 사용한다. 이는 지정된 트랙(실린더)을 벗어난 탐색을 방지한다.프로그래머가 트랙(실린더)의 끝을 지나 읽으려고 하면 유닛 점검이 발생하고, 오류 복구는 현재 범위의 다음 트랙(실린더)으로 채널 프로그램을 다시 시작한다.작업이 범위를 초과하는 경우, EXCP는 범위 추가의 종료를 호출하여 IOB를 업데이트하고 EXCP에게 요청 재발급 또는 EXCP의 종료를 요청할 수 있다.

레거시 데이터셋만 해당

EXCP는 직접 액세스 스토리지 장치 액세스 방법과 혼동되기도 하지만 직접 액세스 스토리지 장치만을 위한 것은 아니며, 기존의 모든 장치 유형과 레거시 데이터셋 조직을 지원하는 범용 로우 레벨 장치 액세스 인터페이스다.모든 기기 유형과 모든 데이터셋 조직에 액세스하기 위해서는 공식적으로 지원되는 인터페이스는 아니지만 MVS/370 및 후속 OS 인스턴스에서 보다 일반적인 STARTIO(Start Input/Output Interface)를 사용할 수 있다.

직접 액세스 데이터셋에 대한 단순화된 운영

EXCP의 변형은 직접접속 저장소에만 접속하는 데 사용되는 XDAP(직접접접속 프로그램 실행)이며, 기존의 직접접속 저장 기록을 읽고 갱신하기 위해 제공된다.레코드를 추가하는 데 XDAP를 사용할 수 없지만, BSAM 또는 BPAM과 함께 XDAP를 활용할 수 있어 그러한 데이터셋에 레코드를 추가할 수 있으며, 여러 OS 구성요소는 XDAP를 이러한 방식으로 활용한다(Linking Editor, 특히 IEWL).

통신 장치 액세스

또한 ECP는 IBM 2701, 27022703 통신 컨트롤러와 IBM 370x 또는 Amdahl 470x 프런트 엔드 프로세서(및 각각의 후속 제품)가 에뮬레이터 모드(EP) 또는 분할 에뮬레이터 모드(PEP)로 작동하는 통신 장치에 액세스하는 데 사용될 수 있다.

감독자와 관계

EXCP의 프런트 엔드는 항상 Task Control Block(TCB) 모드, [12]EXCP는 Type 1 SVC이기 때문에 애플리케이션의 일반 모드.

MVS/370 및 OS의 후속 인스턴스에서는 EXCP 프로세서가 STARTIO를 호출하여 채널 프로그램의 실행을 예약한다.비록 EXCP 프로세서의 백앤드 항상 SR에 있Block[b]을 백앤드는지, 하며 이러한 부속 기관은 원래는 데 할 일을 하다 모드에 속하는 것에 나타나기 기능을 하기 위해 연결 부위들은 부록들 OS의 이전pre-MVS 인스턴스에 대하EXCP 구체적으로 위해 개발한 수 있에뮬레이션 코드가 포함되어 있mode,[12](SRB).igned.이러한 구별은 특정 롤 유어 소유 액세스 방법 및 응용프로그램을 MVS로 변환하는 것을 복잡하게 만들 수 있다.

채널 프로그램

시스템/360 채널 프로그램은 채널과 I/O 장치에 의해 실행되는 일련의 명령이다.채널 프로그램은 메인 저장소의 어느 곳에나 위치할 수 있다.채널 프로그램은 채널 명령어(CCW)의 시퀀스로, 채널 내 전송(Transfer In Channel, TIC)이라는 분기가 실행되지 않거나 채널이 상태 수식어를 반환하지 않는 한 순차적으로 실행될 수 있다.각 CCW는 다음과 같은 이중어(8바이트)이다.[13]

비트 0 7 8 31 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ 명령어는 명령어 필드의 저순 비트(0-7)에 정의되어 있다.고차 4(또는 6) 비트는 일부 명령의 경우 ''수정자'('M')이거나 무시된다.명령은 0100 - Sense 1000 - TIC(Transfer in Channel) 1100 - Read back --01 - Write --10 - Read --11 - Control이다.

데이터 주소(8-31)는 데이터를 전송할 주 스토리지 버퍼 영역의 24비트 주소다.

플래그 비트(32-36)는 다음과 같이 정의된다.

비트 아이디 이름 설명
32 CD 체인 데이터 다음 CCW에 지정된 저장 영역을 사용하여 이 명령을 계속하십시오.
33 CC 체인 명령어 이 명령이 완료되면 다음 순차 CCW 실행
CC 또는 CD가 설정되지 않은 경우, 채널 프로그램은 이 명령을 실행한 후 종료된다.
34 SLI 길이 표시 억제 이 명령에 대해 잘못된 길이 무시
35 스킵 건너뛰다 이 명령에 대한 데이터 전송 억제
36 PCI 프로그램 제어 중단 이 명령 실행이 시작될 때 인터럽트 생성

카운트 필드(48-63)는 이 명령에 의해 전송될 바이트 수를 나타낸다.

I/O 작업을 시작하는 모든 8비트의 명령은 장치에 전달된다."수정자 비트는 명령을 실행하는 방법을 장치에 명시한다."예를 들어 IBM 2305 DASD의 경우 쓰기 명령('MMMM01'BX)은 다음과 같은 값을 가질 수 있다.[14]

비트 값 16진법 설명
0001 1001 '19'X 집 주소 쓰기
0001 0101 '15'X 기록 0 쓰기
0001 0001 '11'X 지우기
0001 1101 '1D'X 쓰기 수, 키 및 데이터
0000 0001 '01'X 특수 개수, 키 및 데이터 쓰기
0000 0101 '05'X 데이터 쓰기
0000 1101 '0D'X 키 및 데이터 쓰기

메모들

  1. ^ 부록 사용에 대한 승인에는 다음과 같은 몇 가지 유형이 있다.
    • APF 인증 프로그램, 시스템 (0-7) 키 또는 감독자 모드에서 실행 중인 프로그램은 어떤 부록도 사용할 수 있다.
    • 프로그램은 접근 방법의 사용을 위해 OPEN에 의해 자동으로 선택되는 어떠한 부록도 사용할 수 있다.
    • prgram은 IEAAPP00에서 IPL 시간에 정의된 모든 부록을 사용할 수 있다.[10]
  2. ^ OS/360, OS/VS1 및 SVS에서는 SRB 모드가 없으며, 인터럽트가 비활성화된 상태에서 부록이 실행된다.

참조

DFSMSdfp
z/OS Version 2 Release 4 DFSMSdfp Advanced Services. IBM. August 2020. SC23-6861-40.
  1. ^ Reino Hannula (1974). Computers and Programming: A System/360-370 Assembler Language Approach. Houghton Mifflin. p. 431. ISBN 978-0-395-16796-0.
  2. ^ Gopal K. Kapur (1 January 1970). IBM 360 Assembler Language Programming. John Wiley & Sons. pp. 453–454, 456–459, 461. ISBN 978-0-471-45840-1.
  3. ^ Robert H. Johnson (June 1989). MVS: concepts and facilities. Intertext Publications. p. 558. ISBN 978-0-07-032673-6.
  4. ^ "Chapter 4. Executing Your Own Channel Programs" (PDF). z/OS Version 2 Release 4 DFSMSdfp Advanced Services (PDF). IBM. August 2020. pp. 151–210. SC23-6861-40.
  5. ^ IBM System/360 Operating System System Programmer's Guide (PDF). IBM. March 1967. C28-6550-2.
  6. ^ Gary A. Stotts (1 August 1990). DOS/VSE: Introduction to the Operating System. QED Information Sciences. p. 18. ISBN 978-0-89435-332-1.
  7. ^ DOS Supervisor and I/O Macros (PDF). IBM. GC24-S037-12.
  8. ^ IBM z/VSE Version 6 Release 1 System Macros User's Guide (PDF). IBM. 2015. SC34-2709-00.
  9. ^ DFSMSdfp, 페이지 199–200, EXCPEXCPVR 부록.
  10. ^ DFSMSdfp, 공인 부록 목록(IEAAPP00), pp=201-202.
  11. ^ IGG = I/O 지원 구성요소 접두사, 019 = 개방 SVC 하위 구성요소, xx = 하위 기능
  12. ^ a b Software AG. "Natural zIIP Processing: TCBs, SRBs and Enclaves". Retrieved Mar 22, 2021.
  13. ^ IBM Corporation (January 1967). IBM System/360 Principles of Operation (PDF). pp. 84–121. Retrieved Dec 4, 2019.
  14. ^ IBM Corporation (August 1971). Reference Manual for IBM 2835 Storage Control and IBM 2305 Fixed Head Storage Module (PDF). p. 17. Retrieved Dec 5, 2019.