1.2 마크미나시 OS/2 역사




OS/2의 역사

주) 이 책의 저자는 마크미나시(Windows NT/2000서버의 저자)로서, 워프 3.0을 기준으로 한 책의 OS/2를 소개한부분을 몇 시간동안의 노가다(타이핑)를 통해 옮긴것입니다.

OS/2 역사의 회고

 

DOS에서 OS/2로 전환하는 대부분의 사용자들에게 OS/2를 사용한다는 것은 프로그램에 640kb이상의 메모리와 멀티테스킹을 처음 사용해 보는 일이 될 것이다.

Windows 를 사용하고 있던 사용자들에게 있어서도 OS/2는 Intel이 1980년 말에 80386 마이크로 프로세서를 처음 발표하면서부터 PC에 내재된 HW의 능력을 최대한으로 사용하는 것을 경험하게 해주는 최초의 진정한 32비트 운영체제인 것이다.

 

OS/2 는 프로그래머에게 하루만에 감이 와 닿을 수 있는 수준이 아닌 복잡한 프로그램이다. 많은 고대의 도시들이 그 이전의 도시의 폐허 위에 다시 세워졌듯이, OS/2도 지난날의 HW를 기반으로 형성되었다. 이 이야기는 1984년으로 거슬러 올라간다.

 

1984년의 회고: IBM PC AT를 위한 새 오퍼레이팅 시스템

1984년 1월에 IBM은 그들의 PC 계열의 새로운 모델을 공개했다. 향상된 기술(Advanced Technology)이라는 의미의 AT는 세계적으로 최초의 멀티테스킹이 되는 개인용 컴퓨터였다.

광고용 사진에서의 AT에는 2개의 수동형 단말기(dumb terminal)이 달려 있었다. (수동형 단말기라는 것은 자체적으로는 컴퓨팅 능력이 없는 것을 말한다.)

 

이 새 컴퓨터는 멀티테스킹을 구현하도록 되어 있었는데 이것은 한 컴퓨터에 동시에 두 개 이상의 프로그램을 수행시킨다는 의미이다.(기 술적으로는 한 프로세서에서 그렇게 한다는 말이다). 또한 AT에는 단말기를 연결해서 사용할 수 있었고, 가장 뛰어난 부분은 이전의 640kb 메모리 한계를 깨고 이론적으로 16메가 바이트까지의 메모리를 사용할 수 있다는 것이었다. 또한 처리속도도 IBM의 이전 모델인 XT에 비해 5배나 빠른 것이었다. 이러한 PC AT의 특징적인 기능들을 위한 새로운 OS도 공언되었다.

 

AT 가 나오고 나 후에, 새로운 OS는 공언한 대로는 등장하지 못하였다. 새로운 OS인 DOS 3.0은 주로 어셈블리 언어에서 C 언어를 수용하는 수준으로 DOS를 개선한 정도였다. DOS 3.0에서 가장 중요하게(그리고 유일하게) 공언한 대로 된 것은 AT에서 사용할 때 1.2MB의 고밀도 플로피 드라이브를 지원한다는 것이었다.

 

업계에서는 멀티테스킹 기은은 어떻게 된 것인가를 알고 싶어했다. IBM은 이에 대해 멀티테스킹과 640KB 이상의 메모리를 다룰 수 있는 새로운 버전의 DOS를 준비하고 있다고 응답했다.

 

8088과 80286 : 기능 vs 호환성

PC AT는 Intel에서 나온 가장 강력한 CPU인 80286을 기반으로 제작되었다. 인텔은 PC와 XT에 사용되었던 프로세서인 8088을 만들었었다. 하향 호환성이 대단히 중효한 요소였기 때문에 IBM은 다음 세대의 데스크탑 컴퓨터를 Intel 제품으로 결정한 것이다. 이후로 대부분의 PC에 사용된 CPU는 인텔 제품이 표준이 되었다.

 

------------------------------------------------------------------

Note

실제 로 8088은 인텔이 이미 발표한 프로세서인 8086보다 약간 값이 싸면서 조금 성능이 떨어지는 프로세서였다. AT&T 같은 일부 PC 업체들은 8088대신 8086을 채택해서 오리지널 PC와 XT보다 성능이 나은 제품을 만들기도 했다.< /font>

808/8086과 인텔 80286사이에 80186이라는 프로세서도 있었는데 구조적인 제약 때문에 PC보다는 산업용으로 사용되었다(Radio Shack의 몇몇 초기 PC에서는 이것을 사용하기도 했었다.)

--------------------------------------------------------------------

 

 

인텔은 자신들의 기존 제품들을 사용하는 저변사용자들에게 도움을 받기도 했지만 발목이 잡혀있기도 했다. 인텔의 수많은 저변 사용자들은 일반 다용도 CPU를 개발하는 엔지니어들에게 뛰어난 성능과 적정한 가격의 제품을 요구했다. 인텔의 저변 사용자들이 끼친 악영향은 Intel이 기존의 제품들과 호환이 되지않는 새로운 CPU 개발을 시도해 볼만한 자유를 빼았아서 PC AT의 모든 기능을 사용할수 있는 운영체제을 개발하기 힘들게 만들었던 것이다.

 

리얼 모드(real mode)와 프로텍티드 모드(protected mode)

PC 의 8088 CPU는 1024KB의 메모리만을 사용할 수 있었다. 80286은 16284KB의 램을 사용 할 수 있었지만 저변 사용자들을 지원하기 위해서 8088 에뮬레이션 모드로 부트할 수 밖에 없었다. 다시 말해 80286은 따로 명령을 받기 전에는 8088로 동작하고 있는 것이다. 8088 에뮬레이션 모드에서는 286도 1024KB의 메모리만 사용할  수 있는것이다. 80286 CPU가 8088에뮬레이션 모드로 동작하고 있을 때를 리얼모드(real mode)라고 부른다. 그래서 80286 안에는 엄밀하게 말해서 두개의 CPU, 즉 빠르게 개선된 8088 CPU와 16MB의 메모리를 사용할 수 있는 새로운 프로세서가 함께 들어있는 것이다.

 

