VMWare를 비롯한 VirtualPC, VirtualBox등과 같은 가상컴퓨터 제품들은 Guest OS와 Host OS사이를 연결해 줄 수 있는 시리얼 포트를 제공해 주고 있으며, 모두 3가지 방식의 시리얼 포트 연결 방식을 제공한다.
- 물리적인 시리얼 포트에 직접 연결 - Host PC에 있는 물리적인 시리얼 포트를 Guest OS에 직접 연결해 준다.
- 파일 출력 - Guest OS의 시리얼 포트를 Host OS의 파일에 연결해 준다. 큰사이즈의 디버깅용 데이터 덤프나 긴 동작 시간동안의 로그 데이터 기록에 유용하다.
- 파이프 이용 - Unix계열 운영체제나 Windows 운영체제는 프로세서간 통신을 위한 IPC를 지원하며, 이때 PIPE를 이용한다. VMWare와 같은 가상화 프로그램에서 내부에 설치된 Guest OS와 Host OS에서 동작하는 응용프로그램간 통신 수행시 이 Pipe를 이용하는 방식이다. 정확하게는 VMWare와 Host OS상의 응용프로그램 사이에 Pipe통신을 수행하고, VMWare는 Guest OS에게 시리얼 포트로 보이도록 변환하는 기능을 수행해 준다.
본 포스트에서는 Pipe를 이용한 시리얼 포트를 연결하는 방법에 대해 살펴본다.
VMWare Player를 실행하면 기본으로는 시리얼 포트가 설정되어 있지 않으므로 추가해 줘야 한다. 다음 그림처럼 Virtual Machine Setting에서 Add... 버튼을 클릭하여 시리얼 포트를 추가한다.
다음 그림과 같이 Named Pipe를 사용함으로 설정한다. VMWare는 서버로 설정하고, 반대편은 응용프로그램으로 설정한다.
이제 VMWare의 설정은 끝났으며, Host OS용 응용프로그램를 설정한다.
Named Pipe를 지원하는 터미널 프로그램으로는 현재 그리 많지 않으며, 대표적으로 Putty가 지원하고 있다. 따라서 Putty를 이용하여 접속하기로 한다.
프로그램을 다운받아 실행한 후 설정 화면에서 다음과 같은 입력해 준다.
이제 열기 버튼을 클릭하여 VMWare에 접속하면 Guest OS로 시리얼 데이터를 보내거나 데이터를 받는 작업을 수행할 수 있다.
여기서 하나 알아 두어야 할점은, Pipe를 이용한 통신은 프로세서간 통신(IPC)이며, 일종의 소켓통신이므로 서버 프로그램이 실행되어 있지 않거나 이미 다른 프로그램이 Pipe를 점유하고 있으면 접속 할 수 없다. 따라서 VMWare를 기동한 후에 Putty를 실행하여 접속하여야 한다.
이와 같은 Named Pipe를 이용한 시리얼 포트 접속 방식은 VirtualBox와 VirtualPC에서도 모두 적용 가능하다.
댓글 없음:
댓글 쓰기