VM(운영 체제)

VM (operating system)
z/VM
VM mascot - teddy bear.png
개발자IBM
OS 패밀리VM 패밀리
동작 상태현재의
소스 모델1972-1986 오픈소스, 1977-현재 클로즈드소스
초기 릴리즈1972년; 50년 전 (2012년)
최신 릴리즈IBM z/VM V7.2 / 2020년 9월 16일, 22개월 전(2020-09-16)
마케팅 대상IBM 메인프레임 컴퓨터
이용가능기간:영어
플랫폼System/370, System/390, zSeries, IBM zEnterprise 시스템
면허증.1972년~1981년 퍼블릭 도메인, 1976년~현재 소유권
공식 웹사이트www.vm.ibm.com
VM/370 Release 6 기본 로그인 화면.

VM(종종 VM/CMS)은 IBM 메인프레임 System/370, System/390, zSeries, System z 및 호환 시스템에 사용되는 IBM 가상 시스템 운영 체제 제품군으로, 개인용 컴퓨터용 헤라클레스 에뮬레이터를 포함합니다.

다음 버전이 알려져 있습니다.

가상 머신 퍼실리티/370
1972년에 출시된 VM/370은 이전 CP/CMS 운영 체제를 시스템/370으로 재실장했습니다.
VM/370 기본 시스템 확장 프로그램 제품
VM/BSE(BSEPP)는 VM/370에 대한 확장 기능으로, 더 많은 디바이스(3370 타입의 고정 블록 아키텍처 DASD 드라이브 등), CMS 환경 개선(개선된 에디터 등) 및 CP에 대한 안정성 향상 기능을 추가합니다.
VM/370 시스템 확장 프로그램 제품
VM/SE(SEP)는 VM/370의 확장 기능으로 VM/BSE의 기능과 몇 가지 추가 수정 및 기능이 포함되어 있습니다.
가상 머신/시스템 제품
마일스톤 버전인 VM/SP는 VM/370,[1] VM/BSE 및 VM/SE를 대체합니다.릴리스 1에서는 EXEC2 및 XEDIT System Product Editor, 릴리스 3에서는 REXX, 릴리스 6에서는 공유 파일 시스템이 추가되었습니다.
가상 머신/시스템 제품의 하이 퍼포먼스 옵션
VM/SP HPO는 VM/SP에 디바이스 지원 및 기능을 추가하여 16MB 이상의 실제 스토리지를 사용할 수 있는 특정 S/370 머신(최대 64MB)을 지원합니다.이 버전은 여러 S/370 게스트를 동시에 실행하는 사용자를 대상으로 하고 있습니다.[3]
가상 머신/확장 아키텍처 이행 지원 자료
VM/XA MA는 MVS/370에서 MVS/XA로의 이행을 용이하게 하는 것을 목적으로 하고 있습니다.이것에 의해, 양쪽의 프로세서를 동시에 실행할 수 있습니다.
가상 머신/확장 아키텍처 시스템 퍼실리티
VM/XA SF는 기능과 퍼포먼스가 향상된 업그레이드된 VM/XA MA입니다.
가상 머신/확장 아키텍처 시스템 제품
VM/XA SF는 기능과 퍼포먼스가 향상된 업그레이드된 VM/XA MA로, S/370-XA를 지원하는 머신에서 VM/SP HPO를 대체하기 위해 제공됩니다.S/370 또는 S/370-XA 모드에서 실행할 수 있는 CMS 버전이 포함되어 있습니다.
가상 머신/엔터프라이즈 시스템 아키텍처
VM/ESA는 VM/SP, VM/SP HPO 및 VM/XA SP의 기능을 제공합니다.VM/ESA 버전 1은 S/370, ESA/370 또는 ESA/390 모드로 실행할 수 있습니다.S/370 XA 모드는 지원하지 않습니다.버전 2는 ESA/390 모드에서만 실행됩니다.S/370 버전은 이전 VM/SP HPO 코드베이스에 기반하고 ESA/390 버전은 최신 VM/XA 코드에 기반하기 때문에 VM/ESA의 S/370 지원 버전은 실제로는 ESA/390 버전과 다른 버전입니다.
z/VM[8]
z/VM은 메인프레임 [citation needed]시장의 주요 전체 가상화 솔루션 중 하나로 여전히 널리 사용되는 마지막 버전입니다. z/VM 4.4는 ESA/390 모드에서 실행될 수 있는 마지막 버전입니다. 이후 버전은 z/Architecture 모드에서만 실행됩니다.

이름의 CMS는 가상 머신에서 실행되고 VM에서 대화형 시간 공유를 제공하는 단일 사용자 운영 체제인 제품의 구성 요소인 대화형 모니터 시스템을 가리킵니다.

개요

VM 아키텍처의 핵심은 제어 프로그램 또는 하이퍼바이저 약칭 CP, VM-CP이며, 때로는 모호하게 VM을 의미합니다.물리적 하드웨어에서 실행되고 가상 시스템 환경을 생성합니다.VM-CP는 모든 I/O 및 기타 권한 있는 작업을 포함하여 물리 머신의 완전한 가상화를 제공합니다.디바이스 관리, 디스패치, 가상 스토리지 관리 및 기타 기존 운영 체제 작업을 포함한 시스템 리소스 공유를 수행합니다.각 VM 사용자에게는 자체 주소 공간, 가상 디바이스 등이 있는 개별 가상 시스템이 제공되며, 독립 실행형 시스템에서 실행할 수 있는 모든 소프트웨어를 실행할 수 있습니다.특정 VM 메인프레임에서 일반적으로 수백 또는 수천 개의 가상 머신 인스턴스를 실행합니다.VM-CP는 CP-67을 재실장하고 CP-40을 재실장하는 CP-370으로 시작되었습니다.