DOS 는 8088을 위해 설계된 것이므로 80286은 DOS와 DOS 프로그램들을 실행시키기 위해서는 리얼 모드로 사용되었다. 따라서 DOS 프로그램들은 80286의 전기능을 다 사용하지는 못했다. 그래서 AT가 공개되었을 때 286을 지원하기 위한 새로운 운영체제가 필요해진 것이다.

 

286 으 ㅣ새로운 기능은 프로텍티드 모드(protected mode) 였다. 프로텍티드 모드는 프로그램들이 메모리를 더 많이 사용할 수 있게 해주고, 어플리케이션마다 메모리 사용을 보호해 주는 것이었다. 멀티테스킹은 여러 개의 프로그램들이 함께 PC의 RAM에서 공존할 때 발생되는 것이다. 예를 들어 4MB의 메모리를 가진 시스템에서 2MB는 운영체제가 차지하고 워드프로세서와 스프레드쉬트가 각각 1MB씩을 차지한다고 하자. 이 세 프로그램들이 함께 공존하려면 각각의 메모리 영역의 경계를 지키고 있어야 한다. 프로텍티드 모드는 이 경계를 만들고 서로 간에 메모리를 침범하여 사용하지 못하도록 막아준다.

 

메모리 보호 시스템에서는 먼저 운영체제가 어플리케이션을 로드한다. 그리고는 어플리케이션은 운영체제에게 RAM을 할당해 줄 것을 요구한다. 운영체자가 충분한 메모리를 가지고 있다면 어플리케이션에게 그 메모리가 할당된다. 80286의 경우에는 새롭게 할당된 메모리 공간은 운영체제에 의해 글로벌 디스크립터 테이블(Gloval Descriptor Table,GDT)이라 불리는 80286의 메모리 영역에 저장된다. 거기서부터 그 어플리케이션이 엑세스하는 모든 메모리는 80286 CPU의 메모리 관리 유닛(Memory Management Unit,MMU)이라 불리는 부분이 조사하게 된다. 어플리케이션이 할당받은 영역 밖을 엑세스하려고 하면 MMU는 즉시 이것을 감지하여 GP Fault라는 경고를 발하게 된다. 각 운영체제 시스템마다 이 GP fault를 처리하는 방법이 다른데, 또 하나의 프로텍티드 모드 환경인 Microsoft Windows의 경우에는 GP Fault를 검출하면 General Protection Fault라는 메시지를 표시한다. OS/2는 메모리 경계를 위반한 어떤 프로그램도 정지시킨다. 이러한 메모리 보호는 286 CPU에 내장되었고, 이것이 모든 진보된 PC 운영체제의 기본이 되는 것이다.

 

DOS와 프로텍티드 모드(Protected mode)

 

이로적으로 DOS는 쉽게 프로텍티드 모드로 적용될 수 있을 것이다. 그렇지만 DOS 어플리케이션들은 한순간에는 하나의 기능밖에 수행하지 못하는 싱글태스킹이다. 프로그래머가 DOS 어플리케이션을 작성할 때는 대개 시스템의 자원들을 찾아서 혼자서 배타적으로 사용하도록 만들게 된다. 이런 프로그램들은 메모리나 하드웨어의 엑세스에 대해 어떤 요구를 하지 않고 그냥 사용한다. 그래서 DOS프로그램을 프로텍티드 모드로 사용할 수 있도록 다시 작성하려면 프로그램의 코드르 대규모로 수정해야 할 것이다.

 

이렇게 프로텍티드 모드와 리얼모드를 나누는 방법이 DOS사용자들이 흔히 궁금해 하는 80286 컴퓨터(또는 80386이나 80486컴퓨터) 가 메모리 전체를 사용하지 못하는가?라는 의문의 대답이 될 수 있을 것이다. DOS 프로그램은 대대적으로 다시 쓰기전에는 프로텍티드 모드에서는 동작되지 않고 또 프로텍티드 모드가 아니면 1MB이상의 메모리는 사용할수 없기 때문에 리얼 모드로만 제한되는 것이다.

 

 

1985년의 회고:80386

1985년 4월에 인텔은 강력한 새 프로세서인 80386을 발료하였다. 80386에는 이전의 80286이 가지고 있던 2가지 모드(플텍티드 모드와 리얼모드)이외에 독자적인 2가지 모드가 추가되었다.

 

세그먼트의 사용:성가신 장벽

알고 싰다시피 286은메모리 할당을요구하는 프로텍티드 모드 어플리케이션에게 새그먼트라 불리는 일정량의 메모리를 할당?. 세그먼트는 8088 구조에서부터 사용되었지만 8088에서는 ahaphf의 보호는 제공하지 앟았다. 세그먼트 단위로 메모리를 관리하는 것은 일반적인 CPu기능상으로는 긍정적으로 볼 수 있겠지만 80286은 이 세그머트와 관곙해서 심각한 설계상의 문제를 가지고 있었다. 8088보다 이전에 나왔던 8비트 CPU인 8080과의 하향 호환성을 유지하기 위해 8088의 세그먼트는 64KB를 넘지 못했다. 하향 호환성이라는 걸림돌 때문에 Intel은 80286 CPU에서도 세그먼트는 64KB의 한계를 넘지 못한 것이다.

 

이렇게 설계를 결정한 것은 인텔이 80286을 만들면서 범한 가장 심각한 오점이다. 어떠한 세그먼트도 64KB를 넘지 못하게 되어 있기 때문에 모든 코드나 데이터는 그 안에 맞춰 넣어야 만 했다. 메가바이트 이상의 메모리를 사용하는 스프레드ㅟ트의 프로그램을작성하는 프로그래머라면 필요한 메가바이트 이상의 메모리를 64KB 단이로 잘게 쪼개서 이것들을 세그먼트단위로 관리하는 수밖에 없었다. 이런 “성가신 장벽”으로 인해 많은 프로그래머들이 286 프로그램을 적극적으로 개발하려는 의지를 가지지 못하게 되었을 것이다. UNIX나 MVS같은 오퍼레이팅 시스템이 돌아가는 메인프레임이나 미니컴퓨터에는 이런 장벽이 없다. 거기에서는 이런 HW의 제한을 극복한 80386의 새로운 설계를 이용한다.

 

