IUCV
IUCVIUCV(Inter User Communication Vehicle)는 IBM VM 운영 체제 제품군의 데이터 전송 메커니즘입니다.1980년에 [1]VM/SP Release 1에서 도입되었습니다.
이를 통해 두 가상 시스템 간 또는 가상 시스템과 하이퍼바이저 서비스 간에 포인트 투 포인트 통신 채널을 설정할 수 있습니다.실제로 IUCV는 나중에 분산 시스템에서 출현한 네트워크에 연결된 물리적 시스템 간의 클라이언트/서버 상호 작용을 예상하는 가상 시스템 간의 메시지 기반 상호 작용 형식을 제공합니다.
IUCV는 CP(VM 하이퍼바이저)에 의해 구현되며 세션 확립, 메시지 전달 및 흐름 제어의 모든 측면을 제어합니다.
IUCV의 기본
IUCV 초기화 중
가상 시스템이 IUCV 서비스를 사용하려면 먼저 CP가 보류 중인 정보 또는 상태에 대한 정보를 저장할 수 있는 주소 공간 내의 영역 주소를 표시해야 합니다.그 때문에,DECLARE BUFFER
메서드를 먼저 호출해야 합니다.
IUCV 패스
IUCV 용어로는 2개의 엔드 포인트 간의 세션을 PATH라고 부릅니다.각 끝에서 세션 끝을 소유하는 가상 시스템과만 관련된 경로 ID로 식별됩니다.경로는 항상 연결된 채널입니다. 즉, 연결 없는 경로는 없습니다.
경로 설정
경로를 설정하려면 시작 중인 가상 시스템이CONNECT
방법을 지정하고 경로 대상 ID를 지정합니다. 경로 대상 ID는 다른 가상 시스템 이름 또는 CP 시스템 서비스 이름(모두 '*'자로 시작됨) 중 하나이며, 이 ID는 가상 시스템 이름 내에 올바른 문자가 아닙니다.
타겟이 IUCV 자체를 초기화하고 있는 경우, 타겟은 보류중의 착신 패스 접속을 통지받고, 그 후, 다음의 어느쪽인가를 사용할 수 있습니다.ACCEPT
method - 경로 확립 완료 - 또는SEVER
method - 보류 중인 경로를 효과적으로 닫습니다.
패스가 확립되면 메시지는 2개의 패스엔드포인트 간에 전달될 수 있습니다.
IUCV 메시지
IUCV 메시지에는 경계선이 있습니다.즉, 시작과 끝이 있습니다.엔드포인트의 경로에 여러 메시지가 보류 중인 경우 IUCV는 메시지를 병합하지 않습니다.
메시지는 를 사용하여 경로로 전송됩니다.SEND
방법.그러면 다른 엔드 포인트는 다음 명령어를 사용하여 메시지를 수신할 수 있습니다.RECEIVE
방법.원래 메시지도 응답을 요구했을 경우 수신 엔드 포인트는REPLY
그 회신을 송신 방법.
흐름 제어
하나의 경로에 여러 개의 메시지를 보류 상태로 만들 수 있습니다.경로에 대해 허용되는 보류 중인 메시지 수는 경로 설정 중에 지정되지만 65535를 초과할 수 없습니다.보류 중인 메시지 제한에 도달한 경로로 메시지를 보내려고 하면 오류가 발생합니다.
일시정지 및 재개
를 사용하여 데이터 전송을 일시 중단할 수 있습니다.QUIESCE
방법.패스가 일시정지되어 있는 동안에는 다음 메시지가 전송될 때까지 패스상에서 메시지 전송은 허용되지 않습니다.RESUME
메서드는 처음에 경로를 일시 중단한 가상 시스템에서 호출됩니다.
폴링
가상 시스템은 다음을 사용하여 IUCV 알림을 폴링할 수 있습니다.TEST MESSAGE
그리고.TEST COMPLETION
방법들.보류 중인 항목이 없으면 가상 시스템은 추가 정보를 사용할 수 있을 때까지 기다립니다.
명시적 경로 종단
어느 하나의 엔드 포인트가 발행하는 경우,SEVER
패스가 절단(비활성) 상태가 되어 다른 쪽 엔드 포인트에 통지됩니다.이 시점에서는 경로에서 새 메시지는 허용되지 않지만 다른 엔드 포인트는 보류 중인 메시지를 계속 가져올 수 있습니다.다른 쪽 엔드 포인트에서도,SEVER
방법은 경로가 효과적으로 해체되는 것입니다.
암묵적인 경로 종단
경로는 다음과 같은 경우에 암묵적으로 닫힐 수 있습니다.
- 가상 시스템이 로그오프됨
- 가상 시스템이 재설정되었습니다.
- 가상 시스템은 다음을 사용하여 IUCV 작업을 종료합니다.
RETRIEVE BUFFER
방법
어느 경우든 경로의 다른 쪽 끝에서는 동작은 명시적인 경로 종료와 동일합니다.
IUCV 사용
B2F0 명령
IUCV 메서드는 'B2F0'x 명령을 사용하여 호출됩니다.이 명령은 가상 슈퍼바이저 상태(예: 게스트슈퍼바이저)에서 호출해야 합니다.또는 Operation Exception 프로그램 인터럽트가 생성됩니다.이 명령은 CP에 의해 IUCV 요청으로 해석됩니다.
IPARML
IPARML은 Iucv PARaMeter 목록입니다.메서드 파라미터뿐만 아니라 호출되는 메서드를 설명하는 컨트롤 블록입니다.B2F0 명령이 완료되면 일부 필드는 B2F0 명령 완료 상태를 나타내기 위해 CP에 의해 변경됩니다.
통지
CP는 외부 인터럽트 코드 X'4000'을 가상 시스템에 보류 상태로 만들어 보류 중인 메시지 또는 상태 정보를 가상 시스템에 알립니다.인터럽트가 발생하면 보류 상태에 대한 정보는 에 의해 지정된 주소 위치에서 사용할 수 있습니다.DECLARE BUFFER
방법.
매크로
CP 매크로
CP는 특정 매크로(IUCV)를 가지고 있으며, 이 매크로(IUCV)는 이러한 방법과 관련된 파라미터에 대한 세부사항을 디폴트하거나 충돌 여부를 확인할 수 있도록 IPARML의 명령 및 채우기를 포함하여 적절한 코드를 생성한다.
CMS 매크로
CMS는 IUCV 애플리케이션 요청을 처리하도록 만들 수 있습니다.CMS에는 여러 애플리케이션이 가상 머신 내에서 IUCV 기능을 공유할 수 있는 자체 IUCV 매크로(CMSIUCV) 세트가 있습니다.
허가
일부 IUCV 기능에 대한 액세스는 CP 디렉토리의 문(가상 시스템 및 해당 사양 목록)에 의해 제어됩니다.
가상 머신이 다른 모든 가상 머신으로부터의 통신을 받아들이도록 허가할 수 있습니다.IUCV ALLOW
디렉토리 스테이트먼트 또는 다른 가상 머신과의 통신 패스를 확립합니다.IUCV ANY
진술.IUCV 문에 가상 시스템 이름을 지정하여 가상 시스템이 다른 특정 가상 시스템에 대한 경로 연결 요청을 발행하도록 허용할 수도 있습니다. 예를 들어 다음과 같습니다.IUCV TARGETVM
디폴트로는 사용자는 항상 자신에게 접속할 수 있습니다.
IUCV 문은 IUCV 연결에 대한 CP에 의한 접근컨트롤을 제어합니다.또한 가상 시스템은 연결 시도를 거부하여 자체 액세스 제어를 적용할 수 있습니다.
IUCV 사용 예시
CP 시스템 서비스
CP 시스템 서비스는 가상 시스템 자체는 아니지만 가상 시스템이 하이퍼바이저 기능을 비동기적으로 수행하거나 특정 하이퍼바이저 설비에 액세스할 수 있도록 하는 IUCV 엔드포인트입니다.
몇 가지 예는 다음과 같습니다.
- *MSG : 메시지시스템 서비스.가상 시스템이 IUCV 특정 가상 시스템 콘솔 출력(예: 'CP MESSAGE' 또는 콘솔 I/O)을 통해 수신할 수 있습니다.이는 PROP(PROGraphible OPerator) 또는 풀스크린 CMS와 같은 VM 서브시스템에서 사용됩니다.
- *SPL : spool 파일에 비동기적으로 액세스할 수 있습니다.RSCS(Remote Spool Communication Subsystem)는 이 시스템 서비스를 사용하는 응용 프로그램의 예입니다.
GCS
VM의 GCS(Group Control System)는 IUCV를 사용하여 가상 머신 간의 공유 메모리 영역 유지보수를 수행합니다.암시적 경로 종료를 사용하면 GCS 복구 가상 시스템은 그룹에 들어갔지만 예기치 않게 이탈한 가상 시스템에 의해 공유 영역에 유지된 잠금이 올바르게 해제되도록 보장할 수 있습니다.
VM TCP/IP
VM TCP/IP(VM용 TCP/IP 스택)는 IUCV를 사용하여 가상 시스템이 소켓 작업을 수행하도록 허용하거나 가상 시스템이 네트워크 인터페이스 역할을 하여 자신과 TCP/IP 스택 간에 전체 프레임 또는 데이터그램을 전달할 수 있도록 합니다.Linux의 S/390 및 z/Architecture 구현에서는 이 기능을 사용하여 VM TCP/IP 스택에 네트워크 인터페이스를 구현합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Thompson, Samuel A. "Using IUCV in CMS" (PDF). SHARE. Retrieved Aug 17, 2019.