유닉스

'운영 체제 '목록
WindowsMicrosoft Windows(Windows 9x, Windows NT)
리눅스데비안데비안 GNU/리눅스 · 우분투 · 리눅스 민트 · 칼리 리눅스 · 크런치뱅 · 하모니카 리눅스 · 기린 · Damn Small Linux · elementary OS · 스팀 OS
레드햇레드햇 엔터프라이즈 리눅스 · 페도라 · MeeGo · 붉은별 · 센트OS · 아시아눅스 · 타이젠
슬랙웨어슬랙웨어 리눅스 · 오픈수세 · Slax
맨드리바Mandriva · Open Mandriva Lx · 마제야 · PCLinuxOS · no.1Linux
안드로이드안드로이드 · 크롬 OS · Remix OS · Polaris OS
아치 리눅스아치 리눅스 · Manjaro Linux · Antergos · ArchBang Linux
기타젠투 리눅스 · Nix OS
유닉스BSDBSD · FreeBSD · NetBSD · OpenBSD · TrueOS · GhostBSD · DragonFly BSD · TmaxOS
XNUiOS · macOS · tvOS · watchOS
기타솔라리스(SmartOS) · IBM AIX · HP-UX
DOSDR-DOS · MS-DOS · FreeDOS · K-DOS
기타ReactOS · Mac OS · OS/2(eComStation)

*nix

1 개요

유닉스(Unix)는 대부분의 현대적 컴퓨터 운영 체제의 원형이 된 컴퓨터 운영체제이다. 현대의 리눅스, 안드로이드, macOS, iOS윈도우즈 계열을 제외한 거의 모든 현대적 운영 체제는 Unix를 그 뿌리로 하고 있다. 원래는 멀티유저용 서버 운영체제이나 현재는 개인용 데스크탑이나 임베디드용으로도 쓰인다.

1960년대 후반 MIT 대학과 벨연구소에서 개발을 시도했던 시분할 운영 체제 멀틱스(Multics)가 그 기원이다. 멀틱스는 여러 사용자를 동시에 지원하고 기능이 많은 우수한 운영체제였으나 많은 실험적 첨단 기능을 가지다보니 대단히 크고 복잡한 운영체제였고 무엇보다 GE/Honeywell의 비싼 대형 컴퓨터에만 돌아갔다. 그래서 AT&T벨 연구소켄 톰슨데니스 리치 두 사람은 70년대 초부터 멀틱스의 편리한 기능를 계승하면서도 연구실 수준에서 살 수있는 DEC PDP 계열의 미니컴퓨터에서도 돌아갈 수 있도록 기능을 대폭 축소하고 단순화시킨 운영체제를 개발하게 된다. 멀틱스의 복잡함을 단순화 시켰다는 의미로 유닉스라고 이름을 붙였다.

하지만 Bell연구소가 속한 AT&T는 전화회사이지 컴퓨터회사는 아니므로 그당시론 상당히 비싼 미니컴퓨터를 사서 운영체제 연구개발을 계속하려면 뭔가 회사에 도움이 될만한 실용적인 결과물을 내어 유닉스 운영체제의 실용성을 보여야 했다. 그래서 만든 게 troff 라는 문서 포매팅 시스템. CAT 라는 영문사진식자기(phototypesetter) 로 출판용 인쇄원고(camera-ready copy) 를 만들어 내는 이 시스템은 기존의 인쇄원고 작성 시스템보다 월등히 사용이 편리하고 인기가 높아 AT&T회사 내의 각종 문서작성 전용 시스템(Document Workbench, DWB) 으로 널리 보급되었다. 이렇게 높은 실용성과 편리함의 인기에 힘임어 Version 7이 일부 대학 등에 소스형태로 보급되었다. 한국의 서울대학교 전산학과에도 1983년경 16비트 미니컴퓨터 PDP-11에서 이 버전을 운영하였다. 이게 발전한 게 흔히 System V 라고 널리 알려진 AT&T 혈통의 Unix.

또한 UCB(University of California Berkeley)로 건너가서는 가상메모리와 TCP/IP networking 기능과 스크린에디터 등 각종 편리한 기능이 더해지고 그당시 인기가 높았던 32비트 미니컴퓨터 DEC VAX 780 에 이식되어서 소위 BSD 혈통의 Unix 가 된다. 한국에서도 1985년경 당시 경희대 부근 홍릉 캠퍼스에 있던 KAIST 전산학과에서 BSD4.2/4.3을 운영하였다.

컴퓨터 운영체제 역사상 가장 중요한 운영체제라고 할 수 있다. 무엇보다도 운영체제가 대부분 고급언어인 C 언어로 쓰여져 있어고 소스를 쉽게 구할 수 있어서 다른 컴퓨터 하드웨어나 새로운 기종에 적은 노력으로도 쉽게 이식할 수 있었다. 그래서 그당시 매우 다양하던 새로운 컴퓨터들의 운영체제로 채용되었고 이를 기반으로 그 이후에 발전된 현대의 컴퓨터의 운영체제는 윈도우 계열을 제외하면 대부분 유닉스의 변종이나 그 자손이라고 볼 수 있다.