386에서의 대형 세그먼트 사용

80386 은 사용할 수 있는 메모리의 최대량을 4096MB로 늘렸을 뿐 아니라 64KB라는 세그먼트 크기의 장벽도 없엤다. 이것이 오늘날의 소프트웨어 개발에 매우 중요한 것이다. 예를 들어 VGA 해상도의 전화면을 차지하는 영상을 다루는 그래픽 프로그램이라면 256KB의 메모리가 필요할 거시아고 더 고해상도의 영상이라면 1024KB의 메모리가 필요할 것이다. 이런 영상같은 테이타를 한 덩어리로 다루는 가장 편리한 방법은 메모리를 배열(array)로 잡아서 취급하는 것이다. 80286에서는 1024KB의 배열은 세그먼트 크기의 한계가 64KB이므로 16개의 64KB세그먼트로 나누어질 수 밖에 없다. 한편 386에서는 선형 어드레싱(:inear addressing)이라는 기법을통해 하나의 1024KB 세그먼트로 할당될 수 있다.

 

예상하 수있듯이 이런대형 세그먼트를 사용하는 데는 호환성이라는 문제가 잠재해 있다. 이런 이유로 80386은 리얼모드와 286-프로텍티드 모드 이외에 386-프러텍티드 모드라는 별도의 모드를 지원하는 것이다.

 

 

V86모드

296-프 로텍티드 모드 프로그램은 간단히 386-프로텍티드 모드로 바꿀 수 있다. 386-프로텍티드 모드는 기본적으로 286-프로텍티드 모드가 하??? 모든 일을 할 수있다. 리얼모드에서 프로텍티드 모드로 바꾸는 일은 더 복잡해졌다. 많은 DOS 리얼 모드 프로그램들이 전혀 386 프로텍티드 모드로 변환된 일이 없는데, 이것은 코드를엄청나게 고쳐써야 하기 때문이었다. 인텔은 이 사실을 80286이 소개되던 1981년에는 실감하지 못했었다. 1985년에등장한 386은 네 번째 프로세서 모드인 가상 8086, 즉  V86 모드를 포함하고 있다.  ㅍ86 모드는 DOS를 멀티태스킹으로 수행할 수 있는 가장 좋은 해결책이라고들 한다. V86 모드는 운영체제의 설계자들이 크게 골치아픈 문제를 겪지 않고도 OS/2에서 DOS 프로그램들을 지원할 수 있게 해 주었다.

어떤 프로그램이든 모든 화면 조작을 DOS를 거쳐서 수행한다. DOS는 화면의 영상을 수정하는 일을 BIOS(Basic Input Output System)라는 소프트웨어 루틴을 부름으로써 하드웨어에게 지시한다. 하지만 대부분의 DOS프로그램들은 하드웨어를 직접 건드려서 새로 표시된 내용을 비디오 보드의 버퍼에 직접 써 넣는다.

 

이런 현실은 두개의 DOS 프로그램들을 멀티테스킹으로 처리하려는 운영체제에서는 문제가 될 수 있다. 예를 들어 Lotus 1-2-3에게 큰 쉬트를 다시 계산하라고 시키고, 1-2-3이 이 계산을 수행하는 동안 dBASE를 작동시켰다고 가정해보자. 1-2-3은 dBASE가 수행되고 있는데도 화면으 ldn측 상단에 Wait 라는 메시지를 깜박이며 표시하고 있게 되는데, 이것은 1-2-3이 화면 조작을 DOS를 거치지 않고 직접 해버리기 때문이다. 두 프로그램이동시에 같은 하면에 데이터를 쓰게 되는 것이다. 만일 1-2-3이 DOS를 통해서 화면 조작을 한다면 멀티테스킹을 수행하는 프로그램은 DOS에게 1-2-3이 표히사는 “Wait"상자를 표시하지 못하게 가로채도록 할수 있을 것이다. 그러면 화면은 깨끗해지고 dBASE의 도트 프롬프트가 나타나게 될 것이다. 간단한 DOS 멀티태스커같은 기초적인 소프트웨어로는 이 문제를 해결할 수 없다.

 

이 문제를 해결하기 위해서 V86모드의 386 컴퓨터를 다수의 PC로 나눈다. 1-2-3과 dBASE가 하나으 PC를 공유하게 하는 것이 아니라 V86 모드는 각각의 프로그램에 하나씩의 가상 PC를 할당해 주는 것이다. V86모드에서는 실제로 비디오 하드웨어를 사용하는 것 대신에 비디오 하드웨어를 흉내내는 한 영역의 메모리를 할당받아서 사용한다.

 

386 -프로텍티드 모드와 가상 8086모드의 조합으로 80386은 막강한 CPU가 되었다. 386-프로텍티드 모드는 미래지향적인 것이고, V86 모드는 과거의 것들도 수용하는 것이다. 그러에도 불구하고 이전에 80286 CPU가 상용시스템에 적용되는데 3년이 걸렸었기 때문에 386 시스템이 그렇게 빠리 나올 것이라고 생각한 사람은 거의 없었다.

 

노트80386 이나 80486컴퓨터를 가진 사람은 여기서 말하는 80386 CPU가 어떤 의미로 말하는 것인지 의문이 갈 것이다. 여기서는 386은 80386SX,80386DX,80386SL,80486DX,80486SX,팬티엄을기반으로 하는 컴퓨터를 말한다. 비록 이들 CPU가 속도면에서는 제각기 다르지만 SW가 수행되기 위해 필요한 필요 요소들은 같다고 보기 때문이다.

 

1986년의 회고:이른 실망

