대화 모니터 시스템

Conversational Monitor System
대화 모니터 시스템(CMS)
IBM logo.svg
개발자IBM
초기 릴리즈1967년; 55년 전 (재설정)
플랫폼IBM CP-40
영향을 받다호환 시분할 시스템

Conversational Monitor System(CMS – 원래 "Cambridge Monitor System")[1]은 심플한 대화형 단일 사용자 운영 체제입니다.CMS는 원래 IBM의 CP/CMS 운영 체제의 일부로 개발되었으며 1967년에 생산용으로 사용되기 시작했습니다.CMS는 IBM 메인프레임 컴퓨터에서 실행되는 IBM VM 제품군의 일부입니다.VM은 1972년에 처음 발표되었으며 현재도 z/VM으로 사용되고 있습니다.

CMS는 VM 제어 프로그램에 의해 생성된 개인 가상 시스템에서 "게스트" 운영 체제로 실행됩니다.제어 프로그램과 CMS를 함께 사용하여 다중 사용자 시분할 운영 체제를 만듭니다.

역사

CMS는 원래 IBM CP/CMS 운영 체제의 일부로 개발되었습니다.당시 약어는 "Cambridge Monitor System" (콘솔 모니터 시스템)을 의미했습니다.

  • CMS는 처음에 IBM의 Cambridge Scientific Center에서 커스텀 하드웨어를 사용하는 일회성 연구 시스템인 CP-40에서 실행되었습니다.CSC에서의 생산 사용은 1967년 1월에 시작되었다.CMS 사용자 인터페이스는 영향력 있는 제1세대 시분할 시스템인 CTSS에 대한 경험을 크게 활용했으며, 일부 개발자는 CP/CMS에 대해 작업했습니다.(CTSS는 초기 CP/CMS 개발 플랫폼으로 사용되었습니다.)
  • 이후 1967년에 CP/CMS는 IBM System/360 Model 67에서 일반적으로 사용할 수 있게 되었습니다. 새로운 제어 프로그램 CP-67은 CP-40의 실질적인 재실장이었지만 CMS는 기본적으로 동일하게 유지되었습니다.IBM은 "있는 그대로" CP/CMS를 IBM Type-II 라이브러리의 일부로 소스 코드 형식으로 제공했습니다.따라서 CP/CMS는 오픈 소스 시스템이었다.IBM의 이러한 지원 부족에도 불구하고 CP/CMS는 시분할 플랫폼으로서 큰 성공을 거두었습니다. 1972년까지 CP/CMS에 대한 액세스를 재판매하는 상업 사이트를 포함하여 약 44개의 CP/CMS 시스템이 사용되었습니다.

1972년 IBM은 시스템/370 시리즈가상 메모리 하드웨어를 추가한 발표에서 시스템/370용 CP/CMS를 다시 구현한 VM/370 운영 체제를 출시했습니다.CP/CMS와 달리 VM/370은 IBM에 의해 지원되었습니다.VM은 일련의 버전을 거쳤으며, 오늘날에도 여전히 z/VM으로 사용되고 있습니다.

CMS 플랫폼은 CP-40에서 실행되는 원래 CMS 버전의 가까운 후예로서 모든 개별 버전과 릴리즈를 통해 여전히 상당히 인식되고 있습니다.오늘날 사용자에게 익숙한 많은 주요 사용자 인터페이스 결정은 CP-40 노력의 일환으로 1965년에 이미 이루어졌다.예는 CP-40 아래의 CMS를 참조하십시오.

VM과 CP/CMS 모두 IBM에서 파란만장했던 역사를 가지고 있습니다.VM는 주로 OS DOS 제품군이었던 IBM의 "전략적인" 운영 체제 중 하나가 아니었으며, 시간 공유와 배치 처리 목표를 둘러싼 IBM의 정치적 내분으로 어려움을 겪었습니다.이러한 충돌 때문에 CP/CMS는 원래 지원되지 않는 시스템으로 출시되었으며, VM는 IBM 내에서 개발 및 지원 리소스가 제한적인 경우가 많습니다.CP/CMS의 자체 지원 시대에 처음 구축되었지만 VM의 출시 후에도 계속 활성화되어 있는 매우 강력한 사용자 커뮤니티는 운영 체제에 상당한 기여를 했으며 IBM의 "기타 운영 체제"를 실행하는 데 따른 어려움을 완화했습니다.

아키텍처