각 가상 시스템 내에서 실행되는 것은 또 다른 운영 체제인 게스트 운영 체제입니다.다음과 같은 경우가 있습니다.

  • CMS(Conversational Monitor System, Cambridge Monitor System of CP/CMS에서 이름이 변경된 Conversational Monitor System). 대부분의 가상 머신은 경량 단일 사용자 운영 체제인 CMS를 실행합니다.이 인터랙티브 환경은 파일 시스템, 프로그래밍 서비스, 디바이스 액세스, 명령줄 처리를 포함한 단일 사용자 PC와 동등합니다.(CMS의 이전 버전은 "메인프레임의 CP/M"이라고 불리지만, 비교는 시대착오적인 것입니다.CP/M의 저자인 Gary Kild는 CMS 사용자 경험이 있습니다.)
  • MVS API의 제한된 시뮬레이션을 제공하는 GCS(Group Control System)입니다.IBM은 원래 서비스 OS/VS1 가상 머신 및 VTAM Communications Network Application(VCNA) 없이 VTAM을 실행하기 위해 GCS를 제공했습니다.RSCS V2도 GCS에서 실행되었습니다.
  • 메인스트림 운영체제IBM의 주요 운영 체제(예: MVS, DOS/VSE 또는 TSS/370 제품군)는 수정 없이 로드 및 실행할 수 있습니다.VM 하이퍼바이저는 게스트 운영체제를 특별한 권한을 가진 애플리케이션 프로그램으로 취급합니다.이것에 의해, 게스트 운영체제는, 시스템 전체 또는 시스템의 중요한 부분을 애플리케이션에 맡길 수 있는 권한 있는 명령의 직접적인 사용을 금지합니다.단, 게스트 운영체제를 대신하여 권한 있는 명령을 시뮬레이트합니다.대부분의 메인프레임 운영체제는 운영체제의 권한을 침해하려는 일반 응용 프로그램을 종료합니다.VM 하이퍼바이저는 최신 System/390 및 System Z 시스템에서 하드카피 라인 모드 3215, 그래픽 3270 제품군 및 통합 콘솔과 같은 게스트 운영 체제용 여러 유형의 콘솔 터미널을 시뮬레이션할 수 있습니다.그런 다음 다른 사용자는 로그온 화면에서 DIAL 명령을 사용하여 실행 중인 가상 머신에 액세스할 수 있습니다. 그러면 해당 단말기가 사용 가능한 첫 번째 에뮬레이트된 3270 디바이스에 연결되거나 사용자가 타이프라이터 단말기에서 DIAL을 사용하는 경우 사용 가능한 첫 번째 2703 디바이스에 연결됩니다.
  • VM의 다른 복사본.두 번째 수준의 VM 인스턴스는 가상 시스템 내에서 완전히 가상화할 수 있습니다.VM의 개발과 테스트는 이렇게 이루어집니다(세컨드 레벨의 VM은 잠재적으로 하드웨어의 다른 가상화를 구현할 수 있습니다).이 기술은 S/370 하드웨어가 나오기 전에 S/370 소프트웨어를 개발하는 데 사용되었으며 IBM에서 새로운 하드웨어 개발에 지속적으로 역할을 수행해 왔습니다.이 문서에서는 가상화의 실제 예를 5단계 [9]깊이에서 인용하고 있습니다.상위 수준 이하의 VM도 애플리케이션으로 취급되지만 예외적인 권한이 부여됩니다.
  • AIX 또는 Linux 메인프레임 버전의 복사본입니다.메인프레임 환경에서 이러한 운영 체제는 VM에서 실행되는 경우가 많고 다른 게스트 운영 체제와 마찬가지로 처리됩니다(하드웨어에서 '원어민' 운영 체제로도 실행할 수 있습니다).단수명 IX/370뿐만 아니라 S/370 및 S/390 버전의 AIX(AIX/370 및 AIX/ESA)도 있었습니다.
  • 전용 VM 서브시스템입니다.VM-CP 가상 머신 내에서 CMS 이외의 여러 시스템이 실행되어 CMS 사용자에게 스풀링, 프로세스 간 통신, 특수 디바이스 지원, 네트워킹 등의 서비스를 제공합니다.이들은 백그라운드에서 작동하며 VM-CP 제어 프로그램을 추가하지 않고 CMS에서 사용할 수 있는 서비스를 확장합니다.별도의 가상 시스템에서 실행함으로써 다른 VM 사용자와 동일한 보안 및 안정성 보호를 받을 수 있습니다.예를 들어 다음과 같습니다.
    • RSCS(Remote Spooling and Communication Subsystem, 일명 VNET)– 가상 머신과 다른 시스템[10] 간의 통신 및 정보 전송 기능
    • RACF(Resource Access Control Facility) - 보안 시스템
    • 공유 파일 시스템(SFS) - 디렉토리 트리로 공유 파일을 정리합니다(서버의 이름은 일반적으로 "VMSERVx").
    • VTAM(Virtual Telecommunications Access Method) – Systems Network Architecture 네트워크를 지원하는 설비
    • PVM(VM/패스스루 퍼실리티)– 다른 VM 시스템에 대한 리모트 액세스를 제공하는 퍼실리티
    • TCPIP, SMTP, FTPSERVE, PORTMAP, VMNFS – VM/CMS에 TCP/IP 네트워킹을 제공하는 서비스 머신 세트
    • Db2 Server for VM – SQL 데이터베이스 시스템.서버의 이름은 "SQLMACH" 및 "SQLMSTR"과 비슷합니다.
    • Dirmaint – 심플한 사용자 디렉토리 관리 시스템(디렉토리는 가상 하드웨어 구성, 사용자 패스워드, 미니디스크 등 시스템상의 모든 계정의 목록입니다).
    • MUMP/VM - VM/370에서 [11]게스트로 실행할 수 있는 MUMP 데이터베이스 및 프로그래밍 언어 구현.MUMP/VM은 1987년에 도입되어 1991년에 [12]폐지되었습니다.
  • National CSS의 CSS나 Boston University의 VPS/VM사용자작성하거나 변경한 운영 체제.

하이퍼바이저 인터페이스

IBM은 360/65[13] 위해 하이퍼바이저라는 용어를 만들어 나중에 CP-67의 DIAG 핸들러를 위해 사용했습니다.


진단 명령('83'x: 니모닉 없음)은 원래 IBM이 "내장 진단 기능 또는 기타 모델 종속 기능"[14]을 수행하기 위해 의도한 권한 있는 명령입니다.IBM은 "가상 머신과 [15][16]CP 간의 통신"을 위해 DIAG의 용도를 변경했습니다.이 명령어에는 "진단 인터페이스에 전달된 오퍼랜드 스토리지 주소 또는 반환 코드를 포함할 수 있는 Rx 및 Ry"라는2개의 4비트 레지스터 번호와 "CP가 실행하는 [15]Diagnostic 함수를 결정하기 위해 사용하는"2바이트 코드가 포함됩니다.사용 가능한 진단 기능 중 몇 가지가 아래에 나열되어 있습니다.