유닉스를 기점으로 운영체제 개발의 역사 및 프로그래밍의 역사가 크게 변하게 된다. C 언어 자체가 Unix 시스템 프로그래밍을 하기위해 만들어 졌고 그결과 "포타블 어셈블리" 라고 불릴 정도로 컴팩트하면서도 매우 효율적이면서도 이식이 쉬운 언어였다. 또 유닉스는 기본으로 바로 프로그램을 할 수 있는 최상의 환경을 제공하였다. 각종 편리한 프로그램 도구가 잘 발달해서 프로그래머들이 개발하기에 가장 편리한 환경으로 발전하였다. 그래서 C언어도 시스템 프로그래밍 언어의 업계표준이 된다.

또 TCP/IP 등 네트웍 기능도 일찍부터 가지고 있어서 이더넷 같는 LAN이나 인터넷 기능을 사용하기 위해서도 유닉스를 사용해야 했다. 그당시는 X.25 같은 네트웍도 있었지만 유닉스와 TCP/IP가 같이 보급되며 유닉스에서 개발된 여러 편리한 네트웍 응용 기능들에 밀려났다. 오늘날 인터넷의 성공도 유닉스의 공이 크다. 인터넷의 역사와도 떼어놓을 수 없는 운영체제이다. 운영체제가 인터넷에 접근하는 표준 인터페이스인 "소켓"은 BSD 유닉스에서 만들어진 개념이다.

서버 운영에 필수적이라 할 수 있는 CLI 인터페이스가 상당히 강하기 때문에, 서버 시장에서는 윈도우 이상으로 인기가 좋다. 스마트폰용 OS도 시장을 양분하고 있는 iOS(BSD 기반)와 안드로이드(리눅스 기반)가 모두 유닉스 계열이다. 미고(리눅스 기반)도 타이젠(리눅스 기반)도 Firefox OS(리눅스 기반)도 우분투 모바일(리눅스 기반)도 webOS(리눅스 기반)도 MS가 외칩니다. "고만해 미친놈들아"

당시 AT&T는 합법적인 전화사업 독점기업이라 여러가지 제약을 정부로 부터 받았는데, 전화와 직접관련이 없는 제품을 팔거나 사후지원을 해줄 수 없는 것도 그 한가지였다. 덕분에 초기 버전의 UNIX는 무료로 소스코드까지 배포되었고, 사후지원의 부재를 메꾸기 위해 세계각지에 Usenix 그룹이 생겨나 교류하게 되었다.[1]

이후에 유닉스를 모방한 많은 운영체제들이 나타났는데, 이들을 표준화하기 위해 POSIX라는 표준이 등장했다. POSIX 표준을 만족하는 것들을 유닉스 계열 운영체제라고 한다. 리눅스와 Mac OS X[2]가 대표적인 유닉스 계열 운영체제이다. 인증 비용 문제인지, 대부분의 리눅스 배포판들은 POSIX의 거의 모든 상세스펙을 따르고 있지만 공식 인증은 아니다. NetBSD, FreeBSD, OpenBSD같은 오픈 소스 BSD 계열도 마찬가지로 공식 인증된 UNIX가 아니다.[3] Mac OS X의 경우 POSIX 공식 인증이다. 그렇다고 OS X을 다른 유닉스 다루듯이 다루다간 커널 패닉 난다

Microsoft Windows는 엄밀히 말해 유닉스가 아니라고 할 수 있겠지만 POSIX 표준을 따르는 서브 시스템을 제공한다. Microsoft사의 홈페이지에서 다운로드 할 수 있는 Subsystem for UNIX-based Applications(aka SUA)라는 것을 설치하면 된다. 이 서브시스템은 과거 FreeBSD로 돌리던 핫메일 서버를 윈도우 서버로 전환하던 과도기에 만들어 쓰던것으로, 윈도우 8에서 부터는 deprecated가 되었고 다음 윈도우 버전부터는 완전히 삭제될 예정이다.[4] 윈도우 7 에서는 얼티밋과 엔터프라이즈 버전 한정으로 사용가능하다. 이 상태의 OS명칭은 Interix라고 한다.[5]

2 유닉스의 주요 갈래

640px-Unix_history-simple.svg.png

이미지 출처: 위키백과 유닉스 계열 항목
자세히 보기

2.1 기존 유닉스 계열

2.2 Unix-like OS

3 관련 문서

  1. 말이 교류지 인터넷이 없던 그 시대에는 코드가 담긴 자기테입이나 종이테입을 우편으로 돌려가며 공유해야 했다.
  2. Mac OS의 경우 9.x 버전까지는 유닉스 계열이 아니었으나 Mac OS X부터 BSD Unix 계열로 다시 개발하였으며, 10.5버전 레오파드부터는 정식으로 POSIX 인증을 획득했다.
  3. 다른 분류법도 존재한다. 예를들어, BSD 류는 공식인증을 하지 않았지만, 역사적으로 AT&T의 코드베이스와 직접적 관련이 있기 때문에 Genetic UNIX 로 분류하고, 리눅스같은 경우는 유닉스라 불릴 만한 조건을 만족하지만, AT&T 의 코드베이스와 직접적 관련은 없기때문에 Functional UNIX 라 분류하는 기준도 있다.
  4. 그런데 차기 윈10 레드스톤에 WSL(Windows Subsystem for Linux)이 들어가 우분투의 Bash shell을 지원하게 될 것이라 한다.
  5. 에뮬레이션 레이어에서 동작하는 Cygwin과는 다르다.
  6. OS X이 이름 변경
  7. NetBSD는 BSD 시리즈에서 나온 유닉스이기는 하지만, Unix-like으로 분리되는 경우가 조금 있다.
  8. NetBSD에서 포크