CMS는 CP/CMS와 함께 구축된 VM/CMS 아키텍처의 본질적인 부분입니다.각 CMS 사용자는 CMS가 스탠드아론 운영체제로 동작하는 개인 가상 머신(기본 물리 컴퓨터의 시뮬레이션 복사본)을 제어할 수 있습니다.이 접근방식은 수년간 일관되게 유지되어 왔으며, 다음 사항을 기반으로 합니다.

  • 완전한 가상화. 각각 기본 하드웨어를 완전히 시뮬레이트하는 여러 개의 독립된 가상 머신을 생성하기 위해 사용됩니다.
  • 반가상화: CMS가 VM 서비스에 액세스하기 위해 사용하는 하이퍼바이저 인터페이스를 제공하기 위해 사용됩니다.이는 가상화되지 않은 DIAG(진단) 명령에 의해 구현됩니다.

CMS가 가상 머신 환경과 상호 작용하는 방법에 대한 자세한 내용은 VM 및 CP/CMS 문서를 참조하십시오.

CMS는 원래 베어 머신 상에서 실행할 수 있는 스탠드아론 운영체제로 구축되어 있었습니다(물론 아무도 그렇게 하지 않았습니다).그러나 CMS는 VM 환경 밖에서는 실행할 수 없게 되어 다양한 중요한 기능에 필요한 하이퍼바이저 인터페이스가 제공됩니다.

특징들

CMS는 사용자에게 애플리케이션 또는 배치 작업 실행, 데이터 파일 관리, 애플리케이션 작성 디버깅, 크로스 플랫폼 개발 및 다른 시스템 또는 사용자와의 통신을 위한 환경을 제공합니다.

CMS는 현재도 개발 중이며 널리 사용되고 있습니다.

기본 환경

