강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터 1급 : UNIX의 역사

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터 1급 : UNIX의 역사




유닉스의 역사

 

 

여기서는 앞서 언급했던 유닉스(Unix)에 대해서 그 역사를 조망하여 보도록 한다.

 

 

 

 

리눅스는 유닉스가 갖는 특징들을 고스란히 가지고 있다.

 

 

1) 유닉스의 탄생 배경 및 Multics와의 관

 

 

1960년대 초, AT&T(American Telephone and Telegraph) 부설 벨 전화 연구소(Bell Telephone Laboratories)의 수많은 연구원들은 MIT에서 멀틱스(Multics)라는 초기 시간 공유 운영체제(Time Sharing Operating System) 프로젝트를 연구하고 있었다.

 

 

 

 

 

멀틱스는 MIT, GE, 벨 연구소의 프로그래머들이 합작하여 연구한 프로젝트였는데, 다중 채널 정보 및 컴퓨팅 서비스(Multiplexed Information and computing Service)를 의미하는 것이다(다중 채널이란 복수의 전기 신호를 단일 신호로 묶는 것을 뜻한다).

 

 

 

1960년대 후반 멀틱스 시스템은 1969년에 초판이 GE645 컴퓨터에 설치되어 실행되기는 했지만, 원래 의도했던 일반적인 서비스를 제공해 주지 못했을 뿐만 아니라, 개발 목표를 언제 달성할 수 있을지 명확하게 예측할 수도 없게 되어서 1968GE 사에서 프로젝트를 탈퇴한 이후 1969년 벨 연구소에서도 손을 떼게 되었고 자사 연구소의 연구원들을 모두 복귀시켰다.

 

 

 

 

벨 연구소가 멀틱스 프로젝트를 그만둠에 따라 편리한 시분할 프로그래밍 개발 환경을 잃게 된 켄 톰슨(Ken Thompson), 데니스 리치(Dennis Richie) 등 몇 명의 연구원들은 그들의 프로그래밍 환경을 개선해 보려고 노력했는데, 당시의 프로그래밍 환경이란 펀치 카드나 마그네틱 테이프에 의한 배치 처리가 전부였다.

 

 

 

 

당시에는 PDP-7이 있었는데 이 운영체제는 프로그램을 작성할 수 있는 컴파일러나 에디터 등의 툴들이 하나도 존재하지 않았다.

 

 

 

 

그래서 톰슨은 PDP-7에서 작동되는 어셈블리로 컴파일러, 에디터 등 모든 소프트웨어적인 환경들을 만들어야 했다.

 

 

 

 

그리고 톰슨은 리치 등과 함께 멀틱스 프로젝트에 참여할 때부터 구상하고 있던 파일 시스템을 PDP-7에 만들어 보려고 하였다.

 

 

 

 

그래서 PDP-7에 소프트웨어적인 환경과 함께 자신이 구상하고 있던 파일 시스템을 어셈블리로 만들었는데, 이것이 바로 유닉스 시스템(Unix System)의 초기 버전이다.

 

 

 

톰슨은 자신의 새로운 시스템을 멀틱스와 차별을 두고 싶었다.

 

 

 

 

멀틱스의 목표는 동시에 다양한 사용자들에게 많은 기능을 제공하면서 대형이고 다루기가 어려운 경우에 많은 문제점이 있었기 때문에 소형이면서 한 번에 한 사용자만 사용할 수 있고 시스템의 일부분은 한 번에 하나의 일만을 잘 수행할 수 있도록 설계하였다.

 

 

 

 

이렇게 태어난 파일 시스템에 유닉스라고 이름을 붙인 사람은 Brain Kernighan으로 멀틱스가 MULTiplexed Information and Computing System인 것에 비해 너무 작은 시스템이라 하여 Uniplexed Information and Computing System으로 부른 것이 UNICS인데(Unix라는 이름은 Multics라는 이름을 의미적으로 변형시킨 것이다), 이것이 바뀌어 Unix로 오늘날까지 불리게 되었다.

 

 

 

 

현재 사용되는 Unix의 기본 골격이 모두 갖추어진 버전 7이 발표된 시기는 1979년이다.

 

 

 

 

2) BSDSunOS

 

 