아직 사람들의 조목을 받지 못했던 1986년에 아직 OS/2라는 이름도 갖지 못했던 이 새로운 운영체제는 문제가많은 듯이 보였다. MS는 1983년 이래도 계속 멀티테스킹 버전의 DOS를 준비하고 있었다. 주된 문제점은 처음 버전의 OS/2가 목표로 삼았던 CPU가 80286이었다는 것이다. 286은 프로텍티드 모드로 전환되고 나면 다시 리얼 모드로 돌아올 수 없었다. DOS프로그램을 실행시키려면 리얼 모드가 필요한데, 이렇게 되어서는 OS/2는 DOS프로그램을 지원하지 못하게 되는 것이었다. OS/2개발 프로젝트가 진행중이던 어떤 시점에서  MS의 한 관계자는 PC Week지를 통해 1986년 여름에는 개발자용 키트를 구할 수 있게 될 것이라고 알려 주었다. 비로 MS가 프로텍티드 모드에서 리얼 모드로의 전환에 대한 해결책을 찾아내기는 했지만 그것은 프로젝트를 지연시켰다. 개발 키트는 1987년 가을이 되어도 구할 수 없었다. 이런 사실과 그 외 다른 요인들로 맘미암아 OS/2는 그 이름이 그런 것처럼 이리 저리 바뀌게 되었다. OS/2의 처음 이름은 DOS 3.0이었고, 곧 dOS 4.0으로 바뀌었다. DOS 4.0이라고 명명된 것이 처음으로 출하된 것이다.(보통 말하는 1988년판의 DOS 4.0과는 다른 것이다.). DOS 4.0의 멀티태스킹으 ㅣ기능을 사용하면 DOS 프로그램을 멀티태스킹으로 실행시킬 수 있었다. 286 운영체제는 DOS 5.0으로 이름이 바뀌었고(이것 역시 1991년에 출하된 상품과는 다른 것이다.), 곧 CP/DOS, DOS286,ADOS(Advanced  DOS)등으로 이름이 바뀌었다.

 

개발자들에게는 80386의 등장으로 상황이 더 나빠졌다. 1988년 중에는 386 상품들이 대량시장에는 등장하지 않을 것이라는 기대와는  리 하드웨어 설계자들은 이미 386 CPU 대량시장용 상품으로 개발하고 있었다. 컴팩은 인텔이 386 CPU를 발표한지 1년만에 386 데스크탑 PC를 최상급의 Deskpro라는 모델로 내놓았다. 많은 개발자들은 286을 위한 운영체제보다는 386을 위한 운영체제가 더 필요하다고 느끼게 되었다. 그렇지만 운영체제가 너무 복잡해져야했기 때문에 그렇게 금방은 새 제품이 나오지는 못했다. MS는 이런 규모의 일은 전혀 하지 않았다.

 

1987년의 회고: OS/2 1.0

 

1987 년 4월에 IBM은 고대하던 PS/2라는 차세대 마이크로 컴퓨터를 발표했다. 동시에 OS/2라는 이름의 286을 기반으로 하는 새로운 프로텍티드 모드 오퍼페이팅 시스템도 발표하였다. IBM은 이전의 최상급의 메인프레임용으로는 OS/360을, AS/400이라는 미니컴퓨터 제품(IBM은 이것을 중간급이라고 불렀다)에는 OS/400을 제공하였다. OS/2라는 이름은 데스크탑 컴퓨터를 컴퓨터 센터로 연계시킨다는 오퍼레이팅 시스템으로서의 사명을 띠고 나온 것이었다. 이런 목표는 OS/2의 영역에서는 큰 성공을 거두었다. OS/2의 가장 큰 고객은 많은 메모리 사용을 원하거나 멀티태스킹 기능을 기대하는 PC DOS 사용자들이 아니라 메인프레임에서 좀더 싸게 프로그램을 개발하려는 회사들이었다.

 

1987 년 7월 OS/2의 처음 버전은 소프트웨어 개발 프로그램(Softwre Development Program)에 $3,000을 걸고 참여하려는 개발자들에게 공개되었다. 테스트 버전(베타) 코드라는 불확실함에도 불구하고 개발자들은 OS/2 1.0에 크게 흥분되었다. 대부분의 큰 소프트웨어 회사들은 최소한 OS/2개발팀 정도는 만들게 되었다. 이러던 중 OS/2의 전망에 찬물을 끼얹는 정치적인 사건이 하나 발생하였다.

 

미국의 반도체 시장을 공격해 오던 일본에 대한 반발로, 레이건 행정부는 자국의 반도체 회사들의 경쟁력 강화를 위해 미국내에 판매되는 일본 반도체 회사들의 메모리 칲 가격을 인상하도록 요구했다. 불행히도 그때는 이미 미국에는 메모리 칲 제조회사가 얼마 남아있지 않았다. 그 결과는 메모리 칲의 품귀 현상으로 나타났다. RAM의 가격은 하늘 높은줄 모르고 치솟아 그 이전의 4배까지 상승했다. PC업체들이 OS/2를 사용하기 위해서는 4MB의 RAM이 필요할것이라고 권하고 있던 바로 그때에, 이러한 사건은 많은 구매자들에게는 메모리 구입을 망설이게 하는 위협이 되고 말았다.

 

1987 년 12월 8일, IBM과 MS는 OS/2 1.0을 발표했는데 이 버전은 아직 그래픽 인터페이스는 갖추지 않았고, 마우스도 사용되지 않았으며, 32MB보다 큰 하드 디스크도 지원하지 않았다. 하지만, 이것은 시작에 불과했다. 약 1년 뒤에 OS/2에는 그래픽 인터페이스가 등장했고, 다시 그 다음 해에는 대용량의 하드 디스크가 지원되었다.

 

IBM과 MS가 완성되지 않은 제품을 그렇게 빨리 발표했는지 궁금할 따름이다. 그중 매킨토시가  서 서히 알려지기 시작했다는 것이 한 요인으로 작용했다. 매킨토시는 1984년에 나왔지만 1987년까지는 소수의 추종자들에게만 사용되었다. 그렇지만 1987년에는 그렇게 사기를 꺼려하는 물건이 아니었다. PostScript와 고해상도 프린터의 표준, PageMaker의 등장으로 탁상출판(전자출판)이라는 특정한 용도에 있어서는 매킨토시가 뛰어난 선택이 되었던 것이다. IBM은 이런 매킨토시의 그래픽 사용자 인터페이스(GUI)에 대해 반격을 가하고 싶었을 것이다. OS/2를 조기에 출하하면서 IBM은 조만간 이 기능을 추가할 것이라고 약속했다.

 