16진수 코드 기능.
0000 확장 식별 코드 저장
0004 실제 스토리지 조사
0008 가상 콘솔 기능:CP 명령 실행
0018 표준 DASD I/O
0020 General I/O: 테이프 또는 디스크 디바이스에서 유효한 CCW 체인을 실행합니다.
003C VM/370 디렉토리를 업데이트합니다.
0058 3270 가상 콘솔 인터페이스—IBM 3270 단말기에서 전체 화면 I/O 수행
0060 가상 시스템 스토리지 크기 결정
0068 VMCF(Virtual Machine Communication Facility)

CMS의 Diagnostic 사용

한때 CMS는 실제 운영 체제로서 베어 머신 상에서 실행할 수 있었습니다(단, 이러한 구성은 흔치 않습니다).이제 VM에서 게스트 OS로만 실행됩니다.이는 CMS가 VM-CP에 대한 하이퍼바이저 인터페이스를 사용하여 파일 시스템 작업을 수행하고 다른 VM 서비스를 요청하기 때문입니다.다음 반가상화 인터페이스:

  • VM-CP로의 고속 경로를 제공하여 전체 시뮬레이션의 오버헤드를 방지합니다.
  • CP/CMS 릴리스 2.1의 성능 향상으로 처음 개발되었으며, CP 효율성의 중요한 초기 이정표이다.
  • CMS와 CP: DIAG(진단) 사이의 신호로 가상화되지 않은 모델 종속 기계 명령을 사용합니다.

미니디스크

사용자 MAINT(시스템 관리자)가 로그인한 후 CMS가 시작됩니다.

CMS 및 기타 운영체제는 실제 볼륨 크기보다 훨씬 작은 DASD 요건을 가지고 있는 경우가 많습니다.따라서 CP에서는 디바이스 용량까지 모든 크기의 가상 디스크를 정의할 수 있습니다.CKD 볼륨의 경우 미니디스크를 전체 실린더에 정의해야 합니다.미니디스크는 일반적으로 크기가 작고 각 미니디스크의 시작 부분이 실린더 또는 블록0에 매핑된다는 점을 제외하고 기본 실제 디스크와 동일한 속성을 가집니다.미니디스크는 실제 디스크와 동일한 채널 프로그램을 사용하여 액세스할 수 있습니다[a].

CMS 파일 시스템으로 초기화된 미니디스크를 CMS 미니디스크라고 하지만 CMS만 사용할 수 있는 시스템은 아닙니다.

이러한 게스트 운영 체제에서 사용할 풀볼륨 미니디스크를 정의하는 것이 일반적입니다.DEDICATE볼륨을 특정 가상 시스템에 할당합니다.또, 「풀 팩 링크」는, 시스템의 DASD 마다 정의되는 경우가 많아, MAINT 유저 ID 에 의해서 소유됩니다.DASD의 모든 내용이 테이프(또는 다른 DASD)에 정확하게 기록되는 DASD 덤프/복원 프로그램을 사용하여 시스템을 백업하기 위해 사용됩니다.

VM/370의 CMS 에디터로 COBOL 프로그램 소스 파일을 편집합니다.

공유 파일 시스템

VM/SP Release 6에서는 공유 파일 시스템이 도입되어 CMS 파일 스토리지 기능이 대폭 향상되었습니다.CMS 미니디스크파일 시스템은 디렉토리(폴더)를 전혀 지원하지 않지만 SFS는 지원하지 않습니다.또, SFS는 보다 세밀한 시큐러티도 도입하고 있습니다.CMS 미니 디스크를 사용하면 디스크에 대한 읽기 전용 또는 읽기/쓰기 액세스를 사용자에게 허용 또는 거부하도록 시스템을 구성할 수 있지만 단일 파일에서는 동일한 보안을 유지할 수 없습니다.SFS는 이를 완화하여 성능을 대폭 향상시킵니다.

SFS는 서비스 가상 머신에 의해 제공됩니다.최신 VM 시스템에서는 일반적으로 VMSERVR(실제로 파일을 제공하지 않는 '복구 머신'), VMSERVS(VMSYS 파일 풀용 서버), VMSERVU(사용자) 파일 [18]풀용 서버인 VMSERVU(VMSERVU)의 3가지가 필요합니다.파일 풀 서버 시스템은 일반적으로 CMS A-디스크(가상 디바이스 주소 191, 파일 풀 구성 파일을 포함하는), 제어 디스크, 로그 디스크 및 실제로 사용자 파일을 저장하는 임의의 수의 데이터 디스크를 포함하여 여러 개의 미니 디스크를 소유합니다.

VM/370 CMS에서 System/360 COBOL 컴파일러를 호출하여 프로그램을 로드하고 실행합니다.

최신 버전의 VM에서는 대부분의 시스템을 SFS에 설치할 수 있으며, 나머지 몇 개의 미니 디스크는 시스템 부팅에 절대적으로 필요한 디스크와 파일 풀 서버 머신에 의해 소유됩니다.

VM/370에서 실행되는 비 CMS 게스트 운영 체제의 예: DOS/VS 릴리스 34.DOS/VS 시스템은 로드를 계속하기 위해 슈퍼바이저 이름을 입력하도록 오퍼레이터에게 요구합니다.

사용자 계정이 SFS만을 사용하도록 구성되어 있고 미니디스크를 소유하지 않은 경우 사용자의 A-디스크는FILEPOOL:USERID.그 후 사용자가 작성한 디렉토리는 모두FILEPOOL:USERID.DIR1.DIR2.DIR3여기서 동등한 UNIX 파일 경로는/dir1/dir2/dir3. SFS 디렉토리는 미니디스크에 비해 훨씬 세밀한 접근컨트롤을 할 수 있습니다(위에서 설명한 바와 같이 읽기 패스워드, 쓰기 패스워드 및 멀티라이트 패스워드밖에 설정할 수 없습니다).또, 2명의 유저가 동시에 같은 CMS 미니 디스크에 기입했을 경우에 발생하는 문제도 해결됩니다(기입을 실행하는 CMS VM은, 다른 CMS 인스턴스가 미니 디스크에 기입하고 있는 것을 인식하지 않는 경우가 있습니다).

