「Apple II」의 DOS개발자료 --30년의 세월을 넘어 공개된 애플 창업시절의 비화 사이좋은 애플구글소니등등



 애플의 역사 중에서 가장 많이 회자되는 것은 Steve Jobs와 Steve Wozniak의 신생회사에 급격한 성장과 재정적인 성공을 가져다준 것은 두 사람이 만든 두 번째 컴퓨터인 「Apple II」였다는 것이다. 비지니스 소프트웨어나 게임, 예술용 툴 등을 1대에서 사용할 수 있는 플랫폼으로써 Apple II가 성공을 거둔 것은 훗날의 1세대 「Mac」의 발매나 그 후의 「OS X」나 「iOS」기기를 위한 바탕이 되었다. 

 그런 가운데 많은 사람이 잊고 있는 것이 있다(혹은 모르고 있을 가능성도 있다). 1977년 4월에 Apple II가 제1회 West Coast Computer Faire에서 발표되었을 당시 이 기기에는 분명한 결점 한 가지가 있었다. 바로 디스크 드라이브가 탑재되어 있지 않다는 것이다.  

 30년 이상 보관된 35년 전의 자료 덕분에 우리는 애플이 그러한 문제점을 극복하고 자사 최초의 DOS를 제작하려고 한 경위를 정확히 파악할 수 있다. 오늘 이야기는 말 그대로 애플의 발전을 둘러싼, 지금까지 드러나지 않았던 이야기다. 

미국의 CNET은 계약서(Wozniak과 Jobs가 서명한)부터 설계 사양서, 몇 페이지에 걸친 회로도나 프로그램 등등 관련된 자료 뭉치를 자세히 조사할 기회를 얻었다. 캘리포니아주 산타크루즈에 있는 DigiBarn 컴퓨터박물관에 소장된 이들 자료는 애플의 창업기에 대한 중요하고 새로운 사실을 제시하고 있다. 

 이 자료가 밝히고 있는 것은 개발 프로세스가 Jobs의 끈기에 뒷받침되었고 Wozniak의 기술비전에 자극을 받았지만 두 사람이 외부의 도움에 의지했다는 사실도 포함하고 있다. 그리고 그 프로세스는 애플의 역사 상 가장 중요한 프로젝트 중 1가지를 위한 것이었다. 지금 생각하면 이 프로젝트가 없었다면 폭넓은 유저를 대상으로 본격적인 컴퓨터를 판매한다는 애플의 야심은 성공 직전에 무너졌을 지도 모른다. 

「Apple은 궁지에 빠졌었다」

 (1977년 당시로서는)프로페셔널용으로 보이는 사출성형 케이스와 Jobs의 완벽주의에 합치하는 디자인 미학을 갖춘 Apple II는 당시로서는 획기적인 제품이었다. 그러나 Apple II는 마치 키트같아서 선행기종인 「Apple I」보다는 몇 년 발전했지만 여전히 카세트 드라이브만 갖추고 있었다. 

 DigiBarn의 창설자인 Bruce Damer씨는 이렇게 회고한다. 「Apple은 궁지에 빠져있었다. 카세트로는 (무언가를 로딩하려면)하염없이 기다려야만 했다. 게다가 신뢰성도 낮았다. 프로세스는 상황에 따라 달랐다. 그런 제품을 토대로 한 회사가 성공할 것이라 예상할 수 있겠는가?」

1978年4月10日に締結された契約は、Apple初のディスクオペレーティングシステムの開発に関する条件を網羅していた。
1978년 4월 10일에 체결된 계약은 애플 최초의 디스크 오퍼레이션 시스템의 개발에 관한 조건을 담고 있다. 
제공:James Martin/CNET

 Wozniak과 Jobs는 강력한 기능을 갖춘 디스크 드라이브와 그 시스템을 움직일 디스크 오퍼레이션 시스템의 필요성을 이해했었다. 사내에는 인재가 풍부했고 그 중에는 Wozniak 자신 말고도 Jef Raskin(「맥의 아버지」)、「캡틴 크런치」란 별명으로 알려진 John Draper 등 머지않아 실리콘밸리에서 전설적인 인물이 된 사람들이 있었지만 당시의 애플의 능력으로는 독자적인 DOS를 개발할 수는 없었다. 애플은 도움을 줄만한 다른 곳을 찾아야 했다. 

