기본 UI. 캐시는 노트북에 내장된 SD 슬롯에 512MB 카드를 장착했다.

비스타 운영체제의 허와실은 이미 많은 사이트에서 언급되어졌으리라 생각된다. SuperFetch, ReadyBoost, 그리고 ReadyDrive의 성능향상 3형제가 있는 반면, 유저의 취향에 따라 희비가 엊갈리는 다양한 기능들(에어로, 사이드바, 위젯 등)이 존재한다. 하지만, 위 3형제 중에서도 ReadyBoost는 기존 운영체제 유저들이 가장 탐내는 기능이다. 왜냐하면 SuperFetch는 XP에서 이미 부분 implentation되어있고, ReadyDrive의 경우는 하이브리드 드라이브나 혹은 산사로사 + 터보메모리 같은 하드웨어를 필요로 하기 때문이다.
eBoostr™는 이러한 니즈에 맞춰 출시된 프로그램으로 XP에서 ReadyBoost와 유사한 기능을 수행한다고 한다. 하지만, 커널레벨에서의 근본적인 페이징은 아닌 것 같다. 프로그램 Trial을 설치해서 테스트해봤는데, Cache 파일 내부에 상황을 보면 자주 사용하는 파일 리스트가 뜬다. 그 파일들을 캐시해서 속도를 높이는 것이다.

캐시 파일 내역. 파일을 캐시한다.

얼마나 속도향상이 됐는지 벤치마킹을 할 여력은 안되었지만, 자체에서 제공하는 벤치마크 프로그램을 돌려보니 1.8배정도의 속도 차이를 보였다. 하지만, 결정적인 문제가 발견됐는데 캐시크기를 0으로 했을때와 500메가로 했을때의 Ratio가 거의 동일하다. -_-;;

캐시 크기를 0으로 했을 경우.

캐시 크기를 500메가로 했을 경우.

사실 플래시 메모리의 속도를 고려해볼때, SSD형태(SSD는 다중의 플래시 메모리를 병렬로 읽어 속도를 향상한다. RAID-0 같은 방식)가 아닌 이상에야 하드 페이지 파일보다 빠를래야 빠를 수는 없다. 다만, 페이징 공간이 다원화되면서 Overall 억세스 타임이 감소되고 무엇보다 자주 사용되는 부분을 플래시에서 읽음으로서 전력소모를 줄일 수 있다는 장점이 있다. 따라서, 데스크탑에선 별로 권장하고 싶지 않지만, 노트북에서 작업하는 하이엔드 유저에게는 권할만한 프로그램인 것이다. 기본 내장된 메모리 슬롯과 PCMCIA 슬롯을 병렬로 2개의 플래시 메모리 캐시(eBoostr에선 다중 캐시 공간을 지원한다)를 설정한다면, 성능향상과 하드디스크 수명 단축 및 전력사용이 감소하지 않을까 생각한다.

사이트 바로가기
AND

MS에서 공식적으로 발표한 비스타/IE 호환관련 문서들입니다.

http://www.microsoft.com/korea/windows/compatibility/activex.mspx

MS 웹사이트에 올라온 비스타와 ActiveX에 대한 입장입니다. 국내 금융권에 대한 MS의 입장이 있군요.
128bit SSL을 비롯한 표준화된 인증 체제, 그리고 암호 발생기 등 다양한 보안 솔루션을 국가적 차원에서 열린 자세로 수용하여, 다양한 플랫폼에서 기 구현되고 검증된 인프라를 활용하도록 하는 것이 바람직합니다. 현재 Internet Explorer는 세계 표준적 보안 기능을 내장하고 있고, 세계 각국의 은행들은 브라우저 내장의 보안 기능을 활용하고 있습니다.
정부와 MS, 보안업체와 개발업체들의 앞으로의 행보가 궁금해지네요.

Internet Explorer 7.0 호환성 백서 (Word 문서, 1.92MB)

상당히 도움이 될만한 문서입니다. 2006년말에 나왔습니다. 다만, "Windows Vista IE7 에서 ActiveX 컨트롤 개발 방법론"라는 백서도 같이 나올 예정이었던거 같은데, 아직 안나왔는지 찾을 수가 없네요. 이 글을 쓰신 저자분의 블로그도 찾았습니다. 호환성에 대한 가장 확실한 기술적 답변을 들을 수 있는 채널이지 싶네요. ㅎㅎ