또한 파일 풀 서버 머신은 밀접하게 관련된 파일 시스템인 바이트 파일 시스템도 제공합니다.BFS 는, UNIX 형식의 파일 시스템에 파일을 보존하기 위해서 사용됩니다.주로 CMS용 VM OpenExtensions POSIX 환경에 사용됩니다.CMS 사용자 가상 머신 자체는 IUCV 메커니즘을 통해 SFS 서버 가상 머신과 통신합니다.[19]

역사

VM의 초기 역사는 CP/CMSCP/CMS의 역사 기사에 설명되어 있습니다. VM/370은 CP/CMS를 다시 구현한 것으로 1972년 IBM의 System/370 Advanced Function 발표(가상 메모리 하드웨어 및 운영 체제를 System/370 시리즈에 추가)의 일부로 제공되었습니다.VM/370 Release 6을 통한 VM의 초기 릴리스는 1981년까지 오픈 소스로 계속되었으며, 현재는 퍼블릭 도메인으로 간주되고 있습니다.이 정책은 1977년에 VM/SE 및 VM/BSE 업그레이드와 1980년에 VM/시스템 제품(VM/SP)으로 종료되었습니다.그러나 IBM은 프리 베이스를 제외한 모든 코드로 업그레이드하려면 라이센스가 필요했지만, 수년 동안 기존 코드에 대한 소스 형식의 업데이트를 계속 제공했습니다.CP-67과 마찬가지로 가상 머신의 특권 명령은 프로그램 중단을 유발하며 CP는 특권 명령의 동작을 시뮬레이션했습니다.

OS/VS1은 VM/370에서 시작됩니다.

VM는 IBM 내에서 운영 체제 개발 및 시분할 용도로 사용되는 중요한 플랫폼으로 남아 있었지만, 고객에게 VM은 IBM의 "기타 운영 체제"로 남아 있었습니다.OS 및 DOS 제품군은 IBM의 전략 제품으로 남아 있었고, 고객은 VM를 실행하도록 권장받지 못했습니다.이들은 긴밀한 업무 관계를 형성하여 초기 CP/CMS 사용자의 커뮤니티 지원 모델을 이어갔다.한편, 이 시스템은 다른 IBM의 노력과 비교하여 프로젝트에 어떤 리소스를 사용할 수 있어야 하는지에 대한 IBM 내부의 정치적 내분 때문에 어려움을 겪었습니다.시스템의 기본적인 문제는 IBM의 현장 영업 수준에서 확인되었습니다. VM/CMS는 일정 수의 시분할 사용자를 지원하는 데 필요한 하드웨어 양을 현저히 줄였습니다.IBM은 결국 컴퓨터 시스템을 판매하는 사업을 하고 있었다.

Melinda Varian은 VM의 예상치 못한 성공을 보여주는 다음과 같은 매력적인 인용문을 제공합니다.

VM/370의 마케팅 예측에서는 제품의 전체 수명 동안 168개 이상의 VM을 실행할 수 없을 것으로 예측했습니다.실제로 고객에게 납품된 최초의 168은 CP와 CMS만을 실행했습니다.10년 후에는 Pougkeepsie에서 출하되는 대형 프로세서의 10%가 VM을 실행할 수 있게 됩니다.또한 Endicot에 구축된 미드레인지 머신의 상당 부분이 VM을 실행할 수 있게 됩니다.15년이 지나기 전에는 MVS [20]라이센스보다 VM 라이센스가 더 많았습니다.

DASD Dump/Restore(DDR)를 사용하여 VM/370 시스템을 백업합니다.

XT/370(및 AT/370)에서 CMS를 실행하는 PC DOS 버전을 VM/PC라고 부릅니다.VM/PC 1.1은 VM/SP 릴리스 3에 근거하고 있습니다.IBM이 P/370 및 P/390 프로세서 카드를 도입했을 때 PC는 이제 VM/370, VM/SP, VM/XA 및 VM/ESA를 포함한 전체 VM 시스템을 실행할 수 있었습니다(이러한 카드는 S/370 및 S/390 메인프레임과 완벽하게 호환되며 31비트 운영 체제부터 모든 S/70 시스템을 실행할 수 있었습니다).

IBM은 기본 VM/SP 릴리스 외에도 VM/SP HPO(High Performance 옵션)를 도입했습니다.이 애드온(기본 VM/SP 릴리스에 설치됨)은 지원되는 모델(예: IBM 4381)에서 16MB 이상의 스토리지(RAM)를 사용할 수 있도록 하는 등 몇 가지 주요 시스템 설비를 개선했습니다.VM/SP HPO가 설치된 경우 새로운 제한은 64MB였지만 단일 사용자(또는 가상 시스템)는 16MB를 초과할 수 없었습니다.spool 파일 시스템의 기능도 개선되어 시스템 전체에서 9900이 아닌 사용자별로 9900개의 spool 파일을 생성할 수 있게 되었습니다.spool 파일 시스템의 아키텍처도 확장되어 각 spool 파일에 고유한 사용자 ID가 할당되었으며 판독기 파일 제어 블록이 가상 스토리지에 저장되었습니다.또, 특정의 유저가 벡터 퍼실리티에의 액세스를 거부하도록(사용자 디렉토리 [3]엔트리에 의해서) 시스템을 설정할 수도 있습니다.

VM/SP Release 1 이후 VM 릴리즈는 멀티프로세서 시스템을 지원했습니다.VM/370 버전(VM/SP 및 VM/SP HPO 등)은 최대 2개의 프로세서를 지원했으며, 시스템은 UP(유니프로세서) 모드, MP(멀티프로세서) 모드 또는 AP([21]접속 프로세서) 모드 중 하나로 운영되었습니다.AP 모드는 MP 모드와 동일하지만 두 번째 프로세서에 I/O 기능이 없습니다.VM의 시스템/370-XA 릴리스(VM/XA 등)는 더 많은 지원을 제공했습니다.시스템/390 릴리스(VM/ESA 등)는 제한을 거의 완전히 없앴으며, 일부 최신 z/VM 시스템은 최대 [22]80개의 프로세서를 탑재할 수 있습니다.정의된 프로세서의 VM당 제한은 64입니다.