Apple을 진지하게 검토하도록 만들기 위한 사양

 Apple I은 Wozniak과 Jobs에게 상당히 좁은 애호가의 세계에서의 명성을 가져다 주었다. 하지만 이 컴퓨터에는 케이스도 없었거니와 전력공급장치와 키보드도 없었다. 따라서 비지니스 용도로 사용하려는 유저의 관심을 끌 수는 없었다. 그러나 Wozniak이 1976년 가을에 설계한 Apple II를 통해 애플은 일반유저를 끌어당긴다는 목표를 세웠다. 그것은 판매범위나 마케팅 전략을 확대하기 위한 기반이 되는 결정이었다. 검토 과제 1번째는 시스템에 디스크 드라이브를 추가해서 유저들이 애플을 진지하게 검토할 수 있도록 하는 것이었다.  

 「카세트 시스템과 디스크 드라이브 시스템의 차이는 애호가용 디바이스와 컴퓨터 정도의 차이였다」고 세계최초의 포터플 컴퓨터인 「Osborne 1」을 개발한 Lee Felsenstein은 말한다.  「예를 들어 카세트 시스템에서 『VisiCalc』가 돌아가기를 기대할 수는 없었을 것이다」(Felsenstein)

 VisiCalc는 최초의 표계산 프로그램으로 PC 역사 상 가장 중요한 것 까지는 아니지만 중요한 요소 중 하나였다. Apple의 DOS를 작성한 Paul Laughton이 말한 것 처럼 VisiCalc는 「마이크로 컴퓨터를 본격적인 궤도에 올린 존재」였다. 

 그것은 VisiCalc가 비지니스 관계자 입장에서 새로운 마이크로 컴퓨터에 다액의 돈을 지불할 이유가 되었기 때문이다. VisiCalc의 공동개발자(또 한 명은 Bob Frankston이다)인 Dan Bricklin은 「당신이 VisiCalc의 존재와 기능을 알고 있는 숙련된 판매원이라면 때마침 적당한 고객이 샵에 들어오면 풀 사양을 갖춘 컴퓨터를 팔 수 있었을 것이다」고 말한다. 

 Bricklin은 자신과 퍼블리셔가 최초에 VisiCalc를 Apple II용으로 발매한 이유 중 첫번째는 퍼블리셔인 Dan Fylstra가 Apple의 팬이었으며 또 한 가지는 두 사람이 Apple II의 기반이 된 6502칩용 어셈블러를 갖고 있기 때문이었다고 설명했다. 그러나 Bricklin에 따르면 우선 Apple용으로 발매한다는 결단의 일부는 Apple II가 라이벌 제품보다 플로피 디스크를 채용할 가능성이 높았다는 사실에 기초했다고 한다. 

 VisiCalc는 1년 동안 Apple전용 소프트웨어로 판매되었고 그 기간 중에 1달에 약 1000장을 팔았다. 이 수는 지금 생각하면 작아 보이지만 당시로서는 상당한 수량이었다.  또한 Bricklin은 「그만큼 많은 Apple머신이 판매되었다고 볼 수 있다.  애플의 컴퓨터 매출은 매달 100만 달러 이상이었다」고 말한다. 

 Apple의 DOS는 VisiCalc를 경유해서 애플을 최종적인 성공으로 이끌었을까?  Felsenstein은 그 말이 맞다고 생각한다. VisiCalc는 「킬러 애플리케이션이었다. 즉 모든 사람의 주의를 끌었고 그러한 디바이스를 사용하면 일을 제대로 처리할 수 있음을 알게했다. 그것은 장난감이 아니었다」

 Appleの共同創設者Wozniak氏
애플의 공동창업자인 Wozniak
제공:James Martin/CNET

