유닉스의 역사

유닉스 역사 소개

2004년 UNIX 운영체제의 35번째 생일이 되는 해이다. 1969년의 최초의 UNIX 시스템 이후로 UNIX는 수많은 하드웨어 플랫폼에 이식되었고, 다양한 기관들, 연구소, 대학기관, 회사 등에 의하여 사용 및 다른 형태의 UNIX 시스템으로 만들어 지고 발표 되었다. UNIX 시스템은 광범위한 환경과 여러 가지 응용 프로그램들에 사용되는 다방면의 융통성 있는 운영체제로 성장하여 오늘날에는 작은 규모의 시스템으로부터 워크스테이션이나 데스크 탑, 및 대규모 시스템에 적용 되어 많은 서비스를 제공하는 다중 처리기 시스템등의 다양한 플랫폼에서 동작하고 있다.

초기에는 벨 연구소에서 시작하였기에 벨 연구소의 책임이 있었지만 많은 회사들이 개발 및 확산을 가져와 여러 종류의 UNIX 시스템을 양산하게 되었으며, 다양하게 예상되는 인터페이스들, 응용 프로그램들과 기능들이 핵심 집합을 대충 지원하였다.


1. 초창기

1960년대 말 벨 연구소(BTL)는 제네럴 일렉트릭사(General Electric)와 Massachusets 공과 대학과 같이 Multics 라고 불리는 다중 사용자를 위한 운영체제 개발 프로젝트에 참여하게 되었다.(Orga 72). 1969년 3월 Multics 프로젝트가 취소 되었을 때, BTL에 있는 주요 개발자들 몇몇은 연구를 수행 할 수 있는 다른 흥미 있는 프로젝트를 찾게 되었다. 그들 중에 한 명인 Ken Thompson은 Space Travel이라고 불리는 게임 프로그램을 만들고 그 당시 잘 사용되지 않던 PDP-7 컴퓨터(DEC에서 생산한 컴퓨터)에서 그 프로그램을 실행하기로 정했다. PDP-7에는 프로그램 개발 환경이 없었다. 따라서, Thompson은 GECOS가 동작하는 Honeywell 635 컴퓨터에서 프로그램을 크로스 어셈블(Cross-assemble)하여 종이 테이프를 이용하여 프로그램을 PDP-7으로 직접 옮길 수 밖에 없었다.

Space Travel의 개발을 보다 용이하게 하기 위해, Thompson은 Dennis Ritchie와 함께 PDP-7을 위한 운영체제 개발을 시작하였다. 첫 번째 구성요소는 간단 파일 시스템으로 그것은 현재 System V file system(s5fs)을 ㅗ알려진 파일 시스템의 초기 버전으로 발전되었다. 그들은 곧 프로세스 서브 시스템(subsystem), shell이라고 불리는 간단한 명령어 해석기(이것은 Bourne shell로 발전하게 된다[Bour 78]), 그리고 작은 유틸리트의 집합을 추가하게 된다. 그 운영체제는 자립이 가능하게 되어 더 이상 GECOS의 환경이 필요하지 않게 되었다. 그들은 새로운 운영체제의 이름을 Multics 이름에 대한 말장난(put on)으로 UNIX라고 지었다.

다음 해에 Thompson, Ritchie, 그리고 Joseph Ossanna는 DEC의 PDP-11을 BTL의 특허 담당 부서에서 문서처리용 시스템으로 사용할 수 있도록 하는 프로젝트를 수행하였다. 그들은 UNIX 시스템을 PDP-11에 이식하였고 ed 문서편집기와 문서 표현(text rendering) 유틸리티인 runoff의 초기 버전들과 같은 여러 개의 문서 처리 유틸리트를 추가시켰다. Thompson은 B라고 불리는 새로운 언어(이 언어의 초기 한 분파는 BCPL로 불리기도 하였다.[Rich 82])를 개발 하였고, 이 언어를 사용하여 초기의 어셈블러와 유틸리트들을 만들었다. B언어는 해석형 언어(Interpretive language)였기 때문에 성능이 좋지 않았다. 마침내, Ritchie가 B언어를 C언어로 발전시켰는데, C언어는 B언어와 호환적이며, B언어의 데이터 유형과 데이터 구조를 지원하였다. C언어의 성공은 UNIX 시스템의 성공을 능가하고 있다.