1988년 OS/2 1.1

1988 년에 많은 업체들이 OS/2용의 프로그램을 개발하고 있었지만 그들은 IBM과 MS가 매킨토시 같은 GUI인 프리젠테이션 매니져(Presentatgin Manager;PM)을 발표하기전까지는 자신들도 발표를 미루고 있었다. PM이라고 부르는 이 프리젠테이션 매니져는 개발자들에게 그래픽적인 애플리케이션을 개발할 수 있게 해주었지만, 프로그래머들은 엄청난 재교육을 받아야만 했다.

 

동시에 386의 출현은 많은 사람들에게 OS/2는 필요없는 것이 아닌가라는 의구심을 갖게 헸다. 1988년까지는 업무용 컴퓨터의 1/4정도가 386을 기반으로 한것이었다. 전문가들은 계속해서 286을 위한 운영체제을 위해 너무 시간을 낭비하고 있다는 우려를 했다. 막강한 386을 위한 운영체제의 개발은 피할수 없는 것으로 여겨졌다. 이 결과로 OS/2의 판매는 감소하게 되었다.

 

마이크로채널(MicroChannel) 를 기반으로 한 IBM의 새 컴퓨터 PS/2의 판매도 줄어들었다. 판매 증진을 위해 IBM은 PS/2와 OS/2라는 말을 확산시켜서 소프트웨어와 하드웨어의 매출을 동시에 향상시키는 계획을 추진하는데 힘을 쏟았다. 그들은 PC를 구매하는 사람들에게 OS/2는 미래를 위한 운영체제이며, PS/2에만 있는 마이크로 채널 버스가 이 새로운 멀티테스킹 운영체제에 가장 적합한 구조라는 의식을 갖도록 조장하는데 노력했다. 이름에서도 OS/2와 PS/2는 IBM의 새로운 운영체제와 하드웨어가 함께 만들어졌다는 점을 강조하게 했다. 그러나 이러한 시도는 많은 잠재적인 OS/2 수요자들에게 OS/2를 사용하기 위해서는 IBM의 하드웨어를 사야만 한다는 압박감을 주었을 뿐이었다. 이런 오해와 더블어 OS/2가 PC클론 제품의 20%에서는 호환이 안된다는 점 때문에 판매량은 눈에 띄게 줄어들었다.

 

1988 년 Halloween(10월 31일)에 OS/2 1.1이 출하되었다. 이 새 버전은 프리젠테이션 매니져 GUI가 지원되었고, 선택사항으로는 32MB 이상의 대용량 드라이브도 지원되었다. IBM과 MS는 몇 개월 전에 발표된 PC-DOS와 MS-DOS 4.0에도 마찬가지로 디스크 구조 개선을 포함시켰다. 그러나 버전 1.1은 약간의 호환성 문제를 내포하고 있었는데 이것은 아주 악명높은 버그였다. OS/2의 판매를 지원하기 위해 MS는 Windows 2.0을 Windows Presentatin Manager 2.0으로 이름을 바꾸었다. OS/2 1.1은 데이터 베이스나 통신 LAN에 대한 지원을 하지않았다. 이런 기능들은 OS/2 1.1 EE(Extended Edtion;확장판)에서 구현되었다.

 

고성능 파일 시스템(High Performance File System,HPFS)

사람들이 OS/2의 확장판의 출시를 기다리고 있는 동안 IBM과 MS의 대표들은 OS/2에 할발하게 투자를 했다. 그때 까지는 OS/2의 진정한 능력을 보여주는 전시용 프로그램들이 있었다. Hamilton C Shell은 DOS에서 Peter Norton이 했던 것처럼 진보된 사용자 인터페이스를 제공했다. 쉐어웨어인 통신 프로그램 Logicomm은 두번째 버전을 준비하고 있었고, Microsoft는 유명한 Word프로그램을 DOS와 OS/2버전을 한묶음으로 판매하고 있었다. Informix, Oracle, R:BASE,FOCUS,SQLBase,SQL Server등의 거으 ㅣ대부분의 중요 데이터베이스 제품들이 당시까지는 OS/2에서 실행되었다. MicroFocus COBOL도 시장에 나오게 되었는데, 많은 회사들이 메인프레임 COBOL과의 호환성 덕분에 여기에 끌리고 있었다.

 

곧이어 1989년의 Comdex에서 IBM과 MS는 OS/2 1.2를발표 했다. 이버전은 개량된 프리젠테이션 매니져와 새로운 파일 시스템인 고성능 파일 시스템(HPFS)를 제공했다. HPFS는 OS/2의 파일 관리 기능을 보강한 것이다. 이전에는 OS/2역시 DOS와 같은 파일 시스템인 FAT를 사용했었다. 그렇지만 FAT 기반의 시스템은 큰 파일은 제대로 잘 다루지 못하고 OS/2가 많은 데이터베이스 프로그램의 기반으로 사용되었기 때문에 재로운 파일 시스템이 필요하게 되었다. HPFS는 OS/2가 DOS와 근본적으로 다른 주된 부분의 하나가 되었다.

 

또 하나의 중요한 OS/2 1.2의 추가사항은 REXX배치 언어이다. REXX는 컴파일이나 기타 프로그래밍 툴을 사용하지 않고 간단한 프로그램을 작성할 수 있게 해주는 시스템 어플리케이션 구조(System Applicatins Architecture, SAA)언어이다. REXX는 큰 프로그램을 작성하는데에는 적합하지 않지만 DOS의 배치 프로그램이 가진 한계는 극복한 강력한 것이다. IBM은 처음에는 REXX가 메인프레임과의 연결에만 사용될 것이라고 생각했다. 그 결과로 REXX는 OS/2 1.2의 확장판을 구입한 사용자들에게만 제공되었다. MS에서 구입한 OS/2에는 REXX가 들어있지 않았다.

 