Wozniak의 회상

 Apple II에 대해 잘 알고 있는 사람이과 얘기를 하다 보면 종종 화제거리가 되는 이야기가 있다. Wozniak이 1977년의 크리스마스 휴가 때 설계한 Apple II용 디스크 컨트롤러가 업계의 상황을 일변시킨 것으로 유명하다는 이야기다. 

 근본적인 기술혁신은 컨트롤러를 소형화하기 위한 소프트웨어를 사용한 것이었다. 라이벌 제품은 하드웨어에 의지하고 있었다. 당시 Apple의 전자기술자였던 Bill Fernandez는 이렇게 말한다.  (Wozniak의 )설계의 큰 장점은 일반적으로는 60개에서 70개의 칩을 사용하던 것을 불과 6개의 칩만 사용했던 것이다. 이것은 크기 면이나 비용 면에서 엄청난 절약이었다. 」

 Bricklin은 Wozniak의 컨트롤러를 「훌륭하다」고 말했고Felsenstein은 그 「우아한 아름다움」에 감탄했다. Damer는 그것을 「장인의 예술」이라고 불렀다. 그리고 애플의 경리담당자들이 기뻐한 것은 말할 것도 없었다. 심플한 설계란 요소는 라이벌 제품의 드라이브보다도 훨씬 큰 이윤을 의미했기 때문이다. 

 그러나 디스크 컨트롤러가 아무리 멋져도 애플에게는 DOS가 없었다. 그리고 독자적으로 개발할 수단도 없었다. 「그들은 애플 사내를 둘러보았지만 DOS를 작성할 수 있는 사람은 아무도 없었다」(Damer)

 Wozniak에게는 선택사항이 거의 없었다. 그 한편으로 Wozniak이 미국의 CNET과 나눈 대화에 따르면 6502칩용 DOS는 존재하지 않았다고 한다. 또한 Apple II에는 ROM에 소형 DOS가 내장되어 있어 수동 또는 프로그램 커맨드에 의해 입출력 스트림을 임의의 슬롯으로 리다이렉트할 수 있었지만 Wozniak은 그 이상의 것을 원했다. 

 선택사항 중 하나는 당시 자주 사용되던 OS인 「CP/M」이었다. 그러나 CP/M은 다루기가 어렵다고 알려져 있었다. Wozniak에 따르면 CP/M의 개발자인 Gary Kildall과 OS에 대해서 토의를 하기도 했지만 「뭔가 더 사용하기 편한 것을 원했다」고 한다. 

 Wozniak은 OS에 대한 지식은 별로 없었지만 자신이 좋은 OS를 만들어 낼 수 있을 거라고 굳게 믿었다. 그러나 공동창업자는 기다려 주지 않았다. 「1개의 프로젝트에 1주 이상 걸리는 것을 참을 수 없었던 Steve Jobs는 Shepardson Microsystems을 발견했다. 이 회사는 열성적이었고 관련지식이 풍부하다고 평가했기에 그들을 고용했다. 」(Wozniak氏)

 당시 Shepardson의 직원이던 Paul Laughton의 기억에 따르면 어느 날 Wozniak이 찾아와서 애플에는 디스크 드라이브는 있지만 DOS는 없다. 어떻게 하면 좋을지 생각 중이다 라고 말했다고 한다. 그래서 「『OS라면 잘 안다』고 말했더니 Wozniak은 『훌륭하다. 꼭 함께 일해보지 않겠느냐』고 말했다.」(Laughton)

역사 상 가장 중요한 애플관련 자료일 듯

 1978년 4월 10일에 계약이 체결되었다. Shepardson Microsystems는 1만 3천달러(착수금으로 5200달러, 납품 시에 7800달러가 지불되며 추가 사용료는 없음)로 애플 최초의 DOS를 개발하고 그것을 35일 후에 인도한다는 계약을 맺었다. Damer는 이 기한에 대해서 「놀랍다」고 말했다. 「지금같으면 툴이나 부분적으로 기능하는 하드웨어도 없이 35일만에 OS를 개발해서 납품한다는 것은 상상도 할 수 없을 것이다. 그야말로 프로그래머의 놀라운 능력이 발휘되던 시대였다」(Damer)