UNIX 시스템은 BTL안에서 대중화 되었고, 많은 다른 사람들이 UNIX 시스템의 발전에 공헌을 했다. Doug McIlroy의 요청에 의해 Ritchie와 Thompson은 1971년 11월에 UNIX Programmer’s Manual의 첫판을 발간하게 된다. 그 이후로 BTL에서 나온 UNIX 시스템의 열 개의 버전과 동일하게 이 매뉴얼도 모두 열 개의 개정판이 나오게 되었다.

초기의 UNIX 시스템 버전들은 엄격히 BTL 내부용이었다. 1973년 2월에 만들어진 UNIX 시스템 세 번째 버전은 C 컴파일러인 cc를 포함했다. 같은 해에 UNIX 시스템은 C 언어로 다시 작성되었는데(그 결과로 1973년 11월에 UNIX 시스템 네 번째 버전이 나왔다) 이것이 UNIX 시스템의 미래에 성공에 지대한 영향을 미쳤다. Thompson가 Ritchie는 The UNIX Time Sharing System이라는 최초의 UNIX 시스템 논문을 공동 저작하였다.[Thom 74]. 이 논문은 1973년 10월에 ACM에 출판 되었다. 이 논문이 UNIX 시스템을 외부에 알린 최초의 논문이 된다.


2. 확산(Proliferation)

1956년에 미 법무부가 AT&T와 Western Electronic Company를 상대로 한 반 독점과점 소송의 결과로 AT&T는 연방 정부와 “동의 판결(Consent decree)”에 서명했다. 그들이 동의한 내용은 AT&T로 하여금 전화기나 지난 서비스의 관계 없는 어떠한 장비도 생산하지 못하고, “대중 통신 서비스(Common Carrier Communication Services)”를 제공하는 사업을 제외한 어떠한 사업에도 참여하지 못하도록 하는 것이다.

그 결과 AT&T는 자기 회사가 컴퓨터 관련 제품을 팔 수 없다는 판단을 하게 되었다. 반면에, SOAP의 발표는 결과적으로 UNIX 소프트웨어와 UNIX 자원에 대한 수많은 요청을 낳았다. AT&T는 기술료 없이 간단한 라이선스의 동의 하에 UNIX 시스템을 대학들에 교육과 연구 목적으로 제공 했다. AT&T는 어떠한 광고나 판매도 하지 않았으며, AT&T의 UNIX 시스템 버전에 대한 지원도 없었다. Berkeley 소재 California대학이 처음으로 이러한 라이선스를 체결한 대학중의 하나였는데. 이 대학은 1973년 12월 UNIX 시스템을 획득했다.

이러한 조건들 하에 UNIX 시스템들은 전세계로 급격히 퍼져나가기 시작했다. 1975년까지 UNIX 시스템들은 예루살렘의 Hebrew 대학, 오스트레일리아의 New South Wales 대학, 캐나다의 Toronto 대학까지 퍼져나가게 되었다. 최초의 UNIX 시스템 이식은 Interdata 기계에 이루어졌다. 1976년에 Wollongong 대학이, 그리고 1977년에 BTL의 Ritchie와 Steve Johnson이 독립적으로 다시 이식 작업을 하였다.

