2010년 상반기의 IT 세계는 21세기 초를 한 번 더 보는듯한 엄청난 속도로 달린다. 스마트폰이 가져다준 새로운 기회와, 그 헤게모니를 둘러싼 수많은 회사들의 주도권 경쟁은 '오늘 달리지 않으면 내일 죽을 것 같은' 구름을 만들어낸다.

지금의 이 경쟁을 운영체제의 관점에서 보면 깔끔한 삼파전으로 정리된다. 애플의 iPhone OS, 구글의 안드로이드와 MS의 Windows mobile 이다. (RIM 미안; ) 시작된 지 얼마 되지 않은 것처럼 보이는 운영체제 전쟁은 그 안에 엄청난 역사와 함께 재미있는 점을 가득 안고 있다. 세 운영체제는 스마트폰 운영체제이지만 개발의 역사는 훨씬 오래되었고, 그 방향도 다르다.

*

MS의 윈도우 모바일 운영체제는 긴 역사를 가지고 있다. 처음의 방향은 '데스크탑 경험을 그대로 이동형 장치로 이전하는' 것이 목표였다. 그렇지만 당시의 모바일 프로세서의 성능이 충분치 않았기 때문에, 모바일용 운영체제는 시스템 구조나 프로그램 설치, 레지스트리 등 '기본적인 방향'을 유지한 채로 새로 작성되었다. 윈도우 모바일 운영체제는 Windows CE와 PPC2000, 2002와 Windows smartphone 운영체제를 거치며 원래의 목표를 꾸준히 실현하고 있었다. 모바일을 대하는 마이크로소프트의 시각은 경쟁사였던 Palm을 밀어내며 하나의 패러다임으로 자리 잡았다.

이후 마이크로소프트는 윈도우 모바일과 병행하여 기존의 '데스크탑 경험의 이동형 장치로의 이전'을 위한 철학을 합리적인 방법으로 해결하기 위한 장치로 타블렛 개인용 컴퓨터와 오리가미-UMPC를 제안하였다. 둘 다 시장에서 크게 성공하지는 못했는데 그 이유는 간단했다. 생각보다 '이동성'을 해결하기 쉽지 않기 때문이다.

윈도우 모바일이 제안하는 '모바일에서의 데스크탑 경험'은 근본적인 문제를 갖고 있었다. 크게 기술적인 부분과 감성적인 부분으로 정리해 볼 수 있다. 윈도우 모바일은 하드웨어의 한계로 데스크톱 윈도우와 독자적인 운영체제가 되었다. 그래서 모든 라인업이 중복 개발된다. 실질적인 경쟁자들이 시장에서 사라진 이후엔 모바일쪽의 사용자 경험 개선은 부진해졌다. 너무 달라져 버린 운영체제 구조 덕에 데스크톱쪽의 개선 사항이 모바일로 바로 반영되기 힘들기 때문에, 윈도우 모바일은 갈수록 데스크탑과 기능 및 UI에서 멀어졌다.

이 부분에서 감성적인 부분의 문제가 겹쳐진다. '아주 작은 랩탑' 처럼 보였던 기존의 WinCE 기기들은 데스크톱처럼 보였지만, 이후 모바일 기기의 주류가 된 스마트폰은 사용자 경험이 완전히 달랐다. 그렇지만 윈도우 모바일 스마트폰의 인터페이스에는 여전히 시작버튼이 있었고, 풀다운 메뉴가 나왔고, 프로그램 폴더 구조와 인스톨 쉴드-액티브 싱크를 통한 프로그램 관리가 있었다. RIM이 등장했고, iPhone이 판을 뒤집은 후 안드로이드 플랫폼이 쏟아졌다. 경쟁 플랫폼들은 서로 매우 달랐지만 '윈도우 모바일에서 버리지 못했던 점' 들을 과감히 버리고 뒤집었다는 공통점이 있었다.

큰 기업이 쉽게 내리기 힘든 결정이다. 마이크로소프트는 2010년을 통째로 버렸다. 기존의 플랫폼과 호환이 되지 않는 플랫폼의 개발을 제품 출시 1년 전에 발표했다. 개인적으로는 조금 늦었지만 제대로 된 결정이라고 생각한다. 스마트폰으로는 기본적으로 PC와의 통일된 경험을 제공하는 것이 불가능하다. 어차피 기존에도 윈도우와 윈도우 모바일이 병행개발되고 있는 상황이었으므로, 지금이라도 각각의 동작 환경에 맞게 특화시키는 것이 맞는 대답일 것이다. 올해 말은 그들이 2010년을 어떻게 썼는지 알게 해 줄 것이다. 마이크로소프트는 가장 오래 스마트폰 시장을 장악한 경험과 함께 최고의 오피스 소프트웨어를 만드는 인력이 있다.

*

