다른 뜻에 대한 내용은 BSD(동음이의어) 문서 참고하십시오.
UNIX | |||||||||||
{{{#!wiki style="margin:0 -10px -5px" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin:-6px -1px -11px" | BSD | FreeBSD | DragonFly BSD · | ||||||||
NetBSD | OpenBSD | ||||||||||
XNU | Darwin · | ||||||||||
System III/ System V | Solaris | OpenSolaris | Illumos | SmartOS · OpenIndiana | |||||||
IBM AIX · HP-UX | |||||||||||
기타 | |||||||||||
취소선 처리된 배포판은 개발 중단된 배포판. |
BSD | |||||
개발 | Computer Systems Research Group | ||||
종류 | UNIX(유전적 유닉스)[1] | ||||
개발 언어 | C | ||||
오픈 소스 여부 | 오픈 소스 | ||||
라이선스 | BSD 라이선스 | ||||
마지막 버전 | 4.4-Lite2 | ||||
상태 | 개발 중단 | ||||
커널 종류 | 단일형 커널 |
[clearfix]
1. 개요
BSD는 빌 조이(Bill Joy)를 주축으로 UC 버클리의 CSRG(Computer Systems Research Group)에서 개발한 유닉스 계열의 운영체제이자 유닉스 계보의 대표적인 적장자 격의 OS다. 1995년 6월 4.4BSD-Lite Release 2 출시를 끝으로 공식 BSD 프로젝트가 중단된 현재는 BSD에서 파생된 운영 체제를 모두 가리킨다.BSD는 Berkeley Software Distribution의 머릿글자이다. BSD 라이선스로 배포되며 GPL과는 달리 자기가 소스 코드를 수정 및 추가해도 소스 코드 공개 의무가 없기 때문에[2] 포크되어 나온 FreeBSD가 macOS, iOS, 솔라리스, 콘솔게임기 등 상업 소프트웨어에도 많이 사용되고 있다.
커널만 개발하는 리눅스 프로젝트와는 다르게 윈도우즈나 macOS처럼 데스크탑 환경과 응용 소프트웨어를 모두 포함하여 개발 및 배포한다.
2. 역사
AT&T의 벨 연구소(Bell Labs. 현재는 노키아 소속.)와 매사추세츠 공과대학교에서 1964년부터 개발을 시작하여 1969년도에 시분할 운영 체제 멀틱스(Multics)를 출시하였다. 그 후 벨 연구소의 데니스 리치가 만든 게임을 소형 컴퓨터에서도 빠르게 작동할 수 있게 만든 유닉스는 1973년 10월에 공개 되었다.1977년에 UC 버클리의 대학원생이었던 빌 조이(Bill Joy)가 유닉스의 소스 코드를 기반으로 BSD의 최초 버전을 만들어 배포하였다. 나중에는 CSRG(Computer Systems Research Group)라는 그룹을 만들어 BSD 개발을 맡게 되었다.
CSRG에서 개발한 BSD의 소스 코드는 AT&T의 USL(UNIX System Laboratories, Inc.)의 소스 코드를 사용하고 있었기 때문에 USL측에서 소송을 걸었고, 결국 합의하게 되었다. 이 소송이 오랫동안 진행되면서 오픈 소스 운영 체제의 대표 주자 BSD가 밀려나고 리눅스가 떠오르게 되었다. 이 소송이 제기된 직후 AT&T측은 USL을 노벨(Novell, Inc.) 측에 판매하였다.
USL과 CSRG의 합의안은 완전한 소스 코드를 포함하는 4.4BSD-Encumbered는 USL측으로부터 라이선스를 얻어야 사용할 수 있으며 USL측의 소스 코드를 제거하고 새로운 코드로 대체한 4.4BSD-Lite(1994년 6월 출시)에 대해서는 향후 USL측이 소송을 제기할 수 없다는 것이었다. 그래서 이전 BSD 버전을 기반으로 포크한 FreeBSD와 NetBSD는 자신들이 지금까지 작성한 소스 코드 중 USL의 저작권을 침해하는 부분을 4.4BSD-Lite를 기반으로 재작성해야 했다. 현재 최신 버전은 4.4BSD-Lite Release 2(1995년 6월 출시)이다.
이 소송으로 기존의 카피라이트에 학을 뗀 CSRG측은 BSD 라이선스라는 소스 코드 작성자의 이름 표기 의무 외에는 거의 아무런 제한이 없는 라이선스로 BSD를 배포하였다. 하지만 이때 자금이 떨어지고 말았고, 일부 회원들은 기존 AT&T 코드를 갈아엎고 다시 릴리즈 하기로 했다. 그래서 릴리즈 된것이 Net/2인데, 커널이 20% 정도 부족해서 William F. Jolitz가 나머지 부분을 채우고 386BSD를 출시했다. 하지만 386BSD는 너무 완벽함을 추구하는 바람에 타이밍을 놓치고 말았고 결국 리눅스에게 인기를 빼앗기고 만다.
같은 시기에, 전 CSRG 회원들로 구성된 모임이 Berkeley Software Design Inc.라는 상업 회사를 조직했고, 386BSD와 같은 코드 기반을 가지는 운영체제 BSD/386의 베타 버전을 릴리즈했다. 이 운영체제의 이름은 나중에 BSD/OS로 바뀌었다.
한편 386BSD가 성공하지 못하자, FreeBSD와 NetBSD 프로젝트가 생겨났는데, NetBSD가 FreeBSD보다 먼저 개발에 착수하는 바람에 둘의 코드가 합치기 어려울 정도로 차이가 심해져 버렸다. 여기에 각 프로젝트의 목표가 달라짐으로써, BSD는 완전히 갈리지고 말았다. [3]
나중에 OpenBSD가 NetBSD에서, DragonFlyBSD가 FreeBSD에서 갈라지게 됨으로써, 현재 완전히 독립적인(다른 커널을 가진) BSD는 4개이다.
macOS와 iOS의 다윈은 4.4BSD-Lite Release 2와 FreeBSD의 소스 코드에 기반한다. BSD의 소스 코드는 솔라리스나 TmaxOS와 같은 다른 유닉스 운영 체제에서도 상당히 많이 사용한다.
3. 종류
BSD 계열 운영체제 중 macOS/iOS를 제외하면, 2022년 기준으로 많이 쓰이는 순서대로 순위는 FreeBSD, GhostBSD, OpenBSD 순이다.[4] 그 외에도 DragonFly BSD, NetBSD 등이 있다.FreeBSD와 NetBSD는 BSD 4.4에서 포크하였으나 소송 문제 때문에 나중에 4.4BSD-Lite 버전에서 다시 한 번 더 포크되었다. 나중에 다시 OpenBSD는 NetBSD에서 포크되었고 DragonFlyBSD는 FreeBSD에서 포크되었다.
4. Linux와 차이점
Linux는 Linux Foundation에서 관리하는 반면에 BSD는 소유자가 없다. 그리고 현재 BSD는 4갈래로 나뉘는데, 각 BSD는 각자만의 목표가 있다. 리눅스는 커널이라서 GUI, 툴등은 각자의 배포판이 더하는 반면에 BSD는 전체 운영체제를 관리한다.[5] 각 BSD의 목표는 다음과 같다.- FreeBSD - 높은 성능
- NetBSD - 이식성(비 x86, AMD64에서 유용함)
- OpenBSD - 보안
- DragonFly BSD - 높은 확장성
5. 관련 문서
[1] 에릭 레이먼드와 랍 랭글리의 분류 기준상 '유전적 유닉스', '상표 유닉스', '기능적 유닉스(UNIX-Like)' 세 가지 종류 중 BSD는 유전적 유닉스에 속한다. 유전적 유닉스는 순수 유닉스 소스코드를 기반으로 한 경우에만 이쪽으로 분류되며 유닉스 계보의 적장자로 인정받는다.[2] 이후, 이들 캠퍼스는 현재 새 CPU 계열인 RISC-V를 개발 중인데, 이 하드웨어도 BSD처럼 구조 자체를 오픈 소스처럼 개방하였다.[3] 출처[4] https://distrowatch.com[5] 물론 커널부분만 남기고 다른부분은 개조하여 쓸 수도 있다.