1979년 1월에 발표된 UNIX 릴리즈 7은 최초의 이식 가능한 UNIX 시스템 이었고 그 후의 UNIX 시스템의 발전에 큰 영향을 미쳤다. 이 시스템은 처음에 PDP-11과 Interdata 8/32상에서 동작했다. 이 시스템은 릴리즈 6에 비해 훨씬 강건하고(robust) 훨씬 많은 기능들을 제공하였다. 뿐만 아니라, 이 시스템은 릴리즈 6에 비해 훨씬 느렸다. 많은 라이센스 체결자들이 여러 분야에서 UNIX 시스템의 성능을 향상시켰다. AT&T는 이러한 성능 향상을 다음 릴리즈의 UNIX 시스템에 통합시켰다. 이러한 시스템의 생산자와 소비자간의 협동 정신(불행하게도, 이 정신은 UNIX 시스템이 성공적으로 상업화된 후에는 저하되었다.)은 UNIX 시스템의 대중화를 앞당기고 UNIX 시스템이 급격히 성장하도록 한 가장 중요한 요소였다.

곧 UNIX 시스템은 다른 여러 아키텍쳐에 이식되었다. 마이크로소프트와 SCO(Santa Cruz Operation)는 UNIX 시스템을 인텔 8086에 이식하기 위해 공동 연구를 수행하였고 결과로 상업용 UNIX 시스템의 가장 초기 버전 중의 하나인 XENIX가 탄생되었다. 1978년에 DEC은 32bit 컴퓨터인 VAX-11을 선보였다. Ritchie, Thompson, Johnson 등이 UNIX 시스템을 VAX에 이식하는 연구를 거절하자, Digital사는 New Jersey주의 Holmdel에 있는 BTL의 한 지부의 그룹과 교섭하게 되었다. 이것이 최초의 32비트 컴퓨터에 대한 이식이었고, 결과적으로 UNIX/32V라고 불리는 버전이 생겼다. 이 버전은 Berkeley 소재 California 대학으로 보내졌고, 1979년에 3BSD로 발전되었다.


3. BSD

1974년 12월에 Berkeley 소재 California 대학은 최초의 UNIX 시스템의 라이센스 중 하나를 획득하였다. 그 후 몇 년 동안 Bill Joy와 Chuck Haley를 포함한 대학원생들의 한 모임이 ex 에디터(나중에 vi 에디터가 뒤를 잇게 된다)와 Pascal 컴파일러 등을 포함한 여러 유틸리트들을 개발하였다. 그들은 이러한 부가물들을 Berkely Software Distribution(BSD)이라고 불리는 패키지로 묶어 1978년 봄에 이 패키지를 라이센스당 $50에 판매하기 시작하였다. 초기의 BSD 버전들(버전2는 1978년 말에 판매되었다.)은 응용 프로그램들과 유틸리트들 만으로 구성되었고 운영체제를 고치거나 다시 배포하지는 않았다. Joy의 초기 공헌들 중의 하나는 C 쉘[Joy86] 인데 이것은 Bourne 쉘에서는 가능하지 않았던 작업 제어나 명령어 히스토리와 같은 기능을 제공하였다.

1978년에 Berkeley 소재 California 대학은 VAX-11/780과 New Jersey주의 Holmdel에 있는 BTL의 한 지부에서 이식한 UNIX/V32을 얻었다. VAX는 32비트 아키텍쳐이고 4 기가비이트의 주소공간을 허용하였지만 실제 메모리는 2 메가 바이트만 허용한다. 비슷한 시기에 Ozalp Babaoglu가 VAX를 위한 페이지 기반의 가상 메모리 시스템을 설계하여 UNIX 시스템에 통합하였다. 그 결과로 1979년 말에 3BSD 버전의 UNIX 시스템이 탄생하였는데, 이 시스템은 Berkeley 소재 California 대학에서 만든 첫 운영체제였다.

가상 메모리 장치 성과는 DARPA(Defense Advanced Research Projects Agency)로 하여금 Berkeley가 UNIX 시스템을 개발 할 수 있도록 자금을 지원하도록 촉진했다. DARPA 프로젝트의 중요한 목표중의 하나는 TCP/IP(Transmission Control Protocol/Internet Protocol) 네트워크 프로토콜 일체를 통합하는 것이었다. DARPA의 자금 지원을 통해, Berkely는 총체적으로 4BSD-1980년에 4.0BSD, 1981년에 4.1BSD, 1983년에 4.2BSD, 1986년에 4.3BSD 그리고 1993년에 4.4 BSD-라고 불려지는 여러 버전의 BSD들을 만들어냈다.