저자 블로그 바로가기

Windows Vista IE7의 새로운 보안하에서 ActiveX 컨트롤 개발 (PPT 문서, 8.29MB)

백서는 아니고 비스타/IE와 ActiveX 개발에 대한 세미나 자료입니다. 참고가 될 만 하네요.
AND

Prolog

비스타가 출시되기 이전부터 비스타에서 구동되지 않은 프로그램이나 게임의 목록이 블로그들을 타고 돌기 시작했다. 정부기관의 ActiveX 문제 역시 기존 ActiveX가 비스타에서 호환되지 않은 이유로 정부가 MS에 도움을 요청했다는 굴욕사실때문에 뜨거운 이슈로 급부상했다. 아직까지 비스타를 써본 적이 없었는 필자는 무슨 문제 때문에 호환되지 않는지가 매우 궁금했으나, 구체적인 이유가 기술된 글들을 찾지 못해 두리뭉실한 느낌으로 ACL문제와 웹브라우저의 보안문제 등이 문제일 꺼라고 생각하고 있던 차에 오늘 우연히 Windows ME 시스템을 Windows Vista Home Edition에 migration해달라는 부탁을 받고 처음으로 비스타의 문제에 직면했다. (본 문제는 하위호환이 안되는 많은 문제중에 하나이기 때문에 넘버링을 했다. 문제를 찾을 때마다 포스팅할 예정이다.)

비스타의 하위호환문제 #1

이번에 발견한 문제는 ACL에 관련된 문제인데, 비스타(최소한 홈에디션)에서는 프로그램이 OS 루트 홀더의 파일 생성 및 저장의 권한을 가지지 못한다. XP의 최신 OEM버전에서도 이런 세팅이 있었지만, 안전모드에 administrator로 들어가서 루트+하위홀더의 권한을 유저나 원하는 계정에 부여해주면 해결되었다. 하지만, 비스타에서는 루트의 모든 권한을 해당 유저나 USERS 그룹등에 부여한다해도 파일을 생성할 수 없었다.(짧은 시간 리뷰였기 때문에 방법이 존재할 수도 있습니다. 아시는 분이 계신다면 리플 부탁드립니다.) 필자가 마이그레이션하던 프로그램은 BDE(Borland Database Engine)을 사용한 어플리케이션이었는데, BDE의 기본 DB인 Paradox에서는 DB파일의 네트워크 엑세스를 위하여 C:\에 PDOXUSRS.NET이라는 파일을 생성하는데 이 파일이 생성되지 않기 때문에 프로그램이 작동하지 않았다.

두개의 해결방안

이 문제는 해결하는 방법은 2가지가 있는데, 첫째는 BDE Administrator를 통하여 NET Directory를 변경하는 방법이 첫번째인데, 간단한 방법이기는 하나 어플리케이션에 따라 BDE Confiuration을 자체적으로 가지고 있는 넘들에게는 해결이 안되는 단점이 있다. 두번째는 단축아이콘 옵션에서 프로그램에 Administrator의 권한을 부여해주는 것이다. 확실한 방법이지만 역시 단점이 있는데, 시작할때 매번 이 프로그램의 권한은 Administrator로 실행하겠냐는 질문에 답을 해줘야한다. (끌 수 있는 옵션이 없다)


비스타의 새로운 정책을 꼬집은 Apple의 ad. 비스타를 써 봤다면 300% 공감이 가능하다.

애플광고에서 썬글라스 아저씨의 Cancel or Allow. 겨우 2시간 봤는데 짜증이 무럭무럭 났다;;


누구를 탓할 것인가

그럭저럭 문제를 해결하고나서 XP가 설치된 내 작업 노트북의 C루트를 보니 보안 ActiveX, 게임 런쳐 ActiveX,  웹하드 ActiveX 등등이 남긴 로그파일들이 쌓여있었다;; 비스타에서 이 모든 프로그램들은 구동중 OS 루트 홀더의 권한을 얻지 못하여 죽을 것이 뻔하다.. 자 그럼 누구를 탓할 것인가? 개발자가 무책임하게 가장 만만한 루트에 로그를 남긴 것을? 아님 ActiveX를 남용한 국내 사이트 제작자들? 아님 정부의 정책?

