Linux_1) UNIX의 역사, 유래

한우진·2023년 4월 12일
0

Linux

목록 보기
1/3
post-thumbnail

MAC 프로젝트(1964)

Unix가 생기기 이전 Multics라는 GE, Bell lab, MIT AI Lab이 합작 프로젝트로 만든 MAC 프로젝트의 산물이 있었다. 운영체제의 복잡한 기능을 감추고 그때 당시로는 획기적인 페이지/세그먼트 메모리 관리, 프로세스 관리, 파일 시스템 등 다양한 기능을 실험하는 프로젝트가 존재했다.

그러나 프로젝트는 중구난방으로 비대해졌고 흐지부지 마무리 됐다. 이게 후일 UNIX 개발의 모티브가 됨. 이 프로젝트의 일원 중 한 사람이 Ken Tompson


Ken & Dennis


B언어와 UNIX의 창시자 Ken Thompson

켄 톰슨과 같이 UNIX를 개발하고 C언어를 개발한 Dennis Ritchie

이 둘은 Multics에서 파생된 기술을 가지고 게임을 하기 위해 UNIX를 만들기 시작했다. 처음엔 아무 언어가 없었기 때문에 어셈블리어로 작성 하고 후일에 B언어 그리고 C언어로 재작성했다. 여담으로 당시 원래 있던 DEC 운영체제를 밀어버리고 다 UNIX를 설치했다고.


C언어 등장(1973)

기존 UNIX는 어셈블리어로 작성되었는데 새로운 제품이 나올때마다 새로 작성해야 하는 단점이 있었다. 그래서 오늘날 C언어의 아버지라고 불리는 Dennis Ritchie은 Brian Kernighan와 같이 B언어를 개량해 C언어를 개발했다. 그 결과 하드웨어(CPU)가 달라져도 조금의 수정과 rebuild 만으로 이식(포팅)을 할 수 있었다. 여담으로 C언어는 또 의도치않게 어셈블리어의 몰락을 가져왔다.

  • 어셈블리어의 성능을 가지면서도 상위 레벨의 언어이다.
  • 낮은 추상화를 지원하고 저수준의 하드웨어를 조작할 수 있다.
  • 기계어/어셈블리어보다 접근성이 낮았다.

C언어 국제 표준 : ISO/IEC 9899
ANSI-C(C89) : 1989년도 표준
C99 : 1999년도 표준(산업계 실질적 표준)
C11 : 2011년도 표준(C99가 좀 더 많이 쓰임)


UNIX의 분열

AT&T 계열의 UNIX와 BSD 계열의 UNIX가 나뉘어 계속해서 발전을 이뤄나갔다.

  • AT&T 계열은 UNIX version 7(1978) 이후로 계속해서 발전시키며 UNIX Syetem V 계열로 발전했는데 SysV로 바뀌면서 이는 실질적인 현대 UNIX를 의미하게 됐다
  • BSD 계열은 UNIX version 6 이후로 새로운 기능을 추가하기 시작하며 SysV 계열과 경쟁 구도로 발전해 나갔다

호환성 결여의 문제(1980년도 중반)

SysV 와 BSD 계열의 경쟁은 호환성이 파괴되는 문제를 가져왔고 결국 전지전자공학회(IEEE)의 주도로 1988년 POSIX 초안(POSIX.1 1003-1988)을 발표했다. 이 규격에 맞지 않으면 미국 정부에 조달할 수 없도록 조치를 취했다.
그러나 POSIX는 정부 조달의 최소 기준이었고 부족한 부분을 정의하기 위한 산업계 표준을 만들고자 AT&T와 Sun이 공조하기 시작 둘은 업계 표준 UNIX SVR4를 만들어냄
이에 나머지 회사는 SVR4때문에 자신의 UNIX가 없어질 까봐 두려워 OSF(Open Software Foundation)을 설립한다.
결국 새로운 UNIX들이 등장하고 1990년대 초반 BSD, SVR4, OSF/1로 종류가 늘어나게 된다.


MS의 등장으로 UNIX 대통합(1990년대 초)

빌게이츠가 서버용 OS제작을 발표하며 UNIX들은 두려움에 떨었고 그로인해 유닉스 단일 표준안 Single UNIX Specification이 나오게 된다. 이는 나중에 SUSv1 -> SUSv4까지 발전
통합 후 Open Standard를 통해 표준화되었다.

0개의 댓글