Berkely 팀은 많은 중요한 기술적 공헌을 이루어내었다. 가상 메모리 공간과 TCP/IP의 통합을 제외하고도, BSD UNIX는 FAST File System(FFS), 안전한 시그널의 구현, 그리고 소켓 기능을 선보였다. 4.4BSD는 기존의 가상 메모리 공간 관리기법을 Mach에서 구현한 관리기법으로 변경하였고, 로그 구조의 파일 시스템(log-structured file system)과 같은 다른 개선을 추가하였다.

Berkely의 UNIX 시스템에 대한 작업들은 CSRG(Computer Science Research Group)에 의해 수행되었다. 4.4BSD의 개발이 완료된 후, CSRG는 해산하고 UNIX 시스템의 개발을 중단하기로 결정했다. [Bost 93]에 쓰여진 주된 이류는 다음과 같다.

  • 보조금과 자금지원의 부족
  • BSD의 기능들이 이제는 다수의 상용 시스템에서 사용 가능해졌다.
  • BSD 시스템이 소규모의 단체에서 설계하고 관리하기에는 너무 크고 복잡해졌다.



4.4BSD를 상업화하고 판매하기 위해 BSD(Berkely Software Distribution Inc.)라고 불리는 회사가 설립되었다. 원래 UNIX 시스템의 소스코드 대부분이 Berkeley에서 개발한 새로운 소스코드로 변경되었기 때문에 BSD/386 버전의 소스코드는 AT&T의 라이선스로부터 완전히 자유롭다고 BSDI측은 주장하고 있다. UNIX 시스템 개발을 담당하고 있는 AT&T의 자회사인 UNIX System laboratories는 저작권 위반, 계약 위반, 그리고 거래 비밀의 남용으로 BSDI와 California 대학의 평의원들에 대해 소송을 제기했다.[Gerb 92] 이 송은 BSDI가 소스코드를 판매하기 위해 1-800-ITS-UNIX 전화번호를 사용하면서 시작되었다. California 대학은 맞고소를 하였고 결과적으로 소송은 4.4BSD의 판매를 연기시켰다. 1994년 2월 4일에 이 사건은 양쪽이 모두 소송을 취하함으로써 재판 없이 종결 되었다. BSDI는 4.4BSD-lite가 사용 가능해 졌다고 광고하였고 아무런 법적 문제가 없는 소스코드와 함께 약 $1000의 가격으로 판매하고 있다.


4. System V

AT&T를 다시 살펴보면 AT&T와 미 법무부와의 법정투쟁은1982년 획기적 판결(Landmark decree)에 의해 최고조에 달했다. 그 판결의 결과로 Western Electric은 분리되었고 지방의 운영회사들은 AT&T로부터 분리 되었다. 또한 Baby Bells사가 설립되었고 벨 전화 연구소도 분리되어 AT&T 벨 연구소로 다시 이름 지어졌다. 그리고, AT&T사도 컴퓨터 사업에 참여 할 수 있도록 허가 되었다.

BTL에 있는 연구그룹이 UNIX 시스템에 대한 연구를 계속 수행하는 방면에, 외부 발매에 대한 책임은 그들로부터 UNIX 시스템 지원 그룹(UNIX support group)으로 옮겨졌고, 다음엔 UNIX 시스템 개발 그룹(UNIX support group)으로 옮겨졌고, 당름엔 UNIX 시스템 개발 그룹(UNIX system development group)으로, 그 다음엔 AT&T 정보 시스템으로 옮겨졌다. 그 중에서 1982년에 System III가 발매디고, 1983년에는 System V가, 1984년에는 System V Release 2(SVR2)가, 1987년에는 Release 3(SVR3)가 발매 되었다. AT&T는 System V를 적극적으로 판매하기 시작했고, 많은 상업용 UNIX 시스템의 구현이 이것을 기반으로 하고 있다.