1989 년 말에 운영체제 환경은 세갈래 방향으로 진행되기 시작했다. 가장 잘 알려진 것이 바로 MS의 Windows버전 3.0 이었다. MS가 새 버전의 Windows를 통해 Windows용 프로그램의 실행뿐만이 아니라 OS/2가 하지못하던 기능인 DOS 프로그램의 멀티테스킹 기능까지를 보여주게 되자 곧 OS/2는 지연되면서 매출이 떨어졌다. Windows용의 프로그램은 Windows 3.0이 이전 Windows 1 과 2에서 넘지 못했던 640KB의 메모리 장벽을 넘어서서 대용량의 메모리를 사용하기 위해 다시 작성되었다.

 

386 기반의 컴퓨터가 주종이 될 것이라는 견해는 적중했다. 286기반의 컴퓨터가 가장 잘 팔린 것은 한해동안 뿐이었다. 1989년에 소비자들은 다른 어떤 때보다 386 컴퓨터를 가장 많이 구매했다. 386 기반의 OS/2가 등장할 시기가 된 것이었다. 레드몬드의 MS와 아몬크(Armonk)의 IBM은 그들이 작업하고 있는 완전히 새롭게 작성된 버전 2.0의 OS/2와 OS/2 3.0에 대한 내용을 세상에 알리기 시작했다. 버전 2.0은 386CPU의 메모리 관리 능력을 위해 대용량의 메모리를 쓸 수 있게 하고, 기존의 DOS프로그램을 멀티테스킹으로 수행할 것이라고 말했다. OS/2 2.0의 발표는 비공식적으로는 1990년 중반이 될 예정이었다. 버전 3.0은 2.0이 가진 기능을 모두 포함할 뿐 아니라 플랫폼-비종속형(flatform-independent)이라는 것이었다. 이말은 3.0은 PC구조가 아닌 매킨토시나 IBM의 RS/6000, Sun, HP 워크스테이션, PowerPC를 기반으로 하는 컴퓨터와 같은 RISC 컴퓨터에서도 구현된다는 것이다. 현재 (1997년) 여기서 말하는 OS/2 3.0은 플랫폼-비종속형이 아닌데, 이것은 MS와 IBM의 사이가 급속히 멀어져버린데서 비롯된 것이다.

 

IBM 은 MS의 Windows개발에 신경질적인 반발을 보이면서 OS/2가 버전 1.2에서보다 메모리를 덜 요구할 것임을 시사했다. 이 축소된 버전은 MS으 lehdna을 전혀 받지 ㅇ낳은 IBM으 ㅣ독자적인 작업으로 진행되었다. 그럼에도 불구하고 1980년대가 끝나감에 따라 80년대의 어떤 때보다 운영체제에 대한 선택이 어려웠다.

 

1990년대 : Windows 3.0

1990 월 1월 MS사의 시스템세미나에서 MS의 책임자들은 MS가 추진해 나갈 운영체제 시스템의 방향에 대해 언급하였다. OS/2 버전 2,3은 궤도로 올라와 순조로운 것으로 나타났다. OS/2 2.0의 초기 베타판이 이미 베타 테스터들에게 배포되었다. OS/2 2.0의 설계자들은 OS/2의 기본은 그대로 둔 채 대용량 메모리에 대한 지원과 DOS 멀티태스킹을 추가하였다. 1990년 여름에 선보인 베타 버전은 시장에 내놓아도 좋을 만큼 충분히 다듬어진 것으로 나타났다.

만일 IBM이 그때 시장에 내놓았더라면 오늘날 시장에서의 OS/2의 위치는 크게 달려졌을 것임에 틀림없다.

 

MS 의 Windows 3.0은 1990년 5월 21에 발표되었다. 제대로 돌리기 위해서는최소 4MB 이상의 메모리(메모리 품귀현상은 이미 끝났다.)와 60MB 이상의 하드드라이브, VGA그래픽, 마우스를 가진 386 기반의 컴퓨터는 되어야 했다. OS/2역시 1988년에는 같은 정도의 구성이 필요했었는데, 그때는 그것이 오페레이팅 시스템으로는 불리한 점으로 작용했었다. 하지만  Windows 에서는 사용자들이 386의 성능을 충분히 사용한다는 면에서 환영하였다. Windows는 태풍처럼 세계를 강타했고, 한달 사이에 OS/2가 3년동안 판매했던 것보다 더 많이 판매되었다. 개발자들은 MS가 승리를 거머쥐었다는 것을 알게 되었다.

 

Windows 의 성공으로 개발자들은 다른 상황에 처하게 되었다. OS/2 제품 개발에 3년이라는 시간과 돈을 추자했지만, 상품의 시장은 형성되지 않았다. 이에 반해 Windows용의 개발은 피할수 없는 일이 되었다. 따라서 OS/2 개발팀들이 주로 Windows개발팀으로 바뀌었고 극히 소수만이 계속 OS/2개발에 남게 되었다.

 

1990 년 OS/2의 발표가 없었다. IBM은 2.0의 발표를 1991년 초로 미루었다. 그러나 IBM은 1990년에 반가운 소식을 접하게 되었는데 그것은 HP가 그들의 유명한 LaserJet계열의 프린터용 프린터 드라이버들을 지원하게 되었다는 것이었다. 몇해동안 IBM과 MS는 HP에 대한 지원이 부족하다는 것이 방해가 되어있었다. 그렇기는 하지만 원래 버전의 OS/2에 도움이 되기에는 이 프린터 드라이버가 너무 늦게 나왔다.

 

 

1991년의 회고:IBM과 MS의 결별

아무도 OS/2 2.0이 언제 발표될지를 몰랐다. IBM은 그런 제품이 개발되고 있다는여지를 내비친 적도 없었지만 PC업계에는 OS에 어떤 일이 진행되고 있다는 것은 알려져 있었다. Wall Street Journal의 앞면 기사에서는 OS/2는 죽었다고 선언하기도했다. 이 기사에서는 MS는 자신들이 맡은 OS/2 개발은 중단하고 그것을 IBM으로 떠넘길 것이라고 했다. 앞으로 MS의 OS개발은 Windows와 DOS를 키우는데 집중할 것이라고 했다.

 