IBM이 3081년에 System/370 Extended Architecture를 도입했을 때, 고객은 동일한 기계에서 MVS/XA를 테스트하는 동안 운영 MVS/370 시스템을 실행해야 했습니다.IBM의 솔루션은 VM/XA 마이그레이션 지원으로, 새로운 SIE(Start Interpreterptive Execution) 명령을 사용하여 가상 시스템을 실행했습니다.SIE는 일부 특권 명령을 자동으로 처리하여 처리할 수 없는 사례에 대해 CP로 반환했습니다.이후 3090년의 프로세서 리소스/시스템 매니저(PR/SM)도 SIE를 사용했습니다.VM/ESA 및 z/VM으로 대체되기 전에는 여러 VM/XA 제품이 있었습니다.

RSCS 네트워킹과 더불어 IBM은 사용자에게 VTAM 네트워킹도 제공했습니다.VM용 ACF/VTAM은 MVS 및 [23]VSE의 ACF/VTAM과 완전히 호환되었습니다.RSCS와 마찬가지로 VM 상의 VTAM은 특수한 GCS 운영체제 하에서 동작했습니다.그러나 VM는 TCP/IP 네트워킹도 지원했습니다.1980년대 후반에 IBM은 VM/SP 및 VM/[24]XA용 TCP/IP 스택을 생산했습니다.스택은 IPv4 네트워크 및 다양한 네트워크인터페이스 시스템(메인프레임 간 채널 간 링크, 토큰또는 이더넷네트워크에 트래픽을 릴레이하는 특수한 IBM RT PC 등)을 지원했습니다.이 스택은 단순한 회선 모드 터미널 에뮬레이터 또는 VT100 호환 에뮬레이터 또는 적절한 IBM 3270 터미널 에뮬레이터에서 Telnet 접속을 지원했습니다.스택은 FTP 서버도 제공했습니다.IBM은 VM용 NFS 서버(옵션)도 생산했습니다. 초기 버전은 다소 원시적이었지만 최신 버전은 훨씬 [25]더 고급입니다.

또한 VM/Pass-Through Facility(또는 일반적으로 PVM)라고 하는 네 번째 네트워킹 옵션도 있었습니다. PVM은 VTAM과 마찬가지로 원격 VM/CMS 시스템과 다른 IBM 시스템에 [26]연결할 수 있습니다.2개의 VM/CMS 노드가 채널 간 링크 또는 Bisync 링크(다이얼업모뎀 또는 전용회선 사용 가능)를 통해 링크되어 있는 경우 사용자는 VM 로그인 화면에서 "DIAL PVM"을 입력하고 시스템노드 이름을 입력하거나 사용 가능한 노드 목록에서 선택하여 두 시스템에 원격으로 연결할 수 있습니다.또는 CMS를 실행하는 사용자는 PVM과 함께 설치된 PASSUL 프로그램을 사용하여 사용자의 세션에서 로그아웃하지 않고도 원격 시스템에 빠르게 액세스할 수 있습니다.또한 PVM은 3x74 에뮬레이션 기술을 사용하여 비 VM 시스템에 대한 액세스를 지원했습니다.이후의 PVM 릴리스에서는 SNA 네트워크로부터의 접속을 받아들일 수 있는 컴포넌트도 탑재되어 있었습니다.

VM에서 사용할 수 있는 RSCS 시스템은 구현이 쉽고 신뢰성이 높은 단순한 네트워크를 제공했기 때문에 VM은 BITNET의 기반 운영 체제이기도 했습니다.VM 사이트는 서로 통신하는 각 VM 시스템에서 RSCS VM을 통해 상호 연결되었으며 사용자는 RSCS를 통해 메시지, 파일 및 배치 작업을 송수신할 수 있었습니다."NOTE" 명령에서는 XEDIT를 사용하여 사용자가 전자 메일을 보낼 수 있는 대화 상자를 표시했습니다.사용자가 다음 형식으로 주소를 지정한 경우user at node이메일 파일은 RSCS로 전송되고 RSCS는 타깃 시스템상의 타깃 사용자에게 전송됩니다.사이트에 TCP/IP 가 인스톨 되어 있는 경우, RSCS 는 SMTP 서비스 머신과 연동해 리모트시스템에 노트(이메일)를 전달해, 수신할 수 있습니다.사용자가 지정한 경우user at some.host.nameNOTE 프로그램은 SMTP 서비스 머신으로 이메일을 전송하고 SMTP 서비스 머신은 인터넷상의 수신처 사이트로 이메일을 전송합니다.

하드웨어의 진화가 프로세서 아키텍처의 큰 변화로 이어지면서 IBM 내에서 VM의 역할이 바뀌었습니다.이전 버전과의 호환성은 IBM 메인프레임 제품군에서 여전히 중요한 요소로 남아 있었습니다. IBM 메인프레임 제품군은 여전히 원래 System/360에 도입된 기본 명령 집합을 사용하지만 64비트 zSeries를 효율적으로 사용해야 하는 필요성이 VM의 접근 방식을 더욱 매력적으로 만들었습니다.VM는 DOS/VSE에서 MVS로 변환하는 데이터 센터에서도 활용되었으며 점점 더 중요해질 플랫폼인 메인프레임 AIX 및 Linux를 실행할 때 유용합니다.현재의 z/VM 플랫폼은 VM 사용자가 오랫동안 받아 마땅하다고 느꼈던 IBM 내부의 인정을 마침내 획득했습니다.일부 z/VM 사이트는 단일 시스템에서 수천 명의 가상 머신 사용자를 동시에 실행합니다. z/VM은 2000년 10월에[27] 처음 출시되었으며 현재 사용 및 개발 중입니다.

IBM과 타사에서는 VM에서 실행되는 많은 애플리케이션과 툴을 제공해 왔습니다.를 들어 RAMIS, FOCUS, SPSS, NOMAD, DB2, REXX, RACF, OfficeVision 등이 있습니다.현재 VM 오퍼링은 HTTP 서버, 데이터베이스 매니저, 분석 툴, 엔지니어링 패키지, 금융 시스템 등 메인프레임 애플리케이션 전반을 실행하고 있습니다.

CP 명령어

릴리스 6에서 VM/370 제어 프로그램에는 사용자의 가상 머신의 정의 및 제어와 관련하여 일반 사용자를 위한 여러 명령이 있습니다.명령어의 소문자 부분은 옵션입니다[28].