System V UNIX 시스템은 많은 새로운 기능들과 설비(facilities)들을 선보였다. regions구조라 불리는 System V의 가상 메모리 공간 구현은 BSD의 구현 방식과는 상당히 다르다. SVR3는 프로세스상의 통신설비들(공유 메모리, 세마포, 그리고 메시지 큐를 포함하는)과 원격 파일 공유, 공유 라이브러리, 디바이스 드라이버와 네트워크 프로토콜을 위한 STREAMS 프레임워크 등을 선보였다. System V의 가장 최신 버전은 Release 4(SVR4)인데, 이것에 대한 설명은 “1-8. SVR4와 그 이후”에 설명한다.


5. 상업화

UNIX 시스템 인기의 성장은 여러 컴퓨터 회사들의 관심을 끌었고, 그 회사들은 자신들만의 버전의 UNIX 시스템을 상업화하고 판매하기 위해 분투하였다. 각 회사들은 AT&T나 Berkeley의 기본 UNIX 시스템으로부터 시작하여, 자기 회사의 하드웨어에 UNIX 시스템을 이식하고, 자신들 고유의 부가 기능을 추가함으로써 UNIX 시스템을 강화시켰다. 1977년에 Interactive System가 첫 UNIX 사업자가 되었다. 그들의 첫 번째 릴리즈는 IS/1이라고 불려고 PDP-11 상에서 동작하였다.

1982년에 Bill Joy는 Berkeley를 떠나서 Sun Microsystems사를 공동 설립하였는데, 이 회사는 SunOS(후에 Solaris라고 불리는 SVR4) 기반의 변형된 UNIX 시스템이 된다.)라고 불리는 4.2BSD 기반의 변형된 UNIX 시스템을 발매하였다. Microsoft사와 SCO가 XWNIX를 공동으로 발매하였다. 후에 SCO는 SVR3를 386 컴퓨터에 이식하였고, 이것을 SCO UNIX로 발매하였다. 1980년대에는 IBM의 AIX, 휴렛 팩커드의 HP-UX, Digital의 ULTRLX(나중에 DEC OSF/1이 뒤를 이었고, 나중에 Digital UNIX로 이름이 바뀌었다)를 포함해서 수많은 사용 UNIX 시스템들이 나왔다.

상용 UNIX 시스템들은 UNX 시스템들의 새로운 릴리즈에 통합되었다. SunOS는 NFS(Network File System)의 여러 종류의 파일 시스템 타입을 지원하기 위한 Vnode/Vfs 인터페이스와 SVR4에 채택된 새로운 가상 메모리 공간 구조를 선보였다. AIX는 처음으로 UNIX 시스템을 위한 사용 저널링 파일 시스템(journaling file system)을 제공했다. ULTRIX는 다중 처리기를 지원하는 최초의 UNIX 시스템들 중의 하나였다.


6. Mach

UNIX 시스템의 인기에 대한 중요한 요인은 많은 유용한 기능을 제공하지만, UNIX 시스템이 작고 간단하다는 점이다. UNIX 시스템이 점점 더 많은 기능들을 통합함에 따라, 커널이 커지고 복잡해지고 점점 더 다루기 힘들어졌다. 많은 사람들은 UNIX 시스템이 자신을 매력적으로 성공적으로 만들었던 원칙으로부터 멀어지고 있다고 느끼게 되었다.

1980년대 중반에 Pittsburgh에 있는 카네기-멜른 대학의 연구원들이 Mach 라고 불리는 새로운 운영체제에 관한 연구를 시작했다.[Acce 86] 그들의 목적은 마이크로커널(microkernel)을 개발하는 것인데, 마이크로 커널은 근본적인 서비스들의 조그만 집합과, 다른 운영 체제의 기능을 유저 레벨에서 구현하는데 필요한 하부 구조를 지원한다. Mach의 아키텍쳐는 UNIX 프로그래밍 인터페이스를 지원하고, 단일 처리기와 다중 처리기에서도 실행되고, 분산환경에도 적합하도록 되어 있다. 새로 자시 시작함으로써, 그들은 그 당시 UNIX 시스템을 괴롭히던 많은 문제들을 피할 수 있을 것을 기대했다.