문제의 핵심은 무엇일까

아직까지 모든 비스타의 호환문제를 겪어본 것이 아니라 속단하기는 이르지만, 이 문제는 언젠가는 짚고 넘어가야할 Windows라는 OS의 문제였지 ActiveX의 문제라던가 정부정책의 문제를 수면으로 끌고 올라올 문제는 아니라는 생각이 든다. (주. ActiveX에서 호환문제가 더 커지는 것은 Stand-alone Application이 아니기 때문에 권한 설정이 불가능하고 Exception발생시 프로그램이 죽을 확률이 더 높기 때문이다.)한 회사의 솔루션을 정부 사이트에 적용해버린 부분의 문제는 이 문제와는 별개란거다. 시간을 거슬러 처음 NT기술이 일반 사용자에게 접목된 2000, 혹은 XP가 나올때 MS는 일반 사용자에게는 걸맞지 않은 NT 기술의 ACL을 도대체 어떻게 사용하기 쉽게 펼쳐놓을지를 고민했을 것이 분명하다. 하나의 홀더안에서도 파일의 성격에 따라 다른 권한을 주는 복잡다단한 OS가 될 것인가, 아니면 모든 파일이 관리자소유이고 모든 사용자가 관리자인 단순한 OS가 될 것인가의 갈림길에서 MS는 과감히 후자를 택했고, 그 이후로 대부분의 우리는 파일의 권한관리와는 담을 쌓고 살아왔다.

비스타의 하위 호환문제의 핵심은 새로운 "기능(function)"이 아니라 새로운 "정책(policy)"이다.

이미 가지고 있는 기능이지만 사용자의 편의를 위해서 죽여놨던 기능들을 허술한 보안체계의 OS라는 불명예를 씻어버리기 위해 부활시킨 것 뿐이다. 다만 그 과정에서 예고없이 강화한 많은 "정책"들이 기존 프로그램들의 호환성을 떨어뜨린 것뿐이다. 물론 개발자가 루트 홀더에 마구잡이로 파일을 생성한 것은 잘못된 것이지만, 그것이 이후 하위호환성을 떨어뜨릴 수 있다고 경고하지 않은 것은 M$다.
AND

많은 관심/무관심 속에 Windows Vista가 정식 런칭되었다. 이번만큼 OS의 향상된 변화의 폭을 가늠하기 애매한 때가 없었던 거 같다. Win16, Win32에 이은 새로운 API 체계인 WinFX를 갖추었지만, WinFX는 결국 .NET 3.0 Framework이기 때문에 획기적이라 부르기에 논란의 여지가 있다. Epic 개발자 발언으로 논란이 되고 있는 DX10 역시 비스타전용으로 분류되기엔 무리가 있다. (이미 발표된 DirectX 2006 Dec. 버전에서 DX10의 기능을 XP에서 개발/활용할 수 있다.)

몇주전에 .NET 3.0 Framework을 깔고나서 Visual Studio.NET 2005(이하 VS.NET)의 Form Designer에 비약적인 성능하락이 있었기 때문에(이벤트와 커맨드를 UI에서 연결해주는 기능이 사라졌다;;), Expression Blend를 오늘 수업사이 남는 시간에 깔아보았다. (* Expression Blend는 별도의 프로그램으로 어플리케이션 개발에서 프리센테이션 레이어인 XAML만을 디자인하는 도구이다.)

M$ Expression Blend의 첫 소감을 말하자면 VS.NET Form Designer + Adobe Flash + Maya 정도랄까, 매우 상이한 여러개의 카테고리가 엉성한 틀안에 공존하는 느낌이다. XAML를 기본으로 하여 폼을 디자인하고 리소스들을 배열하고, Flash와 같이 Timeline을 생성하여 각 구성요소의 애니메이션을 정의하고 트리거를 연결할 수 있다. 또한, 3D 객체와 Material을 불러와 버튼이나 구성요소등으로 활용할 수 있으며, 3D 객체 역시 Timeline을 이용하여 모든 속성(Material, Camera, Translation, ...) 등을 애니메이션할 수 있다.

