팀 패터슨
팀 패터슨(Tim Paterson, 1956년 6월 1일 ~ )은 인텔 8086(Intel 8086)의 운영체제인 '86-도스'(86-DOS)를 만든 것으로 가장 잘 알려진 미국의 컴퓨터 프로그래머다. 이 시스템은 게리 킬달(Gary Kildall)이 만든 CP/M의 API를 에뮬레이터(emulator) 했다. 86-도스는 1980년대에 가장 널리 사용된 개인용 컴퓨터 운영체제인 엠에스도스(MS-DOS)의 기초를 형성해 줬다.
생애
팀 패터슨은 1974년 시애틀(Seattle)의 공립학교 '잉그함 고등학교'(Ingraham High School)를 졸업하고 워싱턴 대학교(Washington State University)에 다녔다. 대학교를 다니면서 팀 패터슨은 시애틀의 그린 레이크(Green Lake) 지역의 소매 컴퓨터 가게에서 수리 기술자로 일했으며, 1978년 6월에 컴퓨터 사이언스(Computer Science) 학위로 수석 졸업했다. 졸업 후 팀 패터슨은 시애틀 컴퓨터 프로덕츠(Seattle Computer Products)의 디자이너(designer) 겸 엔지니어(engineer)로 일하기 시작했다.
경력
86-도스
1978년, 인텔은 8086 CPU를 출시하는데, 운영체제를 돌리기 위해서는 보드가 필요했는데 8086 CPU에 맞는 보드가 없었다. 그 당시엔 보드용으로 팔고 있는 소프트웨어가 CP/M이 탑재된 마이크로소프트의 BASIC-86 밖에 없었는데, CP/M은 호환 등의 문제로 8086 CPU에서 사용할 수 없었다. 그런 이유로 인텔의 8086 CPU는 운영체제가 없었고, 이 때문에 판매가 너무 저조했다. 그래서 팀 패터슨은 8086 CPU에 맞는 운영체제를 가동할 수 있게 곧바로 S-100 8086 보드 설계 작업을 시작했다. 팀 패터슨은 1980년 4월에 S-100 8086 보드에 들어갈 지금의 86-도스, 큐디오에스(QDOS) 만들기 시작했다. 큐디오에스는 CP/M의 매뉴얼을 포함한 소스에서 API를 복사해서 호환성을 높인 운영체제였는데, 큐디오에스가 개발되고 8086 CPU에서도 운영체제를 사용할 수 있게 된다. 1980년 말, 큐디오에스는 바로 86-도스로 이름이 바뀌게 됐으며, 버전 1.10 은 1980년 7월에 완성되고, 버전 1.14에서는 86-도스가 4000줄의 어셈블리(assembly) 코드로 증가했다. 1980년 12월, 마이크로소프트는 86-도스를 다른 하드웨어 제조업체에 판매할 권리를 확보하게 된다.[1]
주요 활동
- 패터슨 테크놀로지
- 1998년부터 현재까지 팀 패터슨이 근무하고 있다. 8비트(bit) 엠씨유(MCU)를 사용하여 마이크로 에스디 카드(MicroSD Card) 스토리지(Storage)와 이더넷(Ethernet) 잭(jack)을 갖춘 2칩 웹서버(Web Server)를 설계했다. HTTP 서버 & 클라이언트(Client), 디엔에스 클라이언트(DNS Client), FTP 서버, 에스엠티피(SMPT) 클라이언트, 에스엔티피(SNTP) 클라이언트, 에스에스디피(SSDP), 유피앤피(UPnP) 등 포함한 AVR 용 GCC를 사용하여 C++에서 완전한 TCP/IP 스택(stack)을 개발했으며, 최대 32기가 바이트(GB)의 카드와 함께 사용할 수 있는 FAT-12, FAT-16, FAT-32의 에스디 카드(SD Card) 파일 시스템을 개발했다.[2]
- 마이크로소프트 근무
- 팀 패터슨은 마이크로소프트에서 소프트웨어 설계 엔지니어로 3번 근무했다. 첫 근무는 1981년부터 1982년까지로 IBM 피씨(pc)에 86-도스를 적응시키는데 성공하며 도스 버전 1을 개발하고, 소규모 팀을 만들어 도스 1.1개발했다. 베이직(Basic) 컴파일러(compiler)의 런타임(runtime) 라이브러리(library)를 작성한다. 1986년부터 1988년까지 2번째로 근무했을 당시엔 베이직의 고속 실행을 위한 스레드(Thread) p-코드를 만드는 퀵베이직(QuickBASIC)4.0 스캐너 책임자를 맡는다. 이때 사용한 언어는 x86 어셈블리 언어라고 한다. 마지막 근무는 1990년부터 1998년까지 근무했다. 비주얼 베이직의 빠른 실행, 기능 추가, 버그 수정하는 책임자였다. 버전 1부터 6까지 모두 팀 패터슨이 책임졌다고 한다. 이때도 x86 어셈블리 언어를 사용했다고 한다. 또한 프로그램이 부동 소수점(floating point) 하드웨어가 없어도 부동 소수점을 사용할 수 있도록 하는 32비트의 x87 부동 소수점 산술 에뮬레이터를 작성했다. [2]
- CP/M 복제 논란
- 팀 패터슨은 86-도스가 CP/M과 호환 가능한 점은 인정하면서도, 86-도스 프로그램은 그의 독창적인 작업이며, CP/M 코드를 참조했다는 의혹을 완전히 부인했다. 그러다 2004년에 86-도스는 CP/M을 '완전히 복제했다.'라고 주장하는 책이 출간되자, 팀 패터슨은 저자와 발행인 모두 명예 훼손으로 고소했다. 하지만 판사는 책의 내용에 팀 패터슨의 명예를 훼손시킬만한 내용이 없다 판단했고, 팀 패터슨도 명예 훼손에 대한 증거를 내놓지 못하면서 '책의 주장은 헌법에 의해 보호되는 의견이고, 허위라는 증거도 없다.'는 근거로 사건은 기각됐다.[1]
- 팀 패터슨의 행보
- 팀 패터슨은 1981년 4월 에스씨피(SCP)를 떠나 1981년 5월부터 1982년 4월까지 마이크로소프트에서 86-도스의 버전 관리에 대해 전임으로 일하다가 팰컨 테크놀로지(Falcon Technology)를 설립한다. 1983년 마이크로소프트는 팀 패터슨에게 엠에스엑스 컴퓨터(MSX computers) 표준에 따라 아스키코드(ASCII)로 개발하는 것에 대한 계약을 제안했다. 팀 패터슨은 회사 자금 조달을 돕기 위해 계약을 수락했고 1984년에 엠에스엑스도스(MSX-DOS) 운영체제 개발을 완료한다. 팰컨 테크놀로지는 1986년에 마이크로소프트에 인수되면서 피닉스 테크놀로지(Phoenix Technologies)의 일부가 되었다. 팀 패터슨은 마이크로소프트에서 총 3번을 근무했는데, 1990년부터 1998년, 3번째 근무에서 비주얼 베이직(Visual Basic) 작업을 수행했다. 마이크로소프트를 떠난 후 또 다른 소프트웨어 개발 회사인 패터슨 테크놀로지를 설립했으며 코미디 센트럴 텔레비전의 프로그램인 배틀봇츠(BattleBots)에도 여러 번 출연했다. [1]
각주
- ↑ 1.0 1.1 1.2 팀 패터슨 위키백과 - https://ko.wikipedia.org/wiki/%ED%8C%80_%ED%8C%A8%ED%84%B0%EC%8A%A8
- ↑ 2.0 2.1 San Jose, 〈Tim Paterson Bare-metal embedded systems engineer〉, 《Linkedin》