[79] 안드로이드 비긴즈 ==============================
#52-1
○ 안드로이드 비긴즈
“하, 이거 내가 보고 있는 게 그쪽의 정식 답변이 맞나?”
직원이 올린 서류를 받아든 게이츠는 눈을 의심했다. 심지어 안경까지도 고쳐 썼다.
“자네 눈은 틀리지 않았어.”
먼저 서류를 확인했던 스티브가 확언을 해주었다. 그제야 게이츠의 얼굴에 황당함은 사라지고 서서히 분노가 오르기 시작했다.
게이츠와 스티브, 마이크로소프트의 최고 경영자들이 보고 있는 문서는 레밍턴이 유재원의 답변을 서류로 만들어 보낸 공문이었다. 물론 레밍턴은 유재원의 발언을 원문으로 보내진 않았다. 법률 전문가인 엘런과 상의해서 ID 테크놀로지의 오너이자 최고경영자의 지위에 맞도록 격식을 갖췄다.
“투자는 필요 없고, 도스의 메모리 문제는 자기들이 단돈 1달러에 해결해주겠다고?”
물론 그렇다고 유재원의 발언 자체를 왜곡한 건 아니다. 정중한 말투로 바뀌었을 뿐이다.
마이크로소프트가 지금껏 해결하지 못한 메모리 문제를 4달러도 아니고, 단돈 1달러에 해결해주겠다는 핵심 문장은 원문의 느낌을 최대한 살려서 그대로 담았다.
“후후, 하룻강아지가 뭐가 무서운지 모르는 모양이야.”
게이츠는 1달러 문제를 자신들의 제안을 거절하는 정도가 아니라, 도발로 받아들였다.
마이크로소프트의 실력을 최고라고 과신하는 게이츠와 스티브였다. 도스의 기본 메모리 문제는 이런 자신들도 풀지 못하는 것인데 겨우 열댓 명의 직원밖에 없는 ID 테크놀로지가 이걸 푸는 건 불가능하다고 생각했다.
당연히 게이츠나 스티브도 메모리 문제의 해결 방법은 알고 있다.
관리라는 게 없는 도스의 메모리 정책을 유닉스와 같은 방법이나 윈도우 2.0에서 시도한 보호모드를 쓰면 된다. 하지만 그렇게 해서 메모리 문제를 해결하면 뭐하나. 이미 출시된 수백만 종에 달하는 응용 프로그램과의 호환성을 버리게 되는데 말이다.
“설마 이 녀석들의 방법도 호환성을 살리진 못하겠지.”
ID 테크놀로지의 1달러 도발 역시 호환성을 버리고 강력한 메모리 관리법을 사용하는 것으로 판단했다.
“그렇겠지. ID 오피스의 메모리 관리 방법이 그거니까.”
판단의 근거는 ID 오피스였다.
리버스엔지니어링을 통해 ID 오피스가 별도의 메모리 관리 유틸리티를 내장하고 있다는 것을 확인했다. MS 오피스보다 강력한 성능의 바탕 중엔 메모리 관리 유틸리티의 지분이 상당했다.
그렇기에 ID 오피스를 실행하려면 QEMM 386과 같은 사설 업체가 만든 비규격 메모리 유틸리티를 먼저 실행하면 충돌이 일어난다. 이 말인즉슨, ID 오피스의 메모리 관리 방식을 도스에 적용하면 기존의 프로그램과의 호환성을 버려야 한다는 것과 같았다.
“그나저나 우리가 이렇게 깨끗하게 거절당하는 건 정말 오랜만인데?”
“후후, 신생업체잖아. 아직 뭘 모르고 홧김에 던진 것일 수도 있지.”
“그렇겠지. 하여튼 도스 4.0 출시를 서둘러야겠어.”
“메모리 안정성을 강화해서 말이지?”
“당연하지. 7월 말 출시는 예정대로 이뤄질 걸세. 그 후에 이 녀석들이 어떻게 대응하는지 지켜보는 것도 흥미로운 일이겠군.”
둘은 4.0에서 ID 오피스의 메모리 관리 유틸리티의 안정성을 보장하지 않을 거라는 말은 직접 말하진 않았다.
경쟁사 프로그램을 배제하는 방법에는 도가 튼 둘이었고, 수많은 소송 경험을 통해서 어떻게 말해야 법에 걸리지 않을 거라는 비법도 몸으로 체득했다.
“아, 그런데 그쪽 개발진들에게 스카우트 제의도 하지 않았던가?”
보면 볼수록 불쾌한 1달러짜리 제안이 담긴 서류는 던져버린 게이츠가 이야기의 주제를 바꾸었다.
“그래, 마리오 로저스라고 ID 테크의 선임 개발자나 일부 프로그래머 들과 헤드헌터들이 접촉을 하고 있긴 해. 그런데 큰 기대는 하지 않는 게 좋을 거 같아.”
“응? 이유가 뭐지? 우리 이름값이 부족한가? 아니면 보수가 부족한가?”
“ID 오피스와 연계된 인센티브가 상당한 것 같아. 발매 당일 보너스도 나오고 판매량에 따라 런닝 개런티 같은 보너스를 준다나?”
게이츠는 이직을 망설이는 로저스라는 작자를 이해하지 못하겠다는 듯 고개를 절래 흔들었다.
마이크로소프트가 견제하기로 마음먹었다면, ID 오피스의 앞날은 고달픈 가시밭길이었다. 판매량도 시원찮을 것이고, 그러면 약속한 보너스도 못 받을 공산이 크다.
그런데도 그걸 받겠다고 기다리면, 서서히 뜨거워지는 물에 담궈진 개구리 같은 꼴이 되는 거다.
“하, 런닝 개런티라고? 거기 회사는 경영자나 직원이나 현실 파악 못하는 게 특징인 모양이군.”
상대가 그것도 계산하지 못하는 바보라면, 더 신경 쓸 것 없다는 게이츠였고, 스티브도 동의하는 듯 고개를 끄덕였다.
둘은 곧 다음 안건으로 넘어갔다.
“그나저나 윈도우 3.0은 그대로 출시해야 겠지?”
“그래야지. 고치기엔 이미 너무 늦어졌어. 게다가 그 녀석들 제법 준비가 철저하더군. 리본 인터페이스라고 전 세계에 특허를 다 내놨지 뭔가. 깡그리 무시하고 채용하더라도 소스코드를 상당 부분 바꿔야 해서 시간을 맞추는 건 어려울 것 같아.”
차세대 그래픽 운영체제인 윈도우 이야기였다. 그들에게 고민을 안겨준 건, 윈도우 운영체제의 인터페이스에 대한 이야기였다.
게이츠나 스티브도 보는 눈이 있다.
ID 오피스에 적용된 리본 인터페이스의 간결함과 직관성은 윈도우가 채택한 프로그램 매니저를 가뿐히 능가했다. 둘의 이야기는 리본 인터페이스의 특허에 걸리지 않으면서 그 형태를 최대한 가져올 방안을 마련하는 것에 있었다.
“어쩔 수 없지. 대신 윈도우 NT에라도 적용할 수 있게 해야지.”
“당연히 그래야지.”
윈도우 NT는 기업용 운영체제로 유닉스와 대등한 경쟁을 할 수 있도록, 완벽한 32비트 코드로 설계하고 있는 윈도우였다.
지금은 개발팀 몇몇이 개념을 잡고 있는 정도의 프로젝트였지만, 윈도우 3.0의 개발이 끝나는 즉시, 개발자를 대량 투입해서 본격적인 개발에 들어갈 예정이었다.
둘의 대화는 이것으로 끝이었다.
ID 테크놀로지의 존재를 인지했음에도, 이미 덩치가 커진 마이크로소프트의 대응은 지극히 관성적이었다.
따르릉~. 따르릉~!
마이크로소프트의 최고 권력자인 둘의 대화가 한창일 때, 인터폰이 울렸다.
“어흠! 음! 멜린다? 무슨 일이야?”
수화기를 들어 평소처럼 부드럽게 말하는 게이츠였다.
까칠하기로 소문난 게이츠였지만, 최근 자신의 비서가 된 멜린다에겐 친절한 사람이었다.
“뭐야! 그게 무슨 말이야!”
하지만 멜린다가 전하는 이야기는 평소의 상황이 아니었다. 몇 마디 짧은 말을 주고받은 게이츠는 쾅하는 소리가 날 절도로 수화기를 세게 내려놨다. 인터폰 통화 중이던 게이츠를 보고 있던 스티브도 깜짝 놀랄 만큼 강렬한 반응이었다.
게이츠가 모난 성격이긴 해도 폭력적이진 않았는데, 이렇게 버럭할 정도면 엄청난 일이 터진 게 틀림 없다. 다만 이번 인터폰으로 올라온 껀수는 분명 자신까지도 경악할 것 같은 강렬한 예감이 드는 스티브였다.
게이츠는 심호흡을 하며 입을 열었다.
“후! 후! 알파 랩의 컴퓨터들이 이유를 알 수 없는 에러를 동시다발적으로 일으켰다는 보고야. 하드 디스크가 깨졌고, 지금 복구를 시도하는 중이라는 군.”
역시 예감은 적중했다.
“뭐야! 몇 대나?”
“확인 중이라지만, 벌써 10대가 넘어!”
최악의 보고였다.
알파랩은 현재 마이크로소프트가 보유한 가장 유능한 개발자들만 모아서 만든 프로그래밍 팀이었다. 윈도우와 도스의 핵심 코드를 개발하는 것부터 ID 오피스의 리버스엔지니어링 등, 마이크로소프트가 가장 중요하다고 여기는 임무가 부여되어 있다.
“안 되겠어! 직접 가봐야겠어!”
도저히 사무실에 앉아 있을 수 없는 둘은 벌떡 일어나 알파 랩을 향해 달렸다.
점점 햇볕이 따가워지는 7월 초.
“이놈들, 사람 잘 못 봤다고.”
방과 후 집으로 돌아온 유재원은 이를 갈며 키보드를 타이핑하는 중이었다. 분노로 인한 집중력의 상승은 무서웠다.
그렇지 않아도 유재원의 타이핑 속도는 평소엔 분당 4~500타로 상당히 빠른 속도였는데, 여기에 분노가 더해지니 100~200타는 더 붙었다.
화면을 보고 있으면, 2,400 bps 모뎀이 글자를 전송하는 속도보다 두 배는 빠른 속도로 복잡한 C 언어의 소스 코드가 입력 중이었다.
지금 유재원이 만들고 있는 건, 마이크로소프트가 도스 4.0을 통해 ID 오피스를 견제하는 걸 원천에서 차단하는 프로그램이었다.
그렇다고 메모리 관리를 더욱 혁신한다거나, 안전성을 위해 도스의 메모리 관리 방식을 그대로 수용하는 건 아니었다. 아예 도스라는 위험의 근원을 원천적으로 차단하는 프로그램을 제작 중이다.
“부트로더를 벌써 만들어야 할 줄은 몰랐어!”
부트로더.
일명 멀티 부팅 프로그램이다.
컴퓨터에 설치하면 여러 가지 운영체제를 동시에 돌릴 수 있게 해주는 마법과도 같은 프로그램이다.
작동원리는 간단하다.
부트 영역을 도스 대신 부트로더가 먼저 점유하도록 해서, 컴퓨터의 전원을 켰을 때, 도스로 부트할지 아니면 다른 운영체제를 선택할 수 있도록 사용자에게 선택권을 주는 것이다.
이를 통해 아주 성격이 판이한 운영체제 두 개를 한 컴퓨터 안에 설치해 놓고 돌릴 수도 있었다. 이를테면 윈도우와 유닉스를 다 설치해놓고 부팅할 때마다 선택할 수 있었다.
유재원이 가진 계획에선 약간 나중에 나올 유틸리티였다.
유닉스 체계를 가져온 안드로이드 운영체제에 넣어줄 유틸리티였다. 안드로이드 자체에도 도스와의 호환성을 위한 방책이 많이 담겨 있었지만, 그렇게 해도 제대로 작동하지 않는 일부 프로그램이 있을 수가 있으니, 아예 부팅할 때 오리지널 도스를 선택할 수 있게 부트로더를 탑재할 계획이었다.
“ID 오피스가 오피스로만 보인다면 너흰 큰 실수 한 거다.”
이런 부트로더를 ID 오피스에 탑재할 작정인 유재원이다.
생각해보니 안드로이드까지 갈 것도 없었다. ID 오피스의 바탕화면과 작업 표시줄만 보면 하나의 운영체제나 다름이 없다.
바탕화면 아이콘에 여러 응용프로그램을 등록해서 실행할 수 있고, 시작 버튼을 눌렀을 때 나오는 패널에 등록해서 사용할 수도 있다. 파일 관리자를 통해서 디렉터리나 파일을 관리하는 것도 가능하다.
ID 테크놀로지가 만든 프로그램뿐만이 아니라, DOS 환경을 위해 만든 프로그램은 대부분 실행할 수 있다.
오피스나 키보드 워리어 같은 걸 실행하면 리본 인터페이스 위에서 매끄럽게 실행이 되고, 다른 개발사들이 만든 프로그램을 실행할 땐, 리본 인터페이스가 순간 비활성화되면서 전체 화면의 통제권을 해당 프로그램에 넘겨주는 것이다.
프로그램이 종료되면 화면이 깜빡거린 후, ID 오피스의 바탕화면으로 빠르게 복귀된다.
여기에 웨이브 파일이나 미디파일과 같은 멀티미디어를 재생할 수 있는 기능을 추가하고, 자체적으로 부팅되는 기능만 넣으면 자체적인 운영체제이자 오피스 프로그램이 되는 것이다.
“도스를 만드는 거 일도 아니지.”
DOS는 무척이나 원시적인 운영체제였다.
컴퓨터 하드웨어 사이의 입출력을 담당하는 IO.SYS 파일, 사용자 인터페이스를 담당하는 COMMAND.COM파일, 그리고 파일 액세스 및 메모리 관리 등을 하는 MSDOS.SYS파일, 이렇게 3개로 구성되어 있다.
구조가 간단해서 수많은 변종 도스가 많았다.
PC-DOS, FreeDOS, DR-DOS가 대표적이다. 한국도 심지어 MS사의 영향력에서 벗어나고자 과학기술처가 대학교와 협동으로 K-DOS를 만들기도 한다.
기존의 DOS와 호환성을 살리면서 ID 오피스를 돌릴 수 있는 독자적인 DOS를 만드는 건 유재원에겐 그다지 어려운 과제도 아니었다.
다만 이렇게 만든 DOS는 MS-DOS와 완벽한 호환성을 보장할 수 없다.
수많은 변종 도스들이 유의미한 성공을 거두지 못한 이유도 여기에 있다. 이에 대해 일부 오류가 나는 프로그램은 부트로더를 통해 실행하도록 만들어줄 작정이다.
“이렇게 하면, 안드로이드로의 변화도 훨씬 순조롭게 가능하겠지?”
평범한 도스 프로그램을 만들 듯 만들어도, 돌아갈 거다. 하지만 리본 인터페이스와 글라이드 X 라이브러리를 사용해서 만든 프로그램은 훨씬 잘 돌아간다.
컴퓨터의 성능이 충분히 발휘되어야 할 게임이라면 엔진부터 다 새로 만들어야 하는 기존의 방식보다 글라이드 X의 라이브러리를 사용하면 제작도 쉬울 뿐만이 아니라, 성능도 훨씬 좋게 나온다.
이미 글라이드 X는 여러 게임 개발사들이 채용하면서 유명세를 타기 시작한 라이브러리였다. 하드웨어 제조사들도 예외는 아니다.
시러스로직, ATI, S3와 같은 비디오카드 제조사는 8월부터 글라이드 X 완벽 지원이라는 마크가 박힌 신제품을 쏟아낼 거라고 광고를 한창 때리고 있다.
하드웨어 스크롤, 이방성 필터링, 다이렉트 메모리 엑세스와 같은 고급 기능을 무료로 공개했는데, 이걸 가져다 쓰지 않는 회사가 아둔한 것이었다.
사운드 카드의 표준이라 할 수 있는 사운드 블라스터도 글라이드 X의 사운드용 라이브러리를 지원했다. 이뿐만이 아니라 조이스틱, 조이패드 제조사도 쌍수를 들고 환영했다. 소규모 제조사들은 도스가 드라이버를 잘 지원해주지 않아서, 일부 게임에선 오작동이 일어나기도 했다. 그렇다고 범용적으로 사용할 수 있는 드라이버를 만드는 건 소규모 업체엔 어려운 일이었다.
그런데 글라이드 X의 컨트롤러 라이브러리에만 맞춰서 제조하면 어떤 게임에서든 다 적용이 되니, 훨씬 일이 편해졌다.
하드웨어 호환성은 글라이드 X 덕에 자동으로 생기고, 소프트웨어 호환성도 최대한 보장한다. 그런데 이걸로도 안 되면 부트로더를 써서 MS-DOS를 돌리면 된다.
“가만! 그러면 이것도 안드로이드라고 이름을 지어줘야 하나?”
마이크로소프트의 호환성 위협 덕에 얼떨결에 만드는 DOS였다. 당장은 ID 오피스를 돌리고, 그 위에서 도스 호환 프로그램도 덤으로 돌리기 위해 만드는 것이지만, 엄연히 단독으로 부팅되는 독립 운영체제다.
하지만 안드로이드라는 이름을 주기엔 부족한 게 많은 느낌이었다.
========== 작품 후기 ==========
다음 편으로 가시기 전에 추천 부탁드립니다요!!!
연참을 하는 데 큰 힘이 됩니다요!