미래형의 아키텍쳐 비종속형 버전의 OS/2라고 말하던 OS/2버전 3.0은 결국은 Windows NT가 될것이라고 말했다. NT는 New Technology라는 뜻으로서 여러가지 다른 종류의 컴퓨터에서 실행될 MS의 핵심 소프트웨어 명칭이다. 또한 NT는 UNIX나 OS/2프로그램도 실생시키게 되어서 그때까지는 가장 포괄적인 데스크탑 오퍼레이팅 시스템이었다. MS는 1992년 말까지는 NT를 발표하겠다고 약속했었는데 기존의 대형 OS제품들의 지원을 고려한 야심 때문에 다소 지연되었다. 그렇지만 1991년 말에 MS는 OS/2에 대한 지원 약속을 철회했고, 1992년 에는 UNIX에 대한 지원도 포기해 버렸다.

 

1992 년 초에 IBM은 OS/2 1.3을 판매하기시작했다. 빠른 사용자 인터페이스를 가진 이 새 버전은 버전 1.2를 축소시킨것이었다. 버전 1.3은 PostScript 언어를 개발한 어도브가 설계한 강력한 폰트엔진을 내장하고있었다. Adobe Type Manager라 불리우는 이 폰트엔진은 전자적인 폰트로는 가장 널리 쓰이는 Adobe Type 1 포맷에 내장된 폰트를 관장할 수 있다.

 

1991년 말에 IBM은 OS/2 2.0이 1992년 5월 까지는 출하되지 않을 것이라고 말했다. 이 최종적인 지연은 이전의 동업자 MS때문이었다. IBM과 MS의 적개심은 1991년을 지나면서 더 심화되었다.

 

MS 가 Wall Street Journal을 통해 공개적으로 IBM을 비난한 후에 IBM은 그들의 LAN에 대한 관점의 변화를 공표하였다. LAN은 유타주 Prove에 있는 노벨에 의해 주도되어 왔다. 1986년 이래로 MS와 IBM은 노벨의 거대한 시장점유율을 깍아내기 위한 노력을 계속해 왔다. 가장 최근에 진행되던 것은 MS의 주도하에 개발된 OS/2 기반의 랜매니저(LAN Manager)와 랜서버(LAN Server) 였다. 1991sus 2월에 IBM은노벨의 LAN에 따라 자신들의 하드웨어와 소프트웨어도 PC LAN과 메인프레임을 고속으로 연결할 것이라고 발표하였다. MS도 자신들의 LAN Manager 버전 1.2에서 이전 버전의 LAN Manager는 IBM의 LAN Server와 상호 접속이 가능하던 것을 더 이상 LAN Server가 지원되지 않게 함으로써 보복을 가했다.

 

1992년 말의 회고:IBM이 OS/2 2.0을 발표

1991년 말에 IBM은 OS/2 2.0은 Windwos 보다 Windows 프로그램을 더 빨리 실행시키고, DOS 어플리케이션을 멀티테스킹 시킴으로써 Windows보다 더 낳은 Windwos,DOS보다 더 낳은 DOS가 될 것이라고 발표하였다. 199년의 봄에 OS/2 2.0이 발표되었고, 이것은 IBM의 많은 약속들을 이행한 것이었다. OS/2 2.0은 Windows 3.0의 어플리케이션을 실행시킬수 있었다.(그 이후에 나온 Windows 3.1은 지원하지 않았다.)  DOS 어플리케이션들도 잘 수행되었는데, 다수의 어플리케이션을 멀티테스크로 동시에 실행시키면서 각각을 분리된 윈도우로, 각 세션이 버그나 폭주로 인해 침범하지 않게 만들어 주었다. 새로운 인터페이스도 소개되었는데 이것은 이 책에서 다루는 새 버전 OS/2와 같은 워크플레이스 쉘이다. 또한 OS/2전용의 어플리케이션을 위해 비디오 부분 같은 약간을 빼고는 80386의 이점을 완전히 사용할수 있는 32비트 환경을 제공한다.

 

1993년의 회고: OS/2 2.1의 등장

여러달의 시험을 거쳐서 1993년 5월 IBM은 열광적인 환영속에 OS/2 2.1을 발표하였다. 이 최신 버전을 더욱 빨라졌고, 디스크를 좀더 적게 차지하였다. IBM은 Windows에 대한 지원을 끌어올려서 True Type폰트와 같은 버전 3.1의 기능을 지원하였다. 또한 새로운 32비트의 그래픽 서브시스템은 32비트 어플리케이션을 위해 뛰어난 성능을 제공하였다. OS/2 2.1은 드라이버 지원도 향상되어서 매끄러운(seamless) 32비트 디스플레이 드라이버를 내장하고 있다. 이 드라이버들은 SVGA,8514/A,XGA,GXA-2,VGA 디스플레이 어뎁터 등의 그래픽에 대한 지원역역도 확대하였다.

 

IBM 의 멀티미디어 프리젠테이션 매니저/2(MMPM/2) 또한 OS/2 2.1에 포함되었다. MMPM/2에 있는 애플릿들은 사운드 파일과 MIDI, 음악 CD, 디지털 동화상을 재생할 수 있다. MMPM/2는 동화상용 하드웨어 없이 1초에 30프레임의 디지털 동화상을 재생할 수 있다.

 

OS/2 2.1에서부터는 신용카드 크기의 어댑터 카드를 사용하기 위한 산업표준인 PCMCIA 2.0서비스 규격도 지원한다. 사용자들은 컴퓨터의 전원을 끄고 켜고 할것없이 그냥 카드를 꽂아서 사용할 수 있다(hot-plug cards). 추가로 업계 표준인 개선 전원 관리(Advanced Power Managerment, APM)기능을 통해 OS/2 2.1은 전기 사용을 절약해 주어서 휴대용 PC들의 배터리 수명을 연장시켜 준다.

 