Mach의 기본 정책은 마이크로커널이 몇 개의 단순한 추상 개념(abstraction)만 지원하고 대부분의 운영체제 기능은 서버라 불리는 사용자 수준 태스크(task)들의 집합을 제공하는 것이다. Mach는 다른 이점을 가지고 있었는데, 그것은 Mach가 AT&T의 라이센스에 아무런 제재도 받지 않는다는 점으로, 이 점이 많은 사업자들의 흥미를 끌게 하였다. Mach 2.5는 가장 인기 있는 버전으로 OSF/1이나 NextStep같은 상용 UNIX 시스템들은 Mach 2.5에 기반하고 있다. Mach의 초기 버전들은 모노리딕 커널의 기능을 가졌으며, 4BSD 인터페이스를 제공하는 고수준의 층을 가졌다. Mach 3.0이 첫 마이크로커널 구현이었다.


7. 표준 그리고 OSF와 UI

UNIX 시스템의 확산은 많은 호환성 문제를 발생 시켰다. 모든 변형들이 어느 정도 거리를 유지하고 보면, 모두 UNIX 시스템처럼 보이지만, 그들은 여러 가지 중요한 점에서 달랐다. 초기의 산업계는 AT&T의 System V 계열의 버전들(공식 UNIX 시스템)과 Berkeley의 BSD 버전들로 나뉘어 있었다. 상용 UNIX 시스템들의 등장은 이러한 상황을 더욱 악화시켰다.

System V와 4BSD는 여러 가지 면에서 다르다. – 그들은 물리적 파일 시스템이 서로 비 호환적이고, 네트워크 하부 구조와 가상 메모리 구조도 달랐다. 이런 상이한 점들 중의 일부는 커널의 설계나 구현에 국한 되었으나, 다른 것들은 프로그래밍 인터페이스 수준에서 명백히 나타났다. 따라서, 수정하지 않고 System V UNIX 시스템과 BSD UNIX 시스템에서 동작할 수 있는 복잡한 응용 프로그램을 작성하는 것은 불가능했다.

상용 UNIX 시스템들은 각각 System V나 BSD에서 유래 되었고 그 후 부터가 기능들이 추가 되었다. 이러한 추가 기능들은 본래부터 대부분 이식이 불가능했다. 결과적으로, 응용 프로그래머들은 자주 매우 혼란스러워 졌고, 그들의 프로그램이 다른 계열의 UNIX 시스템에서도 동작하도록 확실히 하기 위해 과도한 노력을 들여야 했다.

이러한 것들이 인터페이스의 표준안을 만들도록 압력을 가했고 많은 그룹들이 표준안에 대한 연구를 시작했다. 결국 표준안들도 UNIX 시스템들의 변형들만큼이나 많고 다양하게 되었다. 마침내, 대부분의 사업자들이 몇 개의 표준에 동의하게 되었는데 그러한 표준안에는 AT&T의 AVID(System V Interface Definitiion), IEEE 명세들, 그리고 X/Open 컨소시움(Consortium)의 X/Open Portability Guide가 포함되었다.

각 표준안은 프로그래머와 운영체제의 인터페이스를 정의하였으며, 인터페이스를 어떻게 UNIX 시스템에서 구현할 지를 정의하지는 않았다. 표준안은 함수(function)의 집합과 그들의 자세한 의미(semantics)를 정의했다. 이를 준수하는 UNIX 시스템들은 이러한 명세들을 만족시켜야만 했으며, 이들 함수들을 커널 또는 유저 레벨의 라이브러리로 구현할 수 있었다.