2000년대 초 리눅스를 기반으로 하는 여러 모바일 운영체제들과 기기들이 등장했지만 PDA 시장에서는 윈도우 모바일에 밀려 참패하였다. 각각의 파이 크기가 너무 작아서 질량의 차이를 극복하지 못하였다. 임베디드 시스템에는 리눅스가 엄청나게 올라갔지만 유독 사용자 친화 기기 시장에서는 그 점유율이 크지 못했다.

구글에서 안드로이드를 인수하면서, 처음으로 리눅스를 기반으로 한 운영체제가 스마트폰 운영체제로서 광범위한 장치에 동시에 올라갈 기회가 생겼다. 구글은 기존 리눅스 기반의 모바일 운영체제들의 문제를 제대로 인식하였다. 그래서 응용 프로그램이 돌아가는 부분을 가상화로 구현해서 이후에 생길 수 있는 장치간 호환성 문제를 비켜가려고 하였다. 그 시도는 기기의 성능을 일부 희생했지만, 원하는 만큼 많은 기기가 놀라울 정도로 통일된 환경을 유지하도록 해 주었다.

안드로이드 플랫폼의 문제는 크지 않은 각각의 문제가 동시에 발생하면서 시너지를 일으킨다. 리눅스는 업데이트 주기가 빠르다. 업데이트 주기가 빠른 것은 변화를 좋아하는 리눅스 사용자들에게는 그리 문제가 되지 않는다. (물론 우분투 등은 업데이트 주기를 줄이기 위해서 6개월마다의 업데이트와 별도로 1년 6개월 주기로 LTS -장시간 사후 지원 판본- 을 내 놓는다) 안드로이드도 리눅스의 속도감을 그대로 가져왔다. 아직 자리잡히지 않은 플랫폼이기에 변화 속도가 엄청나다. 이러한 속도는 기기를 목적이 아닌 도구로 사용하기 원하는 사람들에게 부담을 주는 요소이다. 또한 기기를 만드는 회사에게도 피로를 준다.

모바일 하드웨어 개발사들은 잦은 업데이트에 익숙치 않다. 스마트폰 이전의 핸드폰은 운영체제의 업그레이드를 사용자에게 제공하기가 굉장히 어려웠기 때문에 개발이 끝나는 순간 완성되어 있어야 했다. 피처폰에서의 업데이트는 '문제를 수정하기 위해서' 제공될 뿐, 기능을 더하기 위한 경우는 매우 드물었다. 그래서 핸드폰 제작 업체들의 개발 주기는 새로운 하드웨어 개발에 맞추어져 있다. 하드웨어를 소프트웨어로 보완하는 스마트폰식 개발 모델을 고려하지 않았었기 때문에, 스마트폰 개발 및 생산에 기존의 피처폰 기준의 생산 흐름을 그대로 적용할 경우 기기의 단가 및 수익 모델 설계가 어긋나게 된다. 안드로이드 업데이트 주기와 모바일 업체의 대응이 맞물려 안드로이드 기기들의 수명은 원래 의도보다 엄청나게 짧아지고 있다.

안드로이드 운영체제의 가능성은 엄청나다. 아직 할 수 있는 부분이 엄청나게 남았기 때문이다. 이번에 도입되는 즉석 컴파일 기능은 응용 프로그램 구동 속도를 향상시켰으며, 복잡했던 개발 환경 또한 처음의 중구난방식 구조에 비해 어느정도 최적화된 틀 및 체제가 잡혔다. 할 수 있는 부분이 많이 남았다는 것은 동시에 갈 길이 아직 많이 남았다는 것이기도 하다. 갈 길이 많이 남은 안드로이드의 궁극적인 문제는 앞에서 이야기한 기술적인 부분이 아니라 사람과 관련된 부분이다. 구체적으로는 안드로이드 플랫폼을 중심으로 한 기업과 핸드폰 개발사들의 문화와 구조가 이후 플랫폼 발전에의 숙제가 될 것이다.

*

애플은 모바일 운영체제를 설계하면서 기존의 맥 운영체제를 엄청나게 경량화하는 식으로 접근하였다. 안드로이드가 리눅스를 기반으로 했다는 점을 고려해 보면, BSD와 Mach를 기반으로 한 맥오에스를 경량화하는 식의 접근도 고려할만한 방식이었다. 애플은 프레임웍을 엄청나게 깎고 유저 관리 부분을 간략화하여 iPhoneOS를 완성하였다.

그렇지만 애플은 iPhone OS를 한 번 다시 설계해야 했다. 처음 iPhone OS를 설계할 때는 '네이티브 어플리케이션'의 개발을 전혀 고려하지 않았다. 애플의 모든 어플리케이션은 사파리를 통해 웹 기반으로 만드는 것을 가정하였다. (첫 발표때 애플은 어플리케이션 개발을 허용하지 않는 것을 분명히 했었다.) 실제로 애플은 해킹 커뮤니티가 루트 권한을 획득하고 gcc를 이식한 후 자체적으로 개발에 필요한 프레임웍을 만드는 과정을 보고서야 네이티브 어플리케이션에 대한 요구를 실감했을 것이다. 스티브 잡스가 고집을 꺾는 일은 흔하지 않지만, 어쨌든 그는 원래 자신의 주장을 철회했던 것 같다.