명령어 묘사
#CP 사용자가 브레이크 키를 누른 후 명령 환경 또는 다른 가상 시스템에서 CP 명령을 실행할 수 있습니다(기본값은 PA1).
애드스톱 특정 명령에 따라 가상 시스템을 중지하도록 주소 중지를 설정합니다.
송신하다 CP가 명령 환경에서 제어권을 장악할 수 있도록 주의 중단을 일으킵니다.
시작한다. 사용자의 가상 시스템 실행을 계속 또는 재개합니다(선택 사항).
바꾸다 스풀 파일의 속성을 변경합니다.예를 들어 출력 클래스 또는 파일 이름을 변경하거나 프린터 고유의 속성을 설정할 수 있습니다.
가까운. 열려 있는 프린터, 펀치, 리더 또는 콘솔 파일을 닫고 스풀링 시스템에 놓습니다.
커플링 가상 채널 간 어댑터(CTCA)를 다른 어댑터에 연결합니다.시뮬레이션된 QDIO 이더넷 카드를 가상 스위치에 연결하는 데도 사용됩니다.
CP CMS 환경에서 CP 명령 실행
디핀 현재 가상 시스템 구성을 변경합니다.가상 디바이스 추가 또는 사용 가능한 스토리지 크기 변경
분리하다 현재 구성에서 가상 디바이스 또는 채널을 제거합니다.
다이얼 로그온 화면의 터미널을 로그온한 다중 액세스 가상 시스템의 시뮬레이션된 3270 또는 타이프라이터 터미널에 연결합니다.
디스크 가상 시스템을 계속 실행하는 동안 터미널 연결 끊기
표시 가상 시스템 스토리지 또는 (가상) 하드웨어 레지스터 표시
버리다 스풀링된 가상 프린터에서 현재 가상 시스템의 스냅샷 덤프 인쇄
에코 입력된 행을 에코하도록 가상 시스템 설정
외부의 가상 시스템에 외부 인터럽트 발생
지시하다 현재 시스템 부하 또는 리소스 사용량 표시
IPL 가상 시스템에서 운영 체제를 IPL(부팅)합니다.
링크 다른 가상 시스템의 정의에서 공유를 허용하는 경우 해당 가상 시스템의 디바이스 연결
로드 VFCB 가상 프린터의 FCB(폼 제어 버퍼)를 지정합니다.
로그오프
로그아웃
현재 가상 시스템의 실행을 종료하고 시스템과의 연결을 끊습니다.
로그온
로그 인.
시스템에 서명합니다.
메세지
MSG
시스템 오퍼레이터 또는 다른 사용자에게 한 줄 메시지 보내기
통지하지 않다 가상 디바이스가 준비되지 않은 것으로 표시되도록 합니다.
주문 닫힌 스풀 파일을 ID 또는 클래스별로 정렬합니다.
퍼지 클래스, m ID 또는 ALL별로 디바이스의 닫힌 스풀 파일 삭제
쿼리 가상 시스템에 대한 상태 정보, 오늘의 메시지 또는 로그인한 사용자의 수 또는 이름 표시
준비가 되어 있습니다! 디바이스에 대한 디바이스 종료 인터럽트 발생
부탁한다 가상 콘솔에서 인터럽트 발생
리셋 디바이스의 보류 중인 인터럽트 모두 클리어
리와인드 실제(비가상) 자기 테이프 유닛 되감기
세트 메시징 또는 터미널 기능 키를 비롯한 가상 시스템의 다양한 특성 설정
수면. 가상 시스템을 무기한 또는 지정된 기간 동안 유휴 상태로 전환
SMSG 한 줄의 특수 메시지를 다른 가상 머신에 보냅니다(일반적으로 가상 머신의 동작을 제어하는 데 사용되며 RSCS에서 일반적으로 사용됨).
스풀 스풀링된 가상 디바이스(프린터, 리더 또는 펀치) 옵션 설정
가게 가상 시스템의 레지스터 또는 스토리지 내용 변경
시스템. 가상 시스템을 재설정 또는 다시 시작하거나 스토리지를 지웁니다.
태그 스풀링된 디바이스 또는 파일과 관련된 태그를 설정합니다.태그는 보통 VM의 RSCS(Remote Spooling Communications Subsystem)에서 파일 수신처를 식별하기 위해 사용됩니다.
종단 단말기의 특성 설정
추적하다 지정된 가상 시스템 작업의 추적 시작 또는 중지
갈아타다 다른 사용자와의 스풀 파일 전송
VMDUMP IPCS(Interactive Problem Control System) 프로그램 제품이 읽을 수 있는 형식으로 가상 시스템 덤프

Open Edition 확장 기능

IBM은 VM/ESA 버전 2부터 CMS에 POSIX 호환성을 제공하는 유료 옵션 기능인 OpenEdition for VM/ESA Shell and Utilities [29]기능을 도입했습니다.눈에 띄는 기능은 CMS용 UNIX 쉘이었습니다.이 UNIX 환경용 C 컴파일러는 VM/ESA용 C/370 또는 C에서 제공됩니다.CMS 파일 시스템 및 표준 VM 공유 파일 시스템은 UNIX 스타일의 파일 및 경로를 지원하지 않습니다. 대신 바이트 파일 시스템이 사용됩니다.SFS 파일 풀에 BFS 익스텐트가 생성되면 사용자는 다음 명령을 사용하여 BFS 익스텐트를 마운트할 수 있습니다.OPENVM MOUNT /../VMBFS:fileservername:filepoolname /path/to/mount/point사용자는 루트 파일 시스템도 마운트해야 합니다.OPENVM MOUNT /../VMBFS:VMSYS:ROOT/ /다음으로 셸을 시작할 수 있습니다.OPENVM SHELL일반 SFS와 달리 BFS 파일시스템에 대한 액세스는 POSIX 권한(chmod 및 chown 포함)에 의해 제어됩니다.

z/VM 버전 3부터 IBM은 OpenEdition을 z/VM에[30] 통합하고 OpenExtensions의 이름을 변경했습니다.OpenEdition 및 OpenExtensions는 [31]CMS에 대한 POSIX.2 컴플라이언스를 제공합니다.OpenExtensions 쉘에서 실행되도록 컴파일된 프로그램은 표준 CMS 실행 모듈과 동일한 형식으로 저장됩니다.3270 터미널은 사용할 수 없기 때문에 vi 의 Visual Editor를 사용할 수 없습니다.사용자는 vi 대신 ed 또는 XEDIT사용할 수 있습니다.