사용자는 VM에 로그인하여 사용자 ID와 암호를 제공한 후 자신의 가상 시스템을 부팅합니다.이 작업은 "IPL CMS" 명령("IPL" = 초기 프로그램 로드, 기계 부팅을 위한 기존 IBM 용어")을 발행하여 수행할 수 있지만, 일반적으로 이 작업은 사용자에게 자동으로 수행됩니다.개인 사용자 정의 작업은 "프로파일 EXEC"이라는 표준 셸 스크립트 파일에 의해 수행됩니다. 이 파일은 액세스되는 Disk 및 라이브러리와 같은 사용자 지정 환경 기본값을 설정합니다.

터미널 지원

CMS는 텔레타이프 방식의 종이 단말기와 그 이후의 "유리 텔레타이프" 바보 단말기의 시대에 시작되었다.그러나 1970년대 후반까지 대부분의 VM 사용자는 전체 화면 터미널, 특히 IBM 메인프레임의 유비쿼터스 트랜잭션 처리 터미널인 IBM 3270을 통해 연결되었습니다.3270은 IBM 제품 라인에서 전략적 역할을 수행했으며, 오늘날의 대규모 데이터 센터에서 자연스럽게 선택되었습니다.다른 많은 제조업체들은 결국 3270 프로토콜을 에뮬레이트한 Bisync 터미널을 제공하였다.

3270년대는 로컬 버퍼 스토리지와 일부 처리 능력을 가지고 있었으며 일반적으로 한 번에 전체 데이터 화면을 처리했습니다.편집 작업을 로컬로 처리한 후 ENTER 키 또는 Program Function Key(PFK; 프로그램 기능 키)를 누르면 필드 세트(또는 페이지 전체)를 한 번에 전송합니다.

3270 제품군에는 "스마트" 제어 장치, 콘센트레이터 및 기타 네트워크 처리 요소가 통합되어 있어 바이싱크 동기 통신 프로토콜을 통해 전용 회로를 통해 비교적 빠른 속도로 메인프레임과 통신합니다.(이러한 메인프레임 지향 통신 기술은 디바이스 어드레싱, 라우팅, 오류 수정, 멀티포인트멀티드롭 토폴로지 등의 다양한 구성 지원 등 현대 통신 네트워크에서 당연하게 받아들여지는 일부 기능을 제공했습니다.)

3270 접근방식은 포인트 포인트 및 비동기 방식의 저비용단말기와는 달랐다.초기 CP/CMS 및 VM 사이트의 중요한 세그먼트인 상용 시분할 사용자는 일반 음성 등급 전화 회선을 통해 300비트 또는 1200비트/초 모뎀을 통해 연결할 수 있기 때문에 이러한 장치에 의존했습니다.3270 전용 회선을 설치하는 것은 실용적이지도 경제적이지도 않고 시기적절하지도 않았습니다.

3270의 블록 지향 접근 방식은 IBM의 배치 및 펀치 카드 지향 컴퓨팅 관점과 더욱 일치했으며, 오늘날의 IBM 메인프레임에서 특히 중요했습니다.현대의 미니컴퓨터와 달리, 대부분의 IBM 메인프레임에는 문자 인터럽트가 장착되어 있지 않았습니다.덤 터미널 지원은 IBM 270x(IBM 3705 참조) 또는 Memorex 1270과 같은 터미널 제어 장치에 의존했습니다.이러한 비동기 단말 컨트롤러는 RETURN 키를 누를 때까지 최대 고정 최대 길이까지 한 줄의 문자를 조합했습니다.문자를 너무 많이 입력하면 오류가 발생하여 그날의 사용자에게 익숙한 상황이 됩니다.(대부분의 데이터센터에는 다이얼 업 액세스에 필요한 경우를 제외하고 이 기기가 포함되어 있지 않습니다.3270 접근방식이 선호되었습니다.)

3270과 같은 블록 지향 단말기는 기존의 표준인 라인 지향 편집기와 달리 메인프레임에서 화면 지향 편집기를 구현하는 것이 실용적이었습니다.이는 현대의 미니컴퓨터와 기타 문자지향 시스템의 중요한 이점이었고 3270을 통한 이용은 크게 환영받았다.

페이지 지향 메인프레임 트랜잭션 처리(특히 CICS 경유)에 초점을 맞춘 3270 세계와 문자 지향 미니컴퓨터와 다이얼 업 타임 쉐어링에 초점을 맞춘 비동기 단말 세계 사이에 격차가 있습니다.비동기 단말 벤더는 다양한 스마트 단말 기능을 사용하여 제품을 점차 개선했으며, 일반적으로 이스케이프 시퀀스를 통해 액세스합니다.그러나 이 장치들은 3270명의 사용자를 대상으로 거의 경쟁하지 않았습니다. IBM은 메인프레임 데이터 센터 하드웨어 구매 결정에서 우위를 유지했습니다.

돌이켜보면 블록 지향 컴퓨팅과 캐릭터 지향 컴퓨팅 사이에는 큰 철학적인 차이가 있었습니다.비동기 터미널 컨트롤러와 3270은 모두 메인프레임에 블록 지향의 상호작용을 제공했습니다. 기본적으로 터미널 입력은 카드 리더처럼 보이게 했습니다.IBM이 선호하는 이 접근 방식은 전혀 다른 사용자 인터페이스 패러다임과 프로그래밍 전략을 개발하게 했습니다.캐릭터 지향 시스템은 다르게 진화했다.우세한 CICS의 원자 트랜잭션 접근방식을 UNIX의 인터랙티브한 스트림 지향 스타일과 비교하면 차이가 확연히 드러납니다.VM/CMS는 이러한 극단 사이에서 진화했습니다.CMS는 스테이트리스 트랜잭션 지향 인터페이스의 CICS 접근방식을 채택하지 않고 명령어 중심의 스테이트풀 인터랙티브 환경을 갖추고 있습니다.그러나 CMS는 문자 인터럽트 대신 페이지 또는 회선 인터랙션에 한 번에 응답합니다.

성능

CMS는 당시의 표준(그리고 오늘날 일반적으로 사용되는 그래픽 사용자 인터페이스 환경이 널리 사용되기 이전)에 비해 효율적이며 사용하기 쉬운 인적 요소가 뛰어나다는 점에서 매우 좋은 평가를 받았습니다.동일한 VM 메인프레임에 수백 명의 CMS 인터랙티브 사용자(나중에 수천 명)를 동시에 배치하고, 일반적인 '간소한' 기능에 대해 1초 미만의 응답 시간을 갖는 것은 드문 일이 아닙니다.VM/CMS는 동시 대화식 사용자에 대한 지원 측면에서 MVS 및 기타 IBM 운영 체제를 지속적으로 능가했습니다.

프로그래밍 및 주요 응용 프로그램

COBOL, FORTRAN, PL/I, C/370, APL 및 스크립트 언어 REXX와 같은 언어로 프로그래밍된 많은 CMS 사용자는 종종 MVS와 같은 IBM의 다른 운영 체제에서 실행되는 프로덕션 시스템의 개발 플랫폼으로 사용되었습니다.

다른 CMS 사용자는 FOCUS, NOMAD, SPSSSAS같은 상용 소프트웨어 패키지를 사용하여 작업했습니다.

한때 CMS는 이메일 및 사무실 생산성의 주요 환경이기도 했습니다. 중요한 제품은 IBM의 PROFS(나중에 OfficeVision으로 개명)였습니다.

일반적으로 사용되는 두 가지 CMS 도구는 편집기 XEDIT와 REXX 프로그래밍 언어입니다.이 두 제품 모두 다른 플랫폼으로 이식되어 현재는 메인프레임 환경 밖에서 널리 사용되고 있습니다.

레퍼런스

VM 관련 소스 및 소스 인용은 VM(운영 체제)참조하십시오.

메모들

  1. ^ Control Program-67/Cambridge Monitor System (GH20-0857-1). IBM. October 1971.

「 」를 참조해 주세요.

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 리소스