표준안의 대부분이 UNIX 시스템들이 제공하는 함수들의 부분집합을 다루었다. 이론적으로는, 만약 프로그래머가 이 부분 집합만을 사용하는 것으로 자신을 제한하면 결과물인 응용 프로그램은 표준안을 준수하는 어떤 UNIX 시스템에도 이식이 가능하게 되었다. 이것은 프로그래머가 소스코드의 이식성을 훼손하지 않고 특정 UNIX 시스템에도 이식이 가능하게 되었다. 이것은 프로그래머가 소스코드의 이식성을 훼손하지 않고 특정 UNIX 시스템의 부가 기능의 이점을 얻거나, 특정 하드웨어나 운영체제의 특징에 기반해서 최적화하는 것을 근본적으로 막고 있다.

SVID는 자세한 System V 프로그래밍 인터페이스의 명세다. AT&T는 세 개의 버전(SVID, SVID2, SVID3[AT&T 89])을 발간했는데, 각각 SVR2, SVR3, SVR4에 해당했다. AT&T는 사업자로 하여금 그들의 운영체제가 SVID를 따를 때에만 그 운영체제를 System V라고 부르는 것을 허용했다. 또한, AT&T는 SVVS(System V Verification Suites)도 발간했는데, 이것은 한 UNIX 시스템이 SVID를 따르는 가를 검증한다.

1986년에 IEEE는 운영체제 환경에 대한 정형화된 표준안을 발간하기 위한 위원회를 구성했다. 그들은 표준안의 이름을 POSIX(Portable Operating based on UNIX)로 정했고 표준안은 SVR3와 4.3BSD의 핵심 부분은 혼합한 것의 근사치였다. 흔히 POSIX.1으로 알려진 POSIX 1003.1 표준안 자체가 어느 특정 UNIX 시스템에 가깝지 않기 때문이었다.

X/Open은 전세계 컴퓨터 사업자들의 컨소시엄이다. X/Open은 1984년에 구성되었고 새로운 표준안을 만들지는 않았다. 그렇지만 기존의 사실상의(de facto) 표준안에 기반하여 개방형 C4E(Common Application Environment)를 개발하였다. 이 컨소시엄은 7권의 X/Open Portability Guide(XPG)를 출판했는데, 이 책의 가장 최근 릴리즈인 Issue 4가 1993년에 발간되었다.[XPGA 93]. 이 책은 POSIZ.1의 초안을 기본으로 하였지만 국제화, 윈도우 인터페이스, 데이터 관리 등과 같은 많은 새로운 분야에 대해 논의하였기 때문에 POSIX.1보가 더 월등했다.

자신의 라이선스 정책에 대해 공공의 항의를 받는 AT&T는 1987년에 Sun Microsystems의 주식의 20%를 구입한다고 발표했다. AT&T와 Sun은 AT&T의 System V UNIX의 다음 릴리즈인 SVR4를 공동 개발하기로 계획했다. AT&T는 Sun이 특혜 대우를 받을 것이라고 말했고, Sun은 4BSD 기반인 SunOS와는 달리 다음 운영체제는 SVR4를 기반으로 할 것이라고 발표했다.

이것은 Sun이 불공평한 이익을 얻게 될 것을 여려하는 다른 UNIX 사업자들로부터 강력한 반응을 일으키게 했다. 이에 대응하여 Digital, IBM, HP, Apollo 등을 포함한 일련의 대형 컴퓨터 회사들이 1988년에 OSF(Open Softare Foundation)를 설립한다고 발표했다. OSF는 창립한 회사들로부터 자금을 지원 받았고, 운영체제, 사용자 환경, 그리고 분산처리 환경을 개발하기 위한 특권을 부여 받았는데, 이 모든 것들은 궁극적으로는 AT&T 라이센스의 멍에로부터 자유로워지기 위해서였다. OFS는 구성원들로부터 RFT(Requests for Technology)를 받았고, 제출된 RFT들로부터 가장 좋은 해결책을 중립적인 방식으로 선택하였다.

보복으로 AT&T와 Sun은 다른 System V 기반의 UIX 시스템 사업자들과 함께 UI(UNIX International)라고 불리는 단체를 구성하였다. UI는 SVR4의 판매에 주력하였고, UNIX System V의 발전 방향을 정의할 것이라고 기대되었다. 1990년에 UI는 UNIX System V Road Map을 발간 하였는데, 이 책은 앞으로의 UNIX 시스템의 개발 방향에 대해 개략적으로 논의 하였다.