VM 마스코트

1980년대 초, SHARE(IBM 사용자 그룹) 의 VM 그룹은 커뮤니티가 채택할 마스코트 또는 로고를 모색했습니다.이는 부분적으로 IBM의 MVS 사용자들이 칠면조를 마스코트로 선택한 것에 대한 반응이었다(전설에 따르면, MVS의 성능이 골칫거리였던 초기 MVS Performance Group에 의해 선택되었다고 한다).1983년, 곰인형은 SHARE 60에서 VM의 사실상의 마스코트가 되었습니다.그때 곰인형 스티커가 "cuddlier oldtimers"의 이름 태그에 부착되어 "접근하면 친근하다"는 표시를 했습니다.곰들은 큰 인기를 끌었고 곧 [32]널리 나타났다.곰은 커뮤니티에 [33][34]"유용한 공헌"을 한 "VM 기사단" 수상자에게 수여되었습니다.

비판

VM은 MVS와 같은 경쟁 제품에 비해 상대적으로 가벼웠지만 초기에는 다소 불안정했습니다.VM/370 시스템을 1주일 이상 가동시키는 것은 대단한 업적이라고 생각되었습니다.또, 유저는 1980년대 중반의 다른 operating system에 디렉토리, 심볼릭 링크, 및 그 외의 주요한 기능이 있는 것을 지적했습니다.CMS는, 공유 파일 시스템을 도입해, 이러한 문제를 경감시킨 VM/SP 릴리스 6이 나온 1988년까지, 이러한 기능은 없었습니다.

또한 일부 사용자는 VM OpenEdition이 다소 "불필요"하다고 지적했습니다.

메모들

  1. ^ CMS는 CMS 파일 시스템에서 I/O에 DIAG를 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Elliott, Jim (August 17, 2004). "The Evolution of IBM Mainframes and VM" (PDF). Linux for S/390 Linux for Big Iron. SHARE Session 9140. Retrieved October 21, 2007.
  2. ^ VM/SYSTEM PRODUCT HIGH PERFORMANCE OPTION ANNOUNCED. Announcement Letters. IBM. October 21, 1981. ZP81-0805.
  3. ^ a b Virtual Machine/System Product High Performance Option Release 5 Guide (PDF). IBM. July 1987. SC23-0189-3.
  4. ^ VIRTUAL MACHINE/EXTENDED ARCHITECTURE MIGRATION AID. Announcement Letters. IBM. October 21, 1981. ZP81-0811.
  5. ^ VIRTUAL MACHINE/EXTENDED ARCHITECTURE (VM/XA) SYSTEMS FACILITY. Announcement Letters. IBM. February 12, 1985. 285-044.
  6. ^ VIRTUAL MACHINE/EXTENDED ARCHITECTURE SYSTEM PRODUCT (VM/XA SP) RELEASE 1 RELEASE 1. Announcement Letters. IBM. June 11, 1987. 287-239.
  7. ^ VIRTUAL MACHINE/ENTERPRISE SYSTEMS ARCHITECTURE VERSION 1 RELEASE 1.0 AND VERSION 1 RELEASE 1.1. Announcement Letters. IBM. September 5, 1990. 290-499.
  8. ^ z/VM V3R1 Enabled for 64-bit Architecture. Announcement Letters. IBM. October 3, 2000. 200-358.
  9. ^ Varian, Melinda (April 1991). "VM AND THE VM COMMUNITY: Past, Present, and Future" (PDF). p. 55.
  10. ^ Creasy, op. cit., 페이지 483 - RSCS의 역할.
  11. ^ "Two versions of MUMPS out". Computerworld. Vol. XXI, no. 48. November 30, 1987. Retrieved July 9, 2022.
  12. ^ "Licensed Products Migration Matrix for z/VM" (PDF). IBM. December 2, 2009. Retrieved July 9, 2022.
  13. ^ Gary R. Allred (May 1971). System/370 integrated emulation under OS and DOS (PDF). 1971 Spring Joint Computer Conference. Vol. 38. AFIPS Press. p. 164. doi:10.1109/AFIPS.1971.58. Retrieved June 12, 2022. The Hypervisor concept was relatively simple. It consisted of an addendum to the emulator program and a hardware modification on a Model 65 having a compatibility feature. The hardware modification divided the Model 65 into partitions, each addressable from 0-n. The program addendum, having overlaid the system Program Status Words (PSW) with its own, became the interrupt handler for the entire system. After determining which partition had initiated the event causing the interrupt, control was transferred accordingly. The Hypervisor required dedicated I/O devices fore each partition and, because of this, the I/O configurations were usually quite large, and, therefore, prohibitive to the majority of uses.
  14. ^ IBM System/370 Principles of Operation (PDF). IBM. 1987. p. 10-5. Retrieved August 17, 2019.
  15. ^ a b "DIAGNOSE Instruction in a Virtual Machine" (PDF). IBM Virtual Machine Facility/370: System Programmer's Guide (PDF) (Eighth ed.). IBM. March 1979. GC20-1807-7. Retrieved August 17, 2019.
  16. ^ "Chapter 1. The DIAGNOSE Instruction in a Virtual Machine" (PDF). z/VM Version 7 Release 2 CP Programming Services (PDF). IBM. August 12, 2020. p. 3. SC24-6272-04. In a real processor, the DIAGNOSE instruction performs processor-dependent diagnostic functions. In a virtual machine, you use the DIAGNOSE interface to request that CP perform services for your virtual machine. When your virtual machine attempts to execute a DIAGNOSE instruction, control is returned to CP. CP uses information provided in the code portion of the instruction to determine what service it should perform. Once this service is provided, control returns to the virtual machine.
  17. ^ VIrtual Machine/System Product CMS User's Guide Release 6 (PDF). IBM. July 1988. Chapter 4 (Using the Shared File System). SC19-6210-05.
  18. ^ "File Pool Server Machines" (PDF). CMS File Pool Planning, Administration, and Operation (PDF). z/VM 7.2. IBM. November 12, 2021. pp. 18--23. SC24-6261-02. Retrieved June 10, 2022.
  19. ^ "IUCV Overview". www.ibm.com. Retrieved July 31, 2022.
  20. ^ Varian, op. cit., 페이지 30 – VM 사용 범위, MVS 라이센스보다 더 많은 VM 라이센스
  21. ^ Virtual Machine/System Product Installation Guide Release 5 (PDF). IBM. December 1986. SC24-5237-3.
  22. ^ "Vm66265: Z/Vm Support for 80 Logical Processors". IBM. August 27, 2020.
  23. ^ VTAM Reference Summary Version 3 Release 3 for MVS, VM, and VSE/ESA (PDF). IBM. September 1990. LY43--0047-1.
  24. ^ IBM 9370 LAN Volume 2 - IEE 802.3 Support (PDF). IBM. April 1988. GG24-3227-0.
  25. ^ "VM TCP/IP NFS Server Support". IBM.
  26. ^ VM/Pass-Through Facility Administration and Operation Version 2 (PDF). IBM. June 1993. SC24-5557-01.
  27. ^ "IBM: About the z/VM Operating System". IBM z/VM virtualization technology. Vm.ibm.com. Retrieved July 2, 2015.
  28. ^ IBM Virtual Machine Facility/370: CP Command Reference for General Users (PDF). IBM. August 1, 1979. Retrieved August 15, 2019.
  29. ^ "Availability: VM/ESA Version 2 Release 1.0 with OpenEdition for VM/ESA". Announcement Letters. IBM. June 12, 1995. 295-240.
  30. ^ "z/VM V3R1 Enabled for 64-bit Architecture". Announcement Letters. IBM. October 3, 2000. 200-358. Retrieved January 31, 2022.
  31. ^ "IBM z/VM: OpenExtensions POSIX Conformance Document (GC24-6298-01)". www.ibm.com. August 21, 2020. Retrieved July 31, 2022.
  32. ^ "Gallery of VM web GIFs". IBM z/VM site. Archived from the original on October 18, 2006.
  33. ^ 바리안, op. cit., 페이지 2 – 곰인형 이야기
  34. ^ "Explain "official VM teddy"". Mr. Alan J. Flavell. Alanflavell.org.uk. Retrieved July 2, 2015.

