본문 바로가기

카테고리 없음

Windows... His story~~~ 들어보세요.

 

서문
이제 입사한지 반년이 조금 넘은 엔지니어로써 이런 글을 쓴다는 것이 어쩌면 경솔한 행동이 아닐까 하는 생각이 든다.

하지만, 많은 MS 엔지니어들은 자신의 기술에 대해서는 잘알지 모르지만, MS의 기술적인 코드에 대해...
그리고 우리가 쓰는 운영체제가 어떠한 시기들을 거쳐 지금에 까지 오게 됐는지 모르고 있는 경우가 많다.

그래서 이 글을 쓰게 된다.
어떠한 OS를 일컬어 안정성이나 성능을 이야기 할때는 그 OS가 월등 하지 않은이상 하드웨어나 기타 다른 변수에 의해 성능이 판가름 나는 경우가 많다.

많은 유닉스 엔니지어들이 그들 만의 프라이드를 가지고 일을 하고 있다. 또한 리눅스 특히 Open Source 기반의 플렛폼 엔지니어나 개발자들은 그들 스스로 그루라고 부르며, 자신만의 독특한 문화 세계를 형성하고 있다.

자 이제 지금부터 난 Windows에 대하여 사람들이 잘못 알고 있는 역사에대해서 깨쳐 나가도록 하겠다.

태초에 VMS 가 있었다.

우리가 현재 가장 자주 사용하는 운영체제는 Windows 이다. Windows에는 Windows XP, 와 Windows 2003 제품군이 있으며 그 근간은 NT 이다.
이 NT는 1988년 개발이 시작되어, 1991년 Windows NT 3.0이라는 제품 명으로 발매기 까지 3년 남짓한 기간에 걸처 개발된 운영체제로 사람들은 알고 있다. 하지만 그 근간에는 1970년대에 개발되어 30년간 OS 계의 맞수로 유닉스와 경쟁하여온 VMS가 있었다.

VMS는 알파 칩과 알타비스타로 유명한 DEC가 개발한 운영체제다. 1950년대 후반에 시작되 1990년대 후반 컴팩에 인수합병 되기까지 DEC은 IT 업계에 있어 많은 업적을 남기고 사라진 회사다.

몇가지 DEC의 업적에 대해서 이야기를 하자면, 우리가 흔히 사용하는 마이크로프로세서 는 DEC의 PDP-8을 보고 영감을 얻은 인텔의 테드 호프에 의해 개발 되었다.
그 당시 DEC의 PDP시리즈는 1960~70년대에는 업계의 표준 플랫폼이나 마찬가지였다.
또한 우리가 잘 아는 개발 언어인 C 그리고 성공한 운영체제중 하나인 UNIX  PDP 시리즈에서 개발 되고 구현 되었다.
특히 PDP 시리즈중 PDP-10은 당시 시대를 앞서 32비트 아키텍처를 가지고 전산센터용으로 개발되었다.
마지막으로 우리가 사용하는 문자 체계에도 DEC은 많은 업적을 남겼는데, ASCII 문자 셋은 DEC에서 개발된 것이며, ISO-8859와 유니코드(unicode)는 DEC의 다국적 문자 셋으로부터 영향을 받았다.이외에도 많은 업적을 남겼지만, 일일히 나열하자니 글이 지저분해 지는 느낌을 지울 수 가없어서 다시 VMS에 대한 이야기로 돌아가보고자 한다.

아무튼 많은 업적과 능력을 가진 DEC의 차세대 머신인 VAX의 OS로 개발된 VMS는 당연히 업계에서 두각을 나타낼 수 밖에 없었다.

일화를 한토막 소개하자면 그당시 알파넷 관리는 PDP-10 시리즈의 유닉스에서 이루어지고 있었다. 당시 알파넷의 관리자들은 PDP 시리즈가 더이상 시장에 발매 되지 않을것이라는것을 알고 DEC의 VMS에 tcp/ip 스텍구현을 요구하였다. 하지만 당시 DEC의 CEO 였던 겐울슨은 공공연하게 "유닉스는 정말 엉터리 운영체제야" 라고 말하고 다녔고, 당연히 TCP/IP를 위해서 VMS를 수정할 수 없다는 이유로 당시의 요구를 거절해 버렸다.

뭐 유닉스는 충분히 휼륭한 운영체제 이지만 그 당시에는 VMS와 경쟁 관계에 있었고, 어찌 보면 DEC의 PDP나 VAX를 기반으로 성장해 왔으니... 지금의 관점에서 보게 된다면 참 아이러니 하다.

사설을 조금 넣자면 유닉스의 경우 멀틱스의 실패 후 데니스 리치가 취미정도로 만든 운영체제였으니, 당시 기업 시장을 목표로 한 32비트 운영체제인 VMS가 봤을때는 조금 우숩기도 했을 것이다. 지금이야 NT와 유닉스의 역학관계가 완전히 바뀌기는 했지만...

아무튼 당시 1980년대까지 DEC는 PDP와 VAX라는 플롯폼을 기반으로 VMS를 통해 IBM에 다음가는 IT 업체로 성장 할 수 있었다.

VMS 와 NT
실제 NT는 Microsoft 사에서 VMS의 개발자를 영입하여 Windows API를 입혀 놓은 형태라고 할 수 있다. Microsoft의 주임 엔지니어이며, NT의 최초 설계자인 데이브 커틀러(Dave Cutler)는 실은 VMS의 최초 설계자 이기도 하다. 그는 1988년 DEC에서 20여명의 개발자 들과 함께 Microsoft로 이직을 하게되는데 당시 MS의 빌게이츠는 유닉스에 대항할 새로운 운영체제의 개발의 필요성에 대해 고심하고 있었다.