Wozniak氏が設計したディスクドライブコントローラは、他のディスクドライブコントローラが数十個のチップを必要としていたにもかかわらず、わずか数個しか使っていなかったことから画期的だったといわれている。
Wozniak이 설계한 디스크 드라이브 컨트롤러는 다른 디스크 드라이크 컨트롤러가 수십개의 칩을 사용했음에도 불구하고 불과 몇 개만 사용했다는 점에서 획기적으로 평가받았다. 
제공:James Martin/CNET

 애플은 그 계약금액으로 파일 매니저, 정수 BASIC과 Applesoft BASIC의 인터페이스, 디스크의 백업이나 리커버리, 파일의 복사를 할 수 있는 유틸리티를 손에 넣게 되었다. 

 「우리는 푹 눌러앉아서 프로그래밍 작업을 시작했다」고 Laughton은 회상한다. 「펀치카드에 프로그램을 작성하고 미니컴퓨터에 삽입해서 어셈블하면 종이 테이프에 결과가 출력되었다. 다음에 그것을 디버그했다」(Laughton)

 최근 공개된 자료는 Laughton이 DigiBarn에 기증한 것으로 여기에는 애플의 DOS프로젝트에 대한 정보가 다양하다. 계약서(Wozniak, Jobs 두 사람이 서명한)부터 설계사양서, 몇 페이지에 걸친 회로도나 코드에 이르기 까지 실리콘밸리와 애플의 역사의 보물창고와도 같다. 서류에 눈을 돌리면서 Damer가 생각한 것 처럼 「믿을 수 없군. 이것은 애플의 역사 상 가장 중요한 자료일지도 몰라」라고 할 수 있다. 

 이 자료를 다 보고 나서 재미있던 부분 중 하나는 Wozniak이 기록해서 빽빽해진 페이지를 보는 것이다. 결국 이 프로젝트는 애플의 전설적인 공동창업자인 Wozniak이 부팅 디스크를 개발하는 방법으로써 Laughton에게 건넨 사양서에 기초하고 있다. 그리고 감사한 것(그 가치를 이해할 수 있는 사람 입장에서지만)중 1가지로 높이 평가할 수 있는 것은 Wozniak이 플로피 디스크 컨트롤러에 대해서 직접 수기로 작성한 그림이다. 

 소스 코드의 여백에도 어떤 일이 일어나고 있는 가를 설명하는 일련의 메모가 있다. 이것은 진정한 애플팬의 입장에서는 흥분하지 않을 수 없는 존재다. 애플의  6번째 사원으로 이 프로젝트에서 Shepardson Microsystems와 긴밀하게 협력했던 Randy Wigginton은 이 자료를 보고 「페이지 경계를 넘어선 안된다」라는 코멘트를 보고 、「그러고보니 페이지 경계를 넘으면 6502칩에 불필요한 사이클이 추가되었다」고 말했다. 

 Wigginton은 미국 CNET과의 이메일에서 이렇게 설명했다. 「6502칩은 모든 것이 정확히 256바이트 『페이지 경계』에 들어가게 되어 있다. 타이밍에 대해서 엄격한 코드를 작성할 경우는 페이지 경계가 넘어가는데 주의해야 한다. 그렇지 않으면 프로세서가 불필요한 1사이클을 소비한다. 그래서 Wozniak은 『페이지 경계를 넘어선 안된다』라는 메모를 자신의 코드에 남긴 것이다」

 4월에 69세를 맞이하는 Laughton 입장에서 애플의 가장 중요한 프로젝트 중 하나에서 중요한 역할을 맡았던 것은 자신의 캐리어 중에서 빛나는 일이었다.  1978년에 이미 애플은 특별한 기업이었다고 Laughton은 알고 있었다.  「Apple II의 설계와 디스크 드라이브 인터페이스 카드의 설계를 통해 Wozniak의 보기드문 능력」을 인정했기 때문이다. 

 Laughton은 자신이 애플에 공헌한 기회를 돌아볼 기회도 많았다. 「가끔 그 내용이 화제가 되어 Apple II를 갖고 있었다는 사람들과 만나면 그 DOS를 작성한 게 나였다고 말합니다. 그러면 상대는 제가 애플에서 일하고 있했다고 생각하고 『수입이 짭짤했겠는데요』하고 말한다. 」(Laughton)

 그러나 실제로 당시에 Laughton가 Shepardson에서 일해서 번 돈은 1년에 3만5천달러 정도였다. 만일 자신이 Wozniak과 Jobs의 직속부하였다면 애플의 주식으로 얼마나 벌었을지 Laughton은 알고 있다. 그러나 1978년에 애플은 신흥기업에 불과했고 Laughton은 Shepardson의 수많은 클라이언트를 위해 소프트웨어를 작성하는 일에 몰두하고 있었다.  

 또한 Laughton은 이렇게 떠올린다. 「그 당시 Wozniak과 얘기해 봤더니 그의 연봉이 나보다 많지 않았다고 기억한다」