1989년에 OSF는 Motif라고 불리는 그래픽 사용자 인터페이스를 발표하였는데, 이것은 UNIX 사업자들에게 많은 호응을 받았다. 곧 이어서 OSF는 OSF/1이라 불리는 운영체제의 초기 버전을 발표했다. OSF/1의 첫 번째 릴리즈는 Mach 2.5 기반했고, 4.3BSD와 호환성을 가지고 IBM의 AIX 운영체제의 몇몇 기능을 가지고 있었다. OSF/1은 완벽한 다중 처리기 지원, 동적 held, 논리적 볼륨 관리(logical volume management) 등과 같은 SVR4에서는 찾을 수 없었던 여러 발전된 기능들을 가지고 있었다. 원래 계획은 OSF의 참여 회사들이 OSF/1에 기반한 사용 운영체제를 개발하려고 하였다.

OSF와 UI가 대단한 경쟁관계로 시작했지만, 곧 고통의 외부 위협에 직면하게 되었다. 마이크로소프트의 급상승과 더불어 1990년대 초의 경기 침체는 UNIX의 성장 심지어는 UNIX의 생존마저 위태롭게 하였다. UI는 1993년에 사업을 정리 하였고 OSF는 많은 불분명한 계획들(예를 들면, 분산 관리 환경(Distributed Management Environment)을 포기 하였다. 1993년에 Digital에 의해 발표된 DEC OSF/1이 유일하게 OSF/1에 기반한 비중 있는 상용 UNIX 시스템이었다. 그러나 시간이 지나면서, Digital은 자신의 운영체제로부터 OSF/1에 의존하는 부분들을 많이 삭제했고 1995년에는 운영체제의 이름을 Digital UNIX로 변경했다.


8. SVR4와 그 이후

AT&T와 Sun이 공동으로 SVR4(System V Release 4)를 개발했고, 최초의 발표는 1989년에 있었다. SVR4는 SVR3, 4BSD, SunOS 그리고 XENIX의 많은 기능들을 총합하였다. SVR4는 실시간 스케쥴링 클래스, Korn Shell, STREAMS 서브 시스템의 강화등과 같은 새로운 기능들을 추가하였다. 이듬해에 AT&T는 UNIX 시스템의 개발과 판매를 위해 USL(UNIX System Laboratories)이라 불리는 소프트웨어 회사를 설립했다.

Netware라고 불리는 PC 기반의 네트워크 운영체제 메이커인 Novell 사는 USL의 일부분을 사들였고, Univel이라고 불리는 공동 벤처 기업을 설립했다. Univel은 Netware와 통합된 테스크탑용SVR4를 개발하도록 특화되었다.UnixWare로 알려진 이 UNIX 시스템은 1992년 말에 발표되었다. 그 이후로, SVR4의 새로운 버전들이 많이 있었다. 가장 최근 버전인 SVR4.2/ES/MP는 강화된 보안과 다중 처리기에 대한 지원을 제공했다.

1993년에 AT&T는 USL의 나머지 지분을 모둔 Novell에게 팔았다. 그 해 연말, Novell은 UNIX의 상표권과 준수 증명서(Conformance Certification)를 X/OPEN에 양도했다. 1994년에 Sun Microsystems는 Novell로부터 SVR4의 소스코드를 사용할 수 있는 권리를 사들여서 저작권 사용료와 준수 요구 사항으로부터 자유로워졌다. Sun의 SVR4 기반의 운영체제 버전은 Solaris라고 불렀다. Solaris의 최신 버전은 Solaris 10이다. Solaris는 완전한 선점 가능한 다중 쓰레드 커널 그리고 포괄적인 다중 처리기에 대한 지원을 포함한 향상된 기능들을 많이 제공한다.

Leave a Reply

Your email address will not be published. Required fields are marked *