
Platform Death Match
Friday, August 25, 2006
경쟁이란 좋은 것이다. 더 많은 경쟁자가 들어설 수록, 경쟁은 혁신을 촉진시키고, 그 결과 더 나은 제품이 더 많은 효율성을 갖고 나온다. 하지만 경쟁이 그렇게 좋다면, 상용 운영체제 시장에서도 왜 경쟁이 더 생기지 않는 것일까?
80년대와 90년대에는 회사들마다 각자의 운영체제를 갖고 경쟁을 벌이고 있었지만, 그렇다고 그 경쟁이 딱히 소비자들에게 이득이 되는 것 같아보이지는 않았다. 오히려 IBM의 OS/2와 애플의 맥, 마이크로소프트 윈도우즈, 그 외에 Amiga, Atari, Be, NeXT, 여러가지 DOS 회사들이 내어 놓는 대안들은 그저 소비자들에게는 혼란과 불확실성만을 심어다 주었다.

오늘날 주요 상용 데스크톱 플랫폼은 크게 두 가지로 나뉜다. 마이크로소프트 윈도우즈 XP와 애플 맥오에스텐이다. 왜 다른 선택들은 사라져버렸을까?
본 기사는 운영체제 플랫폼을 소개하고, 역사적인 플랫폼들간의 흥망성쇠를 다루도록 하겠다. 그 다음에는 플랫폼의 역사와 함께 애플과 마이크로소프트가 어디로 향하는지, 새로운 버전을 내놓으려면 어떠한 도전을 받아들여야 하는지에 대해 알아보겠다.
What is a Platform?
컴퓨팅에 있어서 플랫폼이란 개발자들의 개발 기반이다. 플랫폼은 표준 PC 플랫폼과 같이 하드웨어를 묘사할 수 있다. 또한 대부분의 하드웨어상에서 돌릴 수 있는 썬의 자바 플랫폼과 같이 소프트웨어도 설명할 수 있다.

애플은 32/64-비트 PowerPC 맥과 32/64-비트 인텔맥 하드웨어를 동시에 지원하는 단일 버전의 맥오에스텐 플랫폼을 제공하기 위해 작업중에 있다. 현재의 타이거는 각각의 하드웨어별로 나와 있다. 그러나 맥오에스텐용으로 나온 소프트웨어는 어떠한 맥에서도 돌릴 수 있다. 똑같은
유니버설 바이너리 패키지로 만들어졌기 때문이다. 즉, 애플은 단일된, 통합된 플랫폼을 만들었다.
마이크로소프트는 여러가지 하드웨어 플랫폼용으로 여러가지 버전의 윈도우즈를 유지하고 있다. 제일 일반적인 윈도우즈는 32-비트 윈도우즈 XP이지만, 마이크로소프트는 64-비트
Itanium용 버전과 또다른 64-비트 PC
x64 버전(AMD64 PC용)도 출하하였다. 그리고 윈도우즈 CE와 관련된 모바일용 버전이 있으며, 마이크로소프트 Xbox 360
게임콘솔도 고유의 윈도우즈를 돌린다. PowerPC 프로세서를 사용하는 하드웨어용으로 특별히 포팅된 버전이다. 윈도우즈용 소프트웨어도 고유의 하드웨어를 목표로 해야한다.
플랫폼의 정의가 워낙에 융통성이 있기에 비교를 해 봐야 플랫폼의 정의를 이해하기 쉬워진다. "윈도우즈" 플랫폼도 그리 정확한 표현은 아니다. 마이크로소프트가 여러가지 종류의 윈도우즈 제품을 내놓고 있으며, 각 윈도우즈 버전이 특정 플랫폼을 대표하기 때문이다. 더구나 "PC 플랫폼"도 더이상 유용하지는 못하다. 애플의 최신 맥이 이제 윈도우즈를 돌리는
PC와 동일해졌기 때문이다.
플랫폼의 흥망성쇠(興亡盛衰)를 비교해보기 위해, 본 기사 시리즈는 플랫폼을 하드웨어와 소프트웨어 간의 고유의 결합으로 간주하겠다.
Introducing a New Platform
비록 호환모드가 많이 나와서 다른 시스템용으로 디자인된 소프트웨어도 돌릴 수 있었지만, 80년대에 나온 거의 모든 컴퓨터는 고유의 운영체제를 운영하였고, 그에 따라 고유의 애플리케이션을 요구하였다.