덧글

  • 푸른별출장자 2013/04/20 20:30 # 답글

    애플이 도스를 채택하는 과정도 그렇지만 8인치 플로피를 5.25인치 플로피 드라이브로 대중화하는데 혁신적인 공헌을 한 슈거트 영감도 잊어서는 안되겠지요.

    그리고 그 영감이 슈거트 를 제록스에 팔아 치우고는 만든 회사가 바로 Seagate

    삼성이 슈거트 드라이브 컴패티블 만든다고 광고 때리고 1년이 지나서야 시장에 물건이 풀렸다는 역사도 있습니다.
  • 산오리 2013/04/21 01:05 # 답글

    추억 돋는 내용의 글이네요. 어쩌다가 50년도 안되는 역사가 고고학이 되어 버렸을까...
    (그 전에 이 내용을 이해하는 독자는 얼마나?)

    VisiCalc가 Lotus 1-2-3가 되고 다시 Excel이 되죠. (가만있자... 중간에 Multiplan도 있었는데...)
    지금 M$의 매출을 지탱하고 있는 주축이 Office, 정확히는 Excel이라는 이야기가 있는데,
    이게 70년대 Apple때부터 그랬군요... (역시 돈있는 사람들이 쓰기 좋아하는 소프트웨어를 짜야...)

    당시 (1980년대 초반) 40x24 char 화면에 그닥 많은 cell을 표현할 수는 없었지만,
    BASIC으로 명령을 내려야만 계산을 하는 줄로만 알았던 것이
    (i, j, k, m key였던가? 하여튼 화살표키가 없어서 문자 key로)
    cursor를 움직여서 칸에 숫자를 채워넣으면 자동으로 계산을 해 주는 것이 재미있었던 기억이 납니다.

    "페이지 경계"라는 말로 (Apple ][의 CPU인) 6502가 paging 기능이 있었던 것 처럼 헛소리를 하고 있는데,
    아마도 loop의 길이가 (machine code로) 128 byte를 넘지 않아야 한다는 이야기일 겁니다.
    왜냐하면 loop를 형성하는 조건분기문 (BEQ였던가? 여튼 고급언어로 표현하면 if cond goto x)의
    relative address operand가 1 byte, 즉 조건분기문으로부터 위아래로 128 bytes씩
    총 256 bytes 안에 들어와 있어야 하기 때문입니다.
    (물론 더 긴 loop를 만들 수도 있기는 하지만, 그 경우에는 absolute addressing을 해야 하니
    operand 가 하나 더 늘고, 그거 fetch하는데만 1 cycle이 더 소모되죠.
    실제로는 1 cycle 정도가 아니라 훨씬 느려집니다.)
    게다가 당시 CPU의 clock frequency는 2MHz...

    생각해 보니 floppy disk driver card가 정말 간단하기는 했습니다. 그에 비해서 VIDEX card는 정말...

    여튼 추억 돋네요. 이게 도대체 언제적 이야기야?
  • 명림어수 2013/04/21 05:18 # 삭제 답글

    80년대 애플ii 에서 파스칼 프로그래밍을 하려고
    만이천원 짜리 cp/m 카드를 샀던 기억이 나네요.
    그 카드를 꽂으면 운영체제가 바뀔뿐 아니라
    화면 해상도도 두배가 되는 신기함이...
댓글 입력 영역



통계 위젯 (블랙)

358936
3284
4387094

이 이글루를 링크한 사람 (블랙)

607