|
비스타가 정착에 실패한 가장 큰 이유는 비스타 자체의 문제점도 있겠지만 윈도우 XP의 존재 때문이었다. PC 판매량은 꾸준히 증가하고 있다. 1999년, 처음으로 1억 대가 넘는 PC가 팔리기 시작했다. 잠시 닷컴 버블 붕괴로 2001년의 판매량은 조금 줄었지만 2002년에 판매된 PC의 수는 1.37억 대였다. 그런데 2007년에는 이 두 배에 가까운 2.64억 대가 팔렸다고 한다 (참고 자료). 윈도우의 시장 점유율은 2009년 7월 현재 전세계적으로 93%라고 한다. 따라서 2002년에서 2007년까지 판매된 엄청난 PC 중 사실 상 대부분의 컴퓨터는 윈도우 XP가 깔렸다고 볼 수 있다. 이런 엄청난 XP의 판매량은 오히려 부메랑이 되어 비스타의 채용을 더욱 더디게 만들었다. 또 하나, 이렇게 절대적으로 많은 컴퓨터가 XP다 보니 대부분의 프로그램과 하드웨어 드라이버도 XP를 기준으로 만들어져 있다. 그런데 아쉽게도 사람은 근본적으로 게으르고, 소프트웨어 개발자들은 더욱 더 게으르기 때문에 아무리 윈도우 비스타가 나와도 배째는 드라이버와 소프트웨어가 부지기수다. 윈도우 비스타가 XP와는 상당히 다른 보안 정책 등으로 혼란을 빚은 것은 맞다. 그러나 비스타가 추구한 방향은 옳다. UAC가 많은 욕은 먹었지만 그건 제대로 잘 마감이 안되어서 그렇지 UAC 도입 자체는 매우 합리적이다. 소프트웨어 개발자도 이런 방향을 따라야 하는데 그냥 놀고 업데이트는 무시한다. 나는 비스타를 첫 출시부터 썼고, 더군다나 64비트를 썼지만, 소프트웨어 호환성 문제를 겪은 적이 (거의) 없다. 물론 몇몇 하드웨어 드라이버는 문제가 있었다. 거지 같은 로지텍의 구닥다리 웹캠이 드라이버 업데이트를 공식적으로 배째서 못 쓰고 버렸다.
어찌되었건 비스타는 이런 저런 이유로 결국 실패했다. 그 중에서도 XP 호환성이 큰 이유라는 것을 잘 아는 마이크로소프트는 Windows 7에서 어떻게 보면 매우 단순하지만, 한편으론 매우 옳은 방법으로 XP 호환성 문제를 해결하려 한다. 바로 가상화(virtualization) 기술을 이용한 것이다. 가상화 기술(Full virtualization)은 컴퓨터 안에 온전한 컴퓨터를 몇 개나 더 만들어 준다. 컴퓨터 잘 다루는 분들은 이미 VMware Workstation 같은 프로그램으로 윈도우 위에서 리눅스나 아니면 다른 버전의 윈도우를 돌려본 경험이 있을 것이다. 맥 사용자라면 Parallels라는 가상화 소프트웨어로 윈도우를 맥 위에서 작동시킬 수 있다. 여기에 사용된 기술이 바로 가상화라는 기술인데, 물리적으로 하나인 컴퓨터를 마치 여러 대인 것처럼 속이는 기술이다. 서버 시장에서는 여러 물리적인 컴퓨터를 하나로 합칠 수 있기에 (즉 원가 절감) 매우 중요한 기술이지만, 상대적으로 클라이언트 데스크탑에서는 윈도우에서 리눅스를 깔아보는 것과 같은 일종의 장난감 역할을 주로 했다. 그런데 이 가상화 기술은 윈도우 비스타가 겪은 하위 호환성 문제를 푸는데 아주 멋진 해법을 제시한다. 윈도우 비스타나 윈도우 7이 XP와의 완벽한 호환성을 목표로 했다면, 과거 구현의 단점을 계속 벗어 나지 못할 것이다. 소프트웨어 개발한 분들은 절감하겠지만, 예전 버전 호환성을 늘 지키는 것이 얼마나 괴로운지 잘 알 것이다. 윈도우는 이 하위 호환성 문제가 매우 심각하다. 단적인 예로 늘 문제가 되는 ActiveX 정책을 들 수 있다. 최초로 ActiveX가 나왔을 때는 이걸 이용한 보안 취약성 문제를 고려하기 힘들었다. 그래서 사용자의 어떠한 개입 없이도 특정 웹페이지만 가면 ActiveX가 다운로드 되어 컴퓨터에 설치될 수 있었다. 그러나 각종 스파이웨어나 악성 프로그램이 이 경로로 설치되자 XP 서비스 팩 2부터는 사용자의 명시적인 클릭 없이는 설치되지 않도록 했다. 그리고 윈도우 비스타, 7 역시 하위 호환성을 위해 ActiveX는 여전히 제공되지만 더욱 더 많은 장벽을 두어 악성 프로그램이 쉽게 깔리지 않도록 하고 있다. 이걸 마이크로소프트가 첨부터 설계를 멍청하게 해서 그랬다고 욕할 수도 있다. 그러나 90년대 초반에 이런 보안 취약성 문제를 생각한 사람은 거의 없다. 그런데 ActiveX 뿐만 아니라 지금 우리가 쓰는 데스크탑 운영체제와 소프트웨어, 더 나가 CPU가 근본적으로 보안을 심각히 고려해서 설계된 것이 아니다. 사실 원초적인 소프트웨어 취약성은 CPU 자체가 너무나 낮은 수준의 보안 기능을 제공하기 때문이다. 과거에는 컴퓨팅 파워가 약했는데 보안 및 권한에 많은 자원을 써버리면 정작 계산을 별로 할 수가 없었다. 그래서 과거에는 보안에 별로 신경 쓰지 않은 것이 큰 문제가 되지 않았는데, 이것이 지금 와서 큰 문제를 만드는 것이다. 윈도우 95가 나올 당시 개인용 데스크탑 컴퓨터가 인터넷에 늘 연결되리라고 상상한 사람은 별로 없었다. 따라서 미래의 윈도우 운영체제가 늘 과거 운영체제의 취약한 보안 문제점을 가지면서 하위 호환성을 지키는 것은 좋은 선택이 아니다. 이보다는 완전히 독립된 가상 머신에 예전 운영체제를 띄우고 거기서 프로그램을 돌게 하는 것이 더욱 합리적이다. 가상 머신이 하나의 완벽한 샌드박스를 제공하므로 아무리 악성 소프트웨어가 가상 머신을 망가뜨려도 여러분의 컴퓨터는 말짱하다. (물론, 미래의 아주 무시무시한 악성 프로그램이 가상 머신을 통해 호스트 컴퓨터를 공격할지도 모른다) 그래서 Windows 7의 XP Mode 도입은 매우 중요한 의미를 가진다.
Windows 7의 XP Mode는 사실 아무것도 아니다. 이미 마이크로소프트가 제공하는 가상화 소프트웨어인 Virtual PC에다 미리 깔려있는 XP를 사용하기 더 쉽도록 배포한 것이다. Windows 7을 깔고 XP Mode를 다운 받으면 끝난다. 너무 간단하다. 윈도우 XP가 하나 뜬다. ![]() 가상 머신을 써본 분에게는 전혀 새로울 것도 없는 익숙한 화면일 것이다. 여기다 비스타에서 잘 안 돌던 프로그램을 깔면 된다. 그런데 이런 모습으로만 제공되었다면 정말 별 볼일 없는데, 다행스럽게도 XP Mode에서 뜨는 프로그램이 윈도우 7 데스크탑에 녹아 들어가 훨씬 자연스러운 인터페이스를 볼 수 있다. 구현은 원격 데스크탑을 이용한 것으로 보인다. VMware의 클라이언트 가상화 프로그램에서도 Unity라는 기능으로 데스크탑을 공유할 수 있다. 그러나 완벽하지는 않다. 써보면 조금씩 이상한 점을 발견하지만 그래도 상당히 이음새 없이 잘 쓸 수 있다. ![]() XP Mode에서 실행된 IE7이나 인터넷 뱅킹 프로그램이 Windows 7 데스크탑 위에서 작동 중이다. ![]() IE7에서 C:\ 같은 것을 치면 탐색기도 잘 뜨고 아무런 프로그램을 다 실행시킬 수 있다. 자동으로 내 컴퓨터의 드라이브도 다 연결되어 파일 공유도 간단하다. 다만 XP Mode의 창으로 파일을 끌어다 놓을 수는 없다. XP Mode에서 프로그램을 깔면 바로 윈도우 7 메뉴에 해당 프로그램 단축키가 설정이 되기도 한다. 무척 편리하게 잘 만들었다. (물론 어떤 경우에는 잘 안 되기도 하지만 대부분 프로그램은 바로 추가가 된다) 어떻게 하면 이렇게 추가되는지는 이 동영상을 참고. ![]() 단, 하나 아쉬운 것은 XP Mode에서 게임 같은 것을 돌리는 것은 불가능에 가깝다. 이건 XP Mode 뿐만 아니라 현재 구현되고 있는 데스크탑 가상화 기술이 가지고 있는 공통적인 문제이다. 가상화 기술에서 CPU와 램은 연구가 많이 이루어져서 해법이 많이 나와있다. 하드디스크도 가상화도 간단하다. 그러나 아직까지 VGA, 그래픽 카드에 대한 가상화는 별로 잘 이루어진 것이 없다. 일반적으로 가상 머신에서 작동 중인 게스트 운영체제는 VGA 하드웨어 가속을 쓸 수 없으므로 DirectX 기반이 게임은 작동되기 어렵다. 물론, 맥에서 쓸 수 있는 Parallels 사의 가상화 제품은 DirectX 9.0과 256MB의 비디오 메모리를 지원한다. (써보지는 않아서 얼마나 원활한 성능이 나오는지는 모르겠다. 혹시 DirectX 기반의 게임도 무난히 작동 되는지 궁금하다) 그러나 아직까지 XP Mode는 이런 기능까지는 지원되지 않는다. 그래도 간단한 동영상 보는 것은 전혀 문제 없었다. ![]() 보다시피 XP Mode 안의 XP에서 잡히는 VGA는 듣보잡으로 잡힌다. Windows 7의 XP Mode 도입은 간단하지만 상당히 의미 있는 일이다. 미려하게 인터페이스만 잘 다듬고 정말로 내부에 윈도우 XP가 도는지도 모르게 만든다면 윈도우 운영체제가 겪은 고질적인 하위 호환성 문제도 풀 것이다. 한줄요약: 그지 깽깽이 같은 인터넷 뱅킹 AcitveX는 이제 XP Mode에서만 볼지어다. 한줄 더: nProtect 더 이상 너를 안 봐도 되는구나.. ㅠㅠ (그러나 현실은 가상머신에서 도는 것을 감지, 안 되게 막아 놓은 곳도 많다고 합니다)
p.s. 다른 Windows 7 컴퓨터에 세팅한 XP Mode를 전송하는 방법은 단순히 vhd 파일만 복사하면 된다. 그러나 디폴트 XP Mode VM 설정 같은 방법이 전통적인 레지스트리를 통하지 않아 약간의 삽질이 필요했다. 참고 삼아 찾은 링크를 기록 차원에서 남김: 링크1(가장 확실한 방법), 링크2, 링크3
최근 등록된 덧글
개발자 입장에서의 수많은 ..
by Jiyoon at 02/04 저도 아들 돌잔치때 돌잡이 .. by 박상욱 at 01/18 미국 대학원 원서 작성중에 p.. by 태클사이야 at 01/13 TO: 박PD 로그인 하지 않아.. by 박응용 at 01/10 http://gigglehd.com/zbx.. by dhunter at 12/28 우와.. 좋네요. 태반이 .. by 윤광배 at 12/17 항상 좋은 글 잘 보고 있습니.. by y2k at 11/23 글이 좋아서 제 블로그에 담.. by 쏭섭 at 11/23 최근 등록된 트랙백
메뉴릿
이글루 파인더
|