BSDUC 버클리에서 개발되고 배포되는 특별한 버전의 유닉스 운영체제를 가리키는데, 이것에는 “BSD”라는 단어를 BSD 시스템의 특정한 배포 단계를 나타내는 숫자 다음에 붙인다.

 

 

 

 

, BSD“4.3 BSD 유닉스와 같이 버클리 유닉스 버전을 구분하여 표한할 때 사용한다.

 

 

 

 

이것은 꾸준한 인기를 끌어 왔으며 많은 유닉스 시스템들이 BSD 코드에 기반을 두고 있다.

 

 

 

 

유닉스의 개발 당시 벨 연구소는 유닉스를 소스코드와 같이 여러 대학에 거의 헐값으로 제공하였다.

 

 

 

 

이 중 유닉스를 제공받은 버클리대에서 수많은 학생들이 유닉스에 여러 기능을 추가하였고 충분히 개발되었다고 판단되었을 해인 1977년에 BSD(Berkeley Software Distribution) Version의 유닉스를 발표하였다.

 

 

 

 

한편, 벨 연구소(AT&T)에서도 유닉스를 계속 개발하여 1979년에 유닉스를 상용화하여 발표하였다.

 

 

 

이후 유닉스는 크게 두 가지 종류, AT&T 유닉스와 BSD 유닉스로 나뉘어져 발전되었다.

 

 

 

 

이렇게 유닉스가 두 가지 길로 나뉘어져 각자의 길을 걷게 되자 유닉스 사용자들은 큰 혼란을 겪게 되었고 호환성이 결여되는 문제점이 제기되었다.

 

 

 

 

그리하여 BSDSystem V(AT&T의 유닉스)를 합하여 System V Release 4(SVR4)가 탄생하게 되었다.

 

 

 

오늘날 대표적으로 사용되고 있는 유닉스는 선 마이크로시스템즈의 SunOS와 솔라리스(Solaris), HP사의 Hp-ux, IBM사의 Aix와 실리콘 그래픽스(Silicon Graphics)Irix 등이 있으며, 이들 유닉스들은 BSDSystem V에 기초를 두고 나름대로의 기능을 추가하여 독자적인 이름을 붙인 것들이다.

 

 

 

 

 

SunOSBSD 계열의 유닉스이고, Hp-uxSystem V 계열의 유닉스이다.

 

 

 

 

이외에는 PC 버전의 유닉스로 MS 사의 Xenix가 있다.

 

 

 

 

이들 중 SunOSBSD에 기초하여 선 마이크로시스템즈에서 만든 유닉스 운영체제의 이름이다.

 

 

 

 

이것을 솔라리스와 비교해 보면, 일반적으로 Solaris 2.xSVR4 기반의 SunOS 5.x, OpenWindows 3.x 및 툴(Tool)들이 포함된 운영체제이고, SunOSX Window 및 기타 패키지들이 없는 유닉스 운영체제 자체를 말한다.

 

 

 

 

 

그러므로 솔라리스가 모든 것을 포함하는 운영체제이므로 선 마이크로시스템즈에서는 SunOS라는 단어를 사용하지 않고 솔라리스만을 사용한다.

 

 

 

 

 

 

 

 

 

 

유닉스와 리눅스의 역사를 전체적으로 한눈에 보려면 다음 사이트를 보기 바란다.

 

 

 

 

 

- URL : http://www.levenez.com/unix/

 

 

 

 

 

 

 

3) Minix

 

1987년 엔드류 타넨바움(Andrew S. Tanenbaum) 교수가 유닉스의 클론인 오픈소스 운영체제인 미닉스(Minix)를 개발하였다.

 

 

 

 

필란드의 전산학 전공이던 리누스 토발즈가 엔드류 타넨바움 교수가 개발한 미닉스를 접하고 이를 사용하여 미닉스에 대해 폭넓게 알게 되었고, 이후 리눅스를 개발하려는 계획을 세우게 된다.

 

 

 

 

그런데 미닉스 파일 시스템은 두 개의 심각한 약점을 가지고 있었다.

 

 

 

 

, 블록 주소가 16비트 정수로 저장되어 파일 시스템의 최대 크기가 64메가 바이트로 제한되고, 디렉토리 입력 항목의 크기가 고정되어 있어서 최대 파일 네임 길이가 14자였다.

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,015 명
  • 현재 강좌수 :  35,688 개
  • 현재 접속자 :  174 명