IBM 은 그 얼마 후, MS와의 Windows코드 사용 계약이 완료됨에 따라 OS/2 2.1에서 Windows 코드만이 없는 버전을 만들어서 이것을 OS/2 2.1 for Windwos라는 명칭으로 발매하기 시작했다. 이 버전은 Windows가 직접 포함되어 있지는 않지만 이미 Windows를 가지고 있는 사용자들은 OS/2를 설치하면서 이미 깔려있는 Windows를 WIN-OS/2로 사용할수 있게 해 줌으로써 IBM이 MS에 저작료를 물지 않고도 OS/2의 멀티테스킹과 멀티스레드의 장점을 사용할수 있게 해주었다.

 

Warp시대의 도래

1993 년과 1994년은 컴퓨터 업계에서는 말 그대로 정신이 없는 기간이었다. 하드웨어 부분에서는 인텔의 486이 PC의 주종으로 자리잡으면서 팬티엄이 서서히 성장해 나갔다. 하드웨어의 가격은 486의 호환칲들의 등장으로 날이 갈수록 멀어지기만 하고, 누구나 고성능의 PC와 고기능의 주변장치들을 기본으로 가지게 되었다.

 

오퍼레이팅 시스템 분야에서도 MS가 여러가지 소문이 무성하던 Windows NT 발표했으며, Windows의 차기버전(코드명 Chicago)이 발표될 것이라고 선포하기에 이르렀다. 그러나 Chicgo는 1995년 초에 발표될 것이라고 시기적으로 연기가 거듭되면서 명칭도 공식적으로 Windwos 95로 결정되었다. 그러나 결국은 95년 8월 이후에 공식 발표될 것이라고 알려지면서 32비트 OS의 사용을 손꼽아 기다리던 사용자들의 김을 빼놓았다.

 

어쨓건 1994년 한여름에 IBM은 OS/2가 전세계적으로 5백만 카피이상이 판매되었다고 발표하였다. 비록 이것은 Windows 3.1에 비하면 보잘 것 없지만 OS/2를 서계에서 가장 유명한 32비트 오퍼레이팅 시스템이라고 하기에는 충분한 것이었다.

 

IBM 은 OS/2에 남아있던 약점들, 특히 설치가 힘들다는 점, 제대로 실행시키려면 시스템 요구사항이 크다는 점, PC 주변장치들에 대한 지원이 부족하다는 점등을 극복하기로 하였다. 그 결과로 코드명 Warp, 공식적인 상품명 OS/2 Warp, 버전 3이 나오게 되었다.

 

1994 년 10월에 IBM은 OS/2 Warp, Version 3.0 for Windows를 발표했는데, 이것은 OS/2 2.1 for Windows와 마찬가지로 기존의 Windows위에서 실행되는 것이었다. 그러나 OS/2 2.1 for Windows와는 달리 OS/2 Warp, 버전 3은 Windows 3.1x 뿐 아니라, Windows for Workgoup 3.11에서도 잘 동작한다. 곧이어 Windows 내장형의 풀팩 OS/2 Warp 버전 3도 발표되었다.

 

Windows가 내장되었던 밖에 있건 간에 두가지 버전의 OS/2는 모두 성능을 획기적으로 향상시켰으며 실제로 4MB의 RAM에서도 잘 실행된다. 비록 요즘  나오는 어플리케이션들이 메모리를 8MB 이상 요구하는 것들이 많기는 하지만 말이다. 더욱 많은 CD-ROM 드라이브 ,오디오 드라이브, 비디오 드라이브들이  새 버전의 OS/2에 포함되었다. 많은 시스템들에 대해 설치 또한 간편해졌다.

 

또한 이 최신 버전은 이전에 비해 많은 부분이 개선되었다.

OS/2 의 예전 애플릿들을 통합된 완전한 세트로 대체되었는데, 겨기에는 워드프로세서,스프레드쉬트, 데이터베이스,챠트,레포트 작성기,통신기능, 개인정보관리프로그램까지 포함되어 있다. 이 어플리케이션들은 공식적으로 Footprint Software Inc.사의 Footprint Works라는상품이다.

Windows 를 내장하고 있는 것과 없는 것 양쪽 다 뛰어난 Internet 엑세스 툴을 제공하는데, 여기에는 TCP/IP통신 프로그램과 Internet e-mail,파일 전송, 기타 여러가지의 유틸리티들이 포함되어 있다. OS/2 Warp 버전 3에서는 IBM Global Network를통해 버튼 한번으로 Internet을 엑세스 할수 있게 되어있다. 따라서 각자가 어떻게 연결을 할 것인지를 고민할 필요가 없어졌다.

별도의 보너스 팩에는 CompuServe Infomatin Manager라는 CompuServe를 액세스하는 OS/2용 프로그램이 포함되어 있으며, OS/2용의 팩스 어플리케이션인 FaxWorks도 있고, LAN을 통해 여러 PC 사용자들이 각자의 화면에 공유된 칠판을 보면서 서로 함께 대화할수 있는 Person to Person이라는 워크그룹용 어플리케이션도 들어있다.

그래픽 사용자 인터페이스인 워크플레이스 쉘에는 자주 사용되는 오브젝트와 프로그램을 단번에 작동시킬수 있는 론치패드(LaunchPad)가 추가되었다.

인쇄작업의 성능, 멀티미디어 지원, PCMCIA지원등이 개선되었다.

 

마지막으로 별로 내키지 않는 일이었지만 IBM은 최종적으로 Windows 95용의 프로그램을 작성해야 하는 개발자들을 위해 Win32s 어플리케이션 프로그래밍  인터패이스에 대한 지원을 포함시키기로 결정하였다. 이렇게 함으로써 Windows에 대한 호환성을 중요시하는 OS/2사용자들에게 도움이 될  것 이기 때문이다.


목차로 가기



eComStation | 구매하기 | 사이트소개 | 이용안내 | 설치 관련 도움 요청 | 개인정보 보호정책 | 사이트 맵 | 관리자그룹 | 예전 사이트 | Softbox
Copyright © 1995-2010