상세 컨텐츠

본문 제목

시스템 가상 머신(System Virtual Machine)의 역사

개발 관련(Computer Science)

by Director J 2019. 4. 21. 06:40

본문

위키피디아에 따르면, 가상 머신에는 두 가지 종류가 있습니다.

 

1. 시스템 가상 머신(System Virtual Machine)

2. 프로세스 가상 머신(Process Virtual Machine)

 

오늘은 시스템 가상 머신에 대해서 알아보도록 합시다.

 

우선 우리는 시스템 가상 머신에 대해서 알기 위해서는 한 회사를 알고 가야합니다.

 

바로 IBM입니다.

가상 머신이라는 개념과 개발은, IBM이 개발한 CP/CMS에서 시작되었습니다. CP는 Control Program의 약어로, 가상 머신 환경을 만드는 역할을 하고, CMS는 Cambridge Monitor System의 약어로 경량의 단일 유저 오퍼레이팅 시스템을 의미합니다. IBM의 CP/CMS은 1960년대에서 70년대 사이에 IBM에서 개발된 시분할 오퍼레이팅 시스템입니다. 그러나 IBM의 CP/CMS도 무에서 창조된 것은 아닙니다. CP/CMS는 MIT Computation Center에서 개발한 CTSS(Compatible Time-Sharing System)로부터 강한 영향을 받았습니다. CTSS는 최초의 시분할 동작 시스템 중 하나입니다. 그래서 간단하게 말하자면, MIT의 CTSS -> IBM의 CP/CMS -> VM이라고 계보를 단순화시킬 수 있습니다. 

 

CP/M-86의 구동화면

 

시스템 가상 머신에 대해서:

시스템 가상 머신을 이해하기 위해선, 시분할 시스템(Time-Sharing)에 대해서 이해해야만 합니다. 왜냐하면, 시분할 시스템은 시스템 가상머신과 밀접한 관련이 있기 때문입니다. 시분할 시스템은 CPU 스케줄링과 다중 프로그래밍을 이용하여, 컴퓨터 자원을 시간적으로 분할하여 사용할 수 있게 해줍니다. 한마디로 Time-Sharing이라는 의미는 시간을 기준으로 번갈아가면서, 사용 주체가 바뀐다는 뜻입니다. 이러한 개념이 IBM의 연구를 통해서 가상 머신으로 발전하였습니다. M44/44X은 부분적으로 가상화를 사용하였고, CP-40과 SIMMON은 완전 가상화를 사용하였습니다, 그리고 특히 이 두 가상 머신은 하이퍼바이저(Hypervisor)의 초창기 모델이라고 볼 수있습니다. 하이퍼바이저는 가상머신 모니터(Virtual Machine Monitor)라고도 불리며, 가상 머신 머니터는 가상 머신을 작동시키는 소프트웨어라고 설명할 수 있습니다. 처음으로 널리 사용된 가상 머신 아키텍처는 IBM에서 개발한 1967년에 개발한 CP-67/CMS입니다. M44/44X와 SIMMON과의 가장 큰 차이점은 SIMMON은 프로토 타입을 작성하기 위해 호스트 시스템에서 하나의 가상 시스템을 사용한다는 점이고, M44/44X에서는 하나의 호스트 시스템에서 여러 가상 시스템을 사용하여 시분할 시스템을 사용한다는 것입니다. 초창기 하드웨어 시스템과 호환되어 사용되던 IMB System/360(1963에 개발됨)과는 달리 현재는 소프트웨어 에뮬레이터가 주로 사용되며, 이는 시뮬레이션(Simulation)라고 불립니다.

 

IBM과 MIT가 간단히 말해서 가상 머신을 창조했다고 해도 과언이 아닙니다. 그래서 대부분의 용어는 영어로 이루어져있습니다. 그래서 컴퓨터에 대해 깊이 알고 싶다면, 영어를 통한 지식 전달이 익숙해져야만 합니다. 많은 라이브러리가 영어로 이루어져 있는 것도 간과할 수 없는 문제입니다. 

반응형

관련글 더보기