본문 바로가기

C.E/OS

System Structure - Virtual Machine

Virtual Machine, 가상 머신

 

가상머신이란 실제 하드웨어와 직접적인 통신이 없는 가상 컴퓨터를 말한다.

 

게임 Emulator를 보면 확실히 알 수 있다. 예전 PS의 에뮬로써 EPSXE라는 소프트웨어가 있었다.

 

이 소프트웨어는 PC로도 PS게임을 즐길수 있게 해주는 프로그램인데 이것을 하나의 가상머신으로 볼 수 있다.

 

실질적으로 PS는 존재하지 않지만 PS인것 처럼 만들어 주는 가상의 기계. 이것이 가상머신이다.

 

가상머신은 완전한 플랫폼을 지원하는 즉, O.S를 지원하는 시스템 가상머신과

 

단일 프로세스를 지원하는 프로세스 가상 머신으로 나눌 수 있다.

 

 

 

가상 머신은 다음의 사항을 지원해야 한다.

 

1. process에게 file system call 대한 자원이 제공되어야 한다.

 

2. 가상적인 하드웨어 자원을 제공해야 한다.


3. 물리적인 하드웨어 자원을 공유하게 주어야 한다.

 

예전에 Protection관련 포스트 에서 Dual-Mode에 대해서 언급한 적이 있다.

 

이는 User Mode와 Monitor Mode로 나누는 방식인데 가상 머신 역시 이러한 점이 필요하다.

 

가상 모드 역시 User Mode와 Monitor Mode로 나누어 Virtual Sofrware는 Monitor Mode에서

 

Virtual Machine은 User Mode에서 수행 되어야 한다. 만일 실제 하드웨어에서 Monitor Mode로

 

전환이 되었다면 VM 역시 Monitor Mode로 전환이 되어야 한다.

 

VM의 장점은 아래와 같다.

 

1. 사용중인 하드웨어 프로세서위에 에뮬레이터 방식으로 다른 프로세서를 실행할 수 있다.

 

2. O.S를 개선할 때 개발 및 시험하기 용이하다.

 

3. 많은 시스템 자원을 보호 할 수 있다.

 

 

'C.E > OS' 카테고리의 다른 글

System Structure - System Generation  (0) 2013.12.09
System Structure - System Design  (0) 2013.12.09
System Structure - Microkernel  (0) 2013.12.09
System Structure - System Structure  (0) 2013.12.09
Operating System Service - System Call  (0) 2013.12.09