iPhone OS를 2.0으로 재설계하면서 애플은 경량화를 위해 덜어 냈었던 많은 구조들을 도로 복원해야 했다. 예를 들면 root밖에 존재하지 않았던 사용자 계정에 접근 권한이 제한된 mobile 계정을 추가하는 등의 작업들이다. 운영체제를 완전히 다시 설계하는 작업 치고는 단시간에 끝날 수 있었던 것은 유닉스의 기본 개념들과 유틸리티들을 거의 그대로 사용할 수 있기 때문이었다. (chroot jail을 사용해서 응용 프로그램들의 실행 범위를 제한하는 등의 응용이 가능했다.) Windows Phone 7을 새로 쓰고 있는 지금의 마이크로소프트에 비하면 새로이 구현해야 할 부분이 훨씬 적은 편이었다. 그렇게 애플은 '앱 스토어'를 만들고 압도적인 어플리케이션 보유량을 자랑하는 지금의 위치에 올라갔다.

iPhone OS의 위기는 지금부터일 것이다. 애플은 단일 밴더이다. 특유의 기업 분위기 탓에 기술과 감성을 연결하는 쪽에서는 선두를 달려갈 것이지만 기술 그 자체만 두고 보았을 때의 경쟁력은 조금씩 약해질 것이다. 그래도 애플이 쉽게 경쟁에서 도태될 것 같지는 않아 보인다. 애플은 항상 위기였다. 정말 혹자의 말처럼 세계에서 가장 큰 벤처를 보는 느낌이다.

*

판이 바뀌었다. 바뀐 판에서 윈도우, 리눅스, 맥의 아들들이 경쟁하는 중이다. 그 결과와 방향이 굉장히 다르기는 하다. 앞으로는 어떤 식의 전쟁이 벌어질까?

마이크로소프트는 진짜로 윈도우 그 자체의 경량화 판을 만들어서 모바일 기기에 밀어 넣을 수 있다. (여러번 해 왔지만 그래서 더욱 포기할 수 없는 목표이기도 하다.) 구글은 크롬 OS를 안드로이드 커널 위에서 돌아가도록 만들 수 있을 것이다. 커널 부분은 하나로 통일하고, 그 위의 레이어 구분을 통해 둘간의 차이를 둘 수도 있겠다. 애플은 iOS 발표로 iPhoneOS를 다기종간 단일 OS로 격상시켰다. 얼마 안가서 iPod OS도 갈아치우지 않을까 싶다. iOS로 돌아가는 아이팟 나노 사이즈의 음악 재생 전용 장치를 만드는 것도 괜찮을 것이다.

스스로 해 본 가정에서 공통되게 가정하고 있는 재미있는 점이 하나 있다. 다운사이징을 통해 최적화된 운영체제/플랫폼이 다시 중대형 장치로 올라갈 것이라는 생각이다. 펜티엄 4를 과감히 접고 펜티엄 3를 기반으로 한 펜티엄 M에서 코어 아키텍처로 이전한 인텔을 함께 떠올려 보자. 모바일 플랫폼의 궁극적인 방향은 더 작은 리소스를 사용해서 같거나 버금가는 일을 하는 것이다. 충분히 비슷한 일을 할 수 있게 된다면 PC의 영역 일부가 모바일 플랫폼을 기반으로 한 저전력 장치로 대체될 것이다. 우리는 이미 그 가능성을 넷북을 통해 살짝 보고 있다.

모바일 운영체제간 경쟁이 아닌 모바일 운영체제들과 데스크탑 운영체제들간의 전쟁은 언제 시작될까? 동일 작업당 장치 에너지 소비의 최소화 문제가 가장 두드러지는 플랫폼이 모바일 플랫폼이다. 그러한 환경에서 자란 운영체제들은 시간이 흘러 IT 생태계가 플랫폼에 가장 적합한 환경 -단위 작업당 에너지 소비의 최소화가 요구되는- 이 되면 엄청난 속도로 세상을 잠식할 것이다. 언제쯤 소비 에너지를 둘러싼 패러다임이 PC를 포함한 환경에서 절대적인 요소가 될까? 그 순간이 되면 변화한 환경에 적응하기 위한 경쟁에 의해 일어나는 최적화의 결과가 운영체제 시장을 순식간에 뒤집을 것이다. 아마 생태계에서 일어나는 대멸종 -불연속적이고 급진적인 진화- 처럼 보일 것이다. 그 시점이 궁금하다.

연관된 글

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/06/10 17:28 2010/06/10 17:28
트랙백이 없고, 댓글 2개가 달렸습니다.
ATOM Icon 이 글의 댓글이나 트랙백을 계속 따라가며 보고 싶으신 경우 ATOM 구독기로 이 피드를 구독하세요.