분명 디자이너를 위한 툴인데, 이 모든걸 소화할 디자이너가 과연 몇이나 있을까...

짬을 내서 만들어본 Hello World. 비정형 윈도우에 3D 객체를 불러온다음, Canvas를 만들고 그 위에 3D 객체의 랜더링 결과를 Visual Brush로 만들어 연결하고 Flip시켜서 Reflection 비스무리한 효과를 만들었다. 그런다음 각 개체의 Animation을 Timeline을 생성하여 만들고, 트리거를 이용하여 마우스 Interaction에 적당히 연결해 놓았다.

결과는 나쁘지 않은데, 비정형 윈도우에서 3D 객체와 이미지들이 알파(투명도)가 먹은채로 잘도 돌아간다. 3D 객체라도 윈도우 기본 이벤트를 모두 내포하고 있기 때문에 버튼이나 기타 컨트롤로 100% 활용이 가능하다. (오른쪽의 병은 마우스 포커스시 Diffuse Color가 Blue로 변하며 클릭시 X Scale이 커지게 되어 있다.) 구경하던 친구말대로 "Application"에 대한 정의를 바꿔놓을 수 있는 잠재성이 있어 보인다.

툴의 단점을 나열하자면, 너무나 많은 부분을 담고 있기 때문에 세세한 부분에서 부족한 점들이 있다. 애니메이션 객체를 지우면 코드에 적용이 안되서 실행시 에러가 난다던지, Timeline 애니메이션에서 Curve Interpolation이 지원안된다던지, 3D 객체를 불러와도 3D 애니메이션은 불러오지 못한다던지, 텍스쳐 적용이 안되고, 쉐이더 역시 사용불가이고, Timeline 애니메이션이 Reverse Play Control이 안되고, Repeat 설정은 XAML에서 직접 해줘야 한다던지, 말하자면 끝이 없다. 차라리 Flash나 Maya에서 디자인된 결과를 XAML 테그로 Export하는 기능이 있는게 나을듯 하다.

Vista의 에어로UI의 룩앤필을 가지고 OS X보다 못하다던지, 그냥 구리다던지 비평하시는 분들이 많은데, 압도적인 기술을 가지고도 멋진 UI를 만들어내지 못하는 M$는 역시나 개발자의 회사임이 틀림없다. 3D 모델이나 효과, 그리고 벡터가 접목된 Vista의 UI는 아직까지 UI 디자이너들의 관심이 절실히 필요한 부분임에 틀림없다.

Hello World 다운 받기(XP이하에선 .NET 3.0 필요)

.NET 3.0 Runtime 다운 받기
AND

Sydney에서 열린 TechEd 2006에서 Microsoft의 Senior Program Manager인 Steve Riley는 이렇게 말했었다고 한다.

The 32-bit version of the company's upcoming Windows Vista OS will not support protected high-definition content, including HD DVD and Blu-ray movies.
해석해보면 32비트 버전의 윈도우 비스타는 블루레이나 HD DVD같은 Protected(해석해 놓으면 애매해서 그대로 놔둠) HD 컨텐츠를 지원하지 않을 것인데, 이 말은 32비트 비스타 OS상에서 HD 컨텐츠를 구동하는 Protection decoding등의 일련의 명령셋을 제공하지 않는다는 말이지만, 많은 유저들에게 32비트 비스타 OS에선 HD DVD나 블루레이를 볼 수 없다는 말로 오해를 샀던 모양이다.

이를 해명하기 위해 Microsoft는 이렇게 말했다고 한다.

Whether or not it will actually happen is up to the third-party playback software makers and the content owners themselves. There will be no native Blu-ray or HD DVD support in Windows Vista.
한마디로 직접 만들진 않지만 누군가 만들것이 분명하다는 말인데..
DVD의 경우에도 세부적인 히스토리는 모르지만, OS상에서 지원하는 플레이어를 통해서
DVD를 본 적이 한번도 없다. (항상 코덱을 사야한다는 말이 떠서, 결국 공개 코덱이나
DVD플레이어를 설치하고 봤었다.) 번들화 할 경우 상거래법 위반이 되기 때문일까??

뉴스 바로가기
AND