당연히 모든 소프트웨어를 돌릴 시스템이 나오기를 바라는 소비자들도 생길 법하다. 하지만 이전 기사에서 필자는 왜 이 아이디어가 좋은 생각이 아닌지 설명하였다. 바로 "
유토피아 시스템의 미신을 벗긴다"의 기사에서 다른 소프트웨어를 돌리는 능력이 왜 해당 플랫폼의 생존과 별 상관이 없는지, 여러가지 호환 모드와 그 사례를 들고 있다. 한 가지 예를 들면 Atari ST는 DOS와 맥 소프트웨어를 모두 다 돌릴 수 있었다.
이상적으로 컴퓨터 시스템은 특화된 운영체제와 애플리케이션이 있어야 그 하드웨어의 장점을 십분 활용할 수 있으며, 또 그렇게 디자인되어있다.
새 플랫폼의 소개에는 엄청난 수고가 들어간다. 초기 디자인은 오히려 쉬운 부분에 속한다. 플랫폼의 창조는 써드파티 개발자들의 지원과 함께, 개발자들의 필요를 충족시켜줄 개발의 진척을 요구한다.
운영체제 요구사양이 점점 더 복잡해지면서 코드기반의 유지도 복잡해지고 어려워졌다. 플랫폼 개발자들은 자기 시스템 유지뿐만 아니라, 끊임 없는 신기술의 영입과 혁신이라는 압박을 받아야 한다.
즉, 두 가지 노력이 서로간의 목표를 채워주어야 한다. 플랫폼이 변화한다면 플랫폼의 유지는 좀더 어렵다. 하지만 플랫폼이 기술 경쟁에서 밀리는 경우에는 플랫폼 유지가 더욱 더 어려워진다.
Maintaining Platforms
첫 번째 매킨토시의 발표는 개발에만 거의 5년 정도 걸렸으며, 애플이 애플 II 매출덕분에 꾸준한 수입을 올렸기에 겨우 가능했다.

Amiga와 Atari, Be, 그리고
NeXT가 초기 제품을 팔기 위해 벌여야 했던 노력을 생각해 보시라. 제품 하나 개발에만 수 백만 달러의 개발비용이 들어갔다.
개발자들은 플랫폼 제공이야 쉬운 부분에 속함을 빠르게 알아차렸다. 문제는 플랫폼의 유지이며, 이 유지에는 훨씬 더 많은 수고가 필요하다. 5년마다 컴퓨팅의 새로운 시대가 각 플랫폼에 새로운 기능을 더하면서, 각 플랫폼의 경쟁도 이어진다.
플랫폼이 점점 더 복잡해질 수록, 벤더들도 다른 컴퓨팅과 보조를 맞추기 위해 새 하드웨어와 새 소프트웨어 제공에 경쟁압박을 받는다. 기능을 못맞추어주면 판매량을 잃게 되고, 빠른 죽음을 맞이하기 때문이다.
그 결과 하드웨어 벤더들이 운영체제 개발을 한 벤더에 맡겨버리는 시장 형태가 나타났다. 바로 마이크로소프트이다. 한편 애플은 유일하게 전통을 고수하면서 하드웨어와 소프트웨어의 결합이라는 고유의 플랫폼 조합을 유지시켰다.
지난 30년간의 역사를 보면, 왜 어떤 플랫폼은 성공하고, 어떤 플랫폼은 실패했는지, 경쟁을 못따르는 경쟁자들을 처단해버리는 혁신의 물결이 무엇이었는지의 단서를 알 수 있다. 다음 기사에서는 소비자 컴퓨팅 플랫폼의 세대별 역사에 대해 보고, 각 벤더들이 생존을 위해 어떤 선택을 했는지 알아보겠다.
I really like to hear from readers. What do you think? Leave a comment or email me with your ideas.
http://www.roughlydrafted.com/RD/Hom...EF7FAFD3A.html