외부 링크

VM 소스

  • Bob DuCharme, 운영체제 핸드북, Part 5: VM/CMS
    – VM/CMS에 대한 자세한 사용자 가이드
  • E. C. Hendricks 및 T. C. Hartmann, "가상 머신의 진화", IBM Systems Journal Vol. 18, 페이지 111–142(1979)
    – RSCS 설계 및 구현
  • IBM Corporation, IBM Virtual Machine Facility/370 소개, GC20-1800, (1972)
    – 오리지널 매뉴얼

1차 CP/CMS 소스

추가 CP/CMS 소스

  • R. J. Adair, R. U. Bayles, L. W. Comeau 및 R. J. Creasy, 360/40용 가상 머신 시스템, IBM Corporation, Cambridge Scientific Center 보고서 No. 320©2007(1966년 5월)
    - 가상 머신의 개념 구현에 대해 설명하고 맞춤형 CSC S/360-40 및 CP-40 설계에 대해 설명하는 중요한 문서
  • International Business Machines Corporation, CP-67/CMS, Program 360D-05.2.005, IBM Program Information Department(1969년 6월)
    - IBM 레퍼런스 매뉴얼
  • R. A. Meyer 및 L. H. Seawright, "가상 머신 시분할 시스템", IBM Systems Journal, 9권, 3호, 199–218페이지(1970년 9월)
    - CP-67/CMS 시스템에 대해 설명하고 기능과 응용 프로그램을 개략적으로 설명합니다.
  • R. P. Parmelee, T. I. Peterson, C. C. Tillman 및 D. J. Hatfield, "가상 스토리지 및 가상 시스템 개념", IBM Systems Journal, Vol. 11, No. 2(1972년 6월)

백그라운드 CP/CMS 소스

  • F. J. Corbato 등호환 시분할 시스템, 프로그래머 가이드, M.I.T. Press, 1963
  • F. J. Corbato, M. Merwin-Dagett, R. C. Daley, "실험적인 시분할 시스템" Proc. 스프링 조인트 컴퓨터 콘퍼런스 (AFIPS) 21, 335–44 (1962) - CTSS 설명
  • F. J. 코르바토와 V.A. Vyssotsky, "MULTICS 시스템 개요 및 개요", Pro. 가을 조인트 컴퓨터 컨퍼런스 (AFIPS) 27, 페이지 18596 (1965)
  • P. J. Denning, "가상 메모리", 컴퓨팅 조사 제2권, 페이지 153–89 (1970)
  • J. B. Dennis, "다중 프로그래밍된 컴퓨터 시스템의 세분화와 설계", JACM Vol. 12, 페이지 589-602 (1965)
    - GE 645 으로 Project MAC의 가상 메모리 요건
  • C. A. R. Hoare와 R.H. Perrott, Ed., 운영체제 테크닉, Academic Press, Inc., 뉴욕(1972년)
  • T. 킬번, D. B. G. 에드워즈, M. J. 래니건, F.H. 섬너, "일레벨 스토리지 시스템", IRE 전송. 전자. 컴퓨터 EC-11, 페이지 223-35 (1962)
    - 맨체스터/페란티 아틀라스
  • R. A. Nelson, "Mapping Devices and the M44 Data Processing System", 연구 보고서 RC 1303, IBM Thomas J. Watson Research Center(1964)
    - IBM M44/44X에 대해서
  • R. P. Parmelee, T. I. Peterson, C. C. Tillman 및 D. J. Hatfield, "가상 스토리지 및 가상 시스템 개념", IBM Systems Journal, Vol. 11, 페이지 99-130(1972)

추가 온라인 CP/CMS 리소스

기타 자원

파생 >> 강력영향 > 일부 영향/일관성
기술 지원
> IBM M44/44X
>> CP-40/CMSCP[-67]/CMS VM/370 → VM/SE 버전 → VM/SP 버전 → VM/XA 버전 → VM/ESA z/VM
VP/CSS
> TSS/360
> MVT용 TSOOS/VS2용MVS용 → ...z/OS용 →
>> MULTICS 및 기타 대부분의 시분할 플랫폼