당시 MS에서는 XENIX 라는 유닉스의 일종을 팔고 있었지만 그리 벌이는 신통치 않았던거 같다. 동시에 MS는 IBM의 하청을 받아 OS2 의 후속 모델로 OS2NT를 개발하고 있었는데, 빌게이츠 입장에서도 Windows 3.0이 시장에서 대활약을 보이자 욕심이 생겼을 것이다. 그래서 데이브 커틀러 라는 천군만마를 얻은 게이츠는 OS2NT에서 Windows NT라는 이름을 달고 OS를 개발하게 된다.

그리고 사설을 달자면 당시 VMS는 유닉스와 서버 OS 시장에서 양대 산맥을 이루던 OS 였으나, MS로 옮겨오면서 태생적인 한계(IBM에서는 중소규모의 사업체를 타겟으로 하여 OS2를 개발하려고 했다.)로 인하여, 그 아름다운 커널을 가진 OS가 지금의 싸고 대형 프로젝트에는 도입하기가 꺼려지는 OS라는 인식이 심어지게 된것이다. 어차피 MS의 기본 전략도 중 저가 서버시장을 위주로 하고 있었기 때문이기도 했지만 말이다.
(물론 이 인식의 밑단에는 DOS 와  DOS 기반의 Windows라는 "공포의 파란화면"OS가 있기는 하지만... 그에 대해서도 글을 쓰고자 한다. 필자의 다음 글을 기대하기 바란다.)

실제로 초기의 자료인 1993년 "Inside Windows NT"의 서문에서는 NT의 주 개발자인 데이비드 커틀러가 VMS와의 유사성에 대해 적은 바 있고, "http://www.windowsitpro.com/"에서 몇달러 주고 볼 수 있는 "Inside Windows"시리즈의 마크 루시노비치(Mark E Russinovich) 또한 VMS와 NT에 대해서 자신의 글(Windows NT and VMS: The Rest of the Story)을 통해 자세히 적은 적이 있다. 실제로 당시 NT가 발표 됐을때, MS는 DEC에 1억달러 가량을 지불했다고 한다. 심지어는 그당시 엔지니어들은 NT를 VMS의 개작이라고 평하기도 했다.

VMS 시장에서 사라지다. 그리고 새로운 OS가 나오다.

DEC은 VMS가 인터넷의 중추적 OS가 될수 잇는 기회를 거부했다.
결국 TCP/IP는 UNIX상에서 구현되었고, UNIX로 하여금 NOS로써 이전의 빈약했던 네트워크 기반을 확충할 기회를 주었다.
거기에 Windows NT의 저가 시장에 대한 공략과 UNIX와의 고가시장에서의 경쟁으로 인해 점차 시장에서 사라지게 되었다.
동시에 Microsoft는 Windows NT 를 통해 서버시장에서 단일 품목으로써는 1위의 자리에 오르게 된다.
물론 시대 상황도 Windows NT를 돕고 있었다.
당시 FreeBSD나 리눅스 같은 공개 운영체제가 알려지지 않았으며, 이를 통해 Windows NT는 대대적인 마케팅과 저가시장 공략이라는 2가지 전략으로 서버시장을 파고 들게 됐다.

빌게이츠의 말처럼 IT 시장에서 6개월은 영겁과 같은 시간이다. 소비자는 새로운 소프트웨어가 나오지 않는 이상 소프트웨어에 대한 구매를 고려하지 않는다.
고로 IT 시장은 스스로 진화하며, 소비 시장을 개척해야 한다.

Microsoft는 지금 인간과 기계의 경계에 대하여 고민하고 있다고 한다.
Boundary... (제 소견은 기계와 인간의 경계는 바로 OS를 의미한다고 생각합니다.)
Microsoft가 이 경계에 대한 고민의 산물들이 나올때 쯤 시장은 새로운 선택을 할 것이다.
또 혹시 아는가... Microsoft의 Windows 역시 운영체제 교과서에서나 나오는 운영체제가 될지...
하지만IT 시장은 스스로 지속적인 진화를 할것이고, Windows 역시 그 고민에 대한 산물로써 스스로를 진화 시키며 발전하게 될것이다.

더불어 한마디

필자는 첫번째 글을 통해 Windows NT는 과거 30년 동안 VMS 라는 다른 이름을 달고 UNIX와 경쟁하고 있었음을 밝혔다.
또한 기술적인 부분에 대해서 어느 쪽이 우월한지를 표현 하기는 어려우나 Windows NT 역시 시장에서 인정을 받고,
당시 IBM에 이어 시장 2위의 업체로써 DEC을 이끌어가는데 큰 기여를 했다는 점을 밝혔다.

다만 VMS가 Windows NT로 옷을 갈아 입는 과정에서 몇가지 다운 그래이드가 있었던 점은 사실이다.
실제 VMS는 전산센터용 운영체제 였으나, Microsoft로 넘어오면서 OS/2의 후속버젼으로 개발되게 된다.
즉 작은 사무실 환경을 위한 SMB 시장의 운영체제로써 시장에 나오게 된다.
특히 Microsoft의 저가 전략과 VMS에 Windows API를 붙이다 보니 사람들이 보기에 좀 안되보이긴 했을것이다.
하지만 많은이들이 생각하듯이 Windows NT가 몇년 뚝딱 연구해서 시장에 나타난 그리고 MS의 마케팅과 친숙함을 통해서만 지금에 위치에 온것은 아니라는 것을 밝혀두고 싶다.