검수요청.png검수요청.png

프리비에스디

위키원
이동: 둘러보기, 검색
프리비에스디(FreeBSD) 로고
프리비에스디(FreeBSD) 로고와 글자

프리비에스디(FreeBSD; Free Berkeley Software Distribution)은 미국 캘리포니아 대학교 버클리에서 개발한 유닉스(UNIX) 계열의 오픈소스 운영체제(OS)이다. 기존의 비에스디(BSD) 운영체제를 기반으로 개발했다. 한국의 ㈜티맥스소프트는 프리비에스디(FreeBSD) 운영체제를 기반으로 티맥스오에스(TmaxOS)를 개발 중이다.

개요[편집]

FreeBSD 는 BSD 유닉스로 알려진 미국 캘리포니아 대학교 버클리에서 CSRG(Computer Systems Research Group)의 4.4BSD-Lite를 이어받아 개발된 오픈 소스 운영 체제이다. 리눅스와 달리 전통적인 유닉스 방식에 따라 온전한 운영 체제의 개발을 목표로 하여, 커널을 비롯한 기본적인 운영 체제 구성 요소는 하나의 CVS 트리로 관리되어 통합적으로 개발되고 그밖에 외부 개발 요소를 포함하여 단일한 배포본으로 구성된다. BSD란 Berkely Software Distribution의 약어로, 캘리포니아 대학교 버클리 에서 유래한 데서 붙여진 이름이다. 기본적으로 32bit x86 프로세서 기반 i386 플랫폼을 중심으로 개발되고 있고, 현재는 64bit 확장판 AMD64(x86-64)을 비롯해 NEC PC -98, 64bit 프로세서 인텔 아이테니엄(IA-64), SPARC, 파워PC, DEC 알파 아키텍처를 지원하며(단, FreeBSD 7부터 DEC Alpha 프로세서 제외), 또한 ARM, MIPS 프로세서MS Xbox 기종에 대한 개발이 진행되고 있다. [1] [2]

등장배경[편집]

FreeBSD 의 개발은 1993년부터 4.3 BSD Net/2에 기반한 386BSD의 소스 코드를 이용하여 시작되었다. 가장 먼저 1992년 Jordan K. Hubbard, Nate Williams, Rod Grimes 세 사람이 시작한 “Unofficial 386 BSD Patch kit”로 원래는 386 BSD를 보완하려 하였으나 386 BSD의 개발이 줄곧 늦어지고 작업 결과가 반영되지 않으면서, 이 작업은 결국 별도의 BSD 운영 체제 개발로 전환되어 David Greenman의 명명에 따라 ‘FreeBSD’라는 이름으로 독자적인 작업이 되었고, 1993년 11월 FreeBSD 1.0이 발표되었다. Walnut Creek 사의 후원으로 CD-ROM으로 배포된 최초의 FreeBSD 는 4.3 BSD를 바탕으로 386 BSD의 작업과 GNU 결과물을 포함하여 구성되었는데, 곧바로 1994년 5월에 버전 1.1이 발표되었고 1994년 7월 버전 1.1.5.1로 완료된다. 그런데 이 무렵 4.3 BSD Net/2를 둘러싸고 AT&T Unix의 소유자였던 USL과 BSD Unix의 개발자 캘리포니아 대학교 버클리 사이에 발생한 저작권 분쟁의 여파로 4.3 BSD Net/2에 기반한 기존의 386 BSD 소스 코드는 사용을 중단해야 했고, 이에 따라 FreeBSD 2.0은 자유로운 배포를 보장받은 4.4 BSD-Lite를 바탕으로 새로 작성되었다. 1995년 1월에 발표된 Free BSD 2.0은 4.4 BSD를 기반으로 전면 재작성되어 1995년 6월 버전 2.0.5를 거쳐 1998년 11월 버전 2.1.7.1과 버전 2.2.8로 완료되었다. 가장 큰 향상은 CMU의 Mach 가상 메모리 시스템을 개선하여 과부하 상태에서도 안정적인 성능을 유지하도록 최적화되었고, 포트(port) 시스템이 도입되어 서드파티 소프트웨어의 설치 및 관리의 편의를 제공한다. FreeBSD 3.0은 1998년 10월에 발표되어 2000년 7월 버전 3.5.1로 마무리되었는데, ELF 바이너리 포맷으로 전환하고, 대칭형 다중 프로세서(SMP) 시스템 지원하여, 새로운 64bit 플랫폼 DEC Alpha 지원 등의 변화가 있었다. 비록 확실한 기능상의 이점도 성능 향상도 가져오지 못했다는 비판도 있었으나, 1995년 6월에 완성된 BSD Unix의 최종 결과물 4.4 BSD-Lite 2까지 흡수하여 이전의 여러 개발 성과들을 총괄하여, 향후 FreeBSD 4에서의 도약을 위한 토대가 되었다. 2000년 3월에는 FreeBSD를 후원하던 Walnut Creek CDROM 과 BSD/OS 의 개발사 BSDi가 합병하였다. 이 결과, 원래 CSRG의 BSD 개발자들이었던 BSDi의 개발진이 FreeBSD에 합류하여 BSD/OS과 FreeBSD 의 코드를 결합한 오픈 소스 FreeBSD 개발을 지속하고, BSD/OS는 이를 바탕으로 비공개 드라이버 등 상업용 구성 요소를 추가하여 상업적 기술 지원을 제공하는 상용 제품으로 추진하는 방안이 모색되었다. [2]

역사[편집]

FreeBSD는 당시 약 20년의 개발 역사를 가진 BSD를 바탕으로 개발되었다. 이후 BSD의 원래 개발자들이 설립한 BSDi의 BSD/OS와도 교류하며 꾸준히 개발되어 왔으며, 현재 BSD 계열의 가장 대표적인 운영 체제이다. [2]

BSD 역사[편집]

처음 BSD 개발은 유닉스 제6판의 추가 기능(add-on)이라는 개념으로 시작되었다. 1977년 캘리포니아 대학교 버클리의 대학원생이었던 빌 조이(Bill Joy)는 미니컴퓨터 PDP-11에 설치된 유닉스에 사용할 파스칼(Pascal) 컴파일러와 라인에디터 Ex를 작성하고, 이것을 중심으로 패키지를 만들어 “Berkeley Software Distribution”이라는 이름으로 배포하였다. 그 이듬해 1978년에는 vi 에디터와 C 셸을 작성하고 이것을 포함한 두 번째 배포본 “Second Berkeley Software Distribution”을 만들었는데, 이것이 2BSD라는 약칭으로 불렸다. 이후 개량이 지속되어 1983년에는 유닉스 버전 7을 기반으로 한 온전한 운영 체제 배포본으로서 2.9BSD로 완성되었다. 한편, 1979년 말에는 새로 도입된 VAX 기종에서 3BSD가 탄생한다. 3BSD는 VAX용 유닉스인 UNIX/32V를 개량하여 가상메모리를 구현한 새로운 커널을 만들고 2BSD를 흡수하여 새로운 운영 체제로 만들어졌다. 이어 1980년에는 3BSD를 개량하여 4BSD가 만들어지고 그 성능을 개선한 4.1BSD가 1981년에 나왔으며, 1983년에는 TCP/IP 구현과 새로운 파일시스템 FFS를 포함한 4.2BSD가 개발되었다. 1986년에 발표된 4.3BSD는 기능 개선보다는 4.2BSD의 성능 향상이 주요 목표였는데, 4.3BSD 배포 후에 기존 VAX 시스템으로부터 Power 6/32로 이전하여 1988년 4.3BSD-Tahoe가 나오면서 코드를 시스템 의존적인 부분과 비의존적인 부분으로 나누는 한편, AT&T의 원본 유닉스 코드와 완전히 결합된 형태가 되었다. 이에 따라, BSD의 사용에서도 AT&T의 라이선스가 필요하게 되는데, AT&T 코드와 분리된 배포 요구에 따라 1989년 AT&T의 유닉스 코드를 제외한 “Networking Release 1 (Net/1)”이 만들어지고 자유롭게 재배포할 수 있는 BSD 라이선스를 적용하였다. 1990년 초에는 4.3BSD-Reno가 나오며 CMU 마크(Mach)의 가상메모리 시스템과 Sun의 NFS이 구현되었다. 마침내 1991년에는 대부분의 AT&T 코드를 BSD 코드로 대체한 “Networking Release 2 (Net/2)”가 나왔는데, 이것은 PC로 옮겨져 386BSD와 BSD/386의 기반이 되었다. 1992년에 발생한 저작권 및 상표권을 둘러싼 USL과 BSD의 법정 공방 끝에, 1994년 4.3BSD-Net/2는 AT&T 라이선스가 필요한 4.4BSD-Encumbered와 완전히 자유로운 4.4BSD-Lite로 나뉘어 다시 배포되었다. 1995년에는 BSD의 최종판인 4.4BSD-Lite Release 2가 나오며, CSRG는 그동안의 모든 연구와 개발을 마무리하고 해산하였다. 이즈음 386BSD는 FreeBSD와 NetBSD로 이어졌고 BSD/386은 BSD/OS이 되어 4.4BSD를 계승한다. [2]

특징[편집]

FreeBSD 는 UC 버클리 CSRG의 4.4 BSD를 계승하여 개발되어 왔으며, BSD 전통에 따라 어떠한 제약 조건 없이 누구든지 어느 목적으로도 사용할 수 있는 소프트웨어를 만드는 것을 목표로 한다. 대체로 널리 보급된 x86 PC 기종에서 동작하는 고성능 운영 체제를 추구하며, 수많은 자원봉사자의 노력과 여러 공헌자의 협조로 개발되고 있다. FreeBSD 는 다른 운영 체제와 직접 경쟁하거나 또는 대체하는 것을 목표로 하지 않고, 다만 가장 널리 사용되어 보다 많은 경우에 폭넓은 유용성을 제공하는 것을 추구한다. [2] 일반에 잘 알려지지 않은 BSD 계열이지만, 의외로 꽤 인기있는 OS이다. 게다가 소수지만 매우 활동적인 커뮤니티를 갖고있는지라, 질문에 대한 답변도 웬만한 인기 리눅스 배포판보다 훨씬 빠르게 답변이 달린다. [1]

지원 플랫폼[편집]

FreeBSD 는 기본적으로 PC 호환 기종을 중심으로 개발되어 왔으며, 아울러 다른 플랫폼으로 포팅도 진행되어 있다. 2015년 12월 현재까지 배포본의 공식 지원 플랫폼은 다음과 같다.

  • FreeBSD 11
  • FreeBSD 10
  • FreeBSD 9
  • FreeBSD 8
  • FreeBSD 7
  • FreeBSD 6
  • FreeBSD 5
  • FreeBSD 4

포트 및 패키지[편집]

기본 시스템 소프트웨어 이외에 응용 프로그램들은 운영 체제 설치와 별도로 설치 작업이 필요한데, FreeBSD 는 이 과정에서 포트(port) 및 패키지(package)라는 관리 방법을 사용한다. 시스템에 설치된 응용 프로그램은 각각 패키지라는 개념으로 관리된다. 하나의 응용 프로그램이라도 여러 가지 요소로 구성되며 또한 여러 응용 프로그램에서 공통으로 사용되는 요소도 존재하는데, 각각 개별 단위로 구분될 수 있는 구성 요소가 “패키지”가 된다. 이때 프로그램의 올바른 설치 및 동작을 위해 필요한 패키지 상호 간의 관계를 “의존성”이라고 하는데, FreeBSD 의 패키지 관리에서는 이러한 의존성까지 점검하고 있다. 한편, 패키지는 바이너리 파일로 직접 설치될 수도 있지만, 프로그램 소스를 직접 컴파일하여 설치할 수도 있다. 이 경우에는 우선 배포되는 프로그램 소스를 수집하고, 운영 체제 및 하드웨어에 적합하도록 소스 코드의 일부 수정이 필요하게 된다. 이때 FreeBSD 는 “포트”를 사용하여 소스 코드의 수집, 수정과 컴파일 및 설치 과정 모두를 자동화한다. 즉, “포트”는 소스 코드를 통한 응용 프로그램 설치를 위하여, 소스 코드의 배포 위치, 수정해야 할 부분, 컴파일 작업, 설치 과정 등 모든 단계의 정보를 담아 놓은 자동화 파일의 집합이다. 이것을 통하여 FreeBSD 는 직접 관리·배포하는 기본 시스템 소프트웨어 이외에도 사용 가능한 모든 오픈 소스 프로그램에 대하여 일관된 유지 보수가 가능하게 된다. [2]

호환성[편집]

FreeBSD 는 다른 유닉스 계열 및 리눅스 운영 체제와 바이너리 호환성을 제공하고 있는데, FreeBSD 7에서는 리눅스 커널 2.6과 바이너리 호환성이 제공된다. 이처럼 호환 계층을 이용하여 바이너리만 배포되는 리눅스 전용 프로그램도 FreeBSD 에서 실행할 수 있는데, 그 대표적인 것으로는 오라클, VMware, 매스매티카(Mathematica), 매트랩(Matlab), Sun 스타오피스(StarSuite), 워드퍼펙트, 모질라 파이어폭스, 어도비 아크로뱃, 리얼플레이어, 스카이프(Skype), 둠 3, 퀘이크 4 등이 있다. 리눅스용 프로그램을 실행할 때에도 FreeBSD 용 프로그램에 비해 두드러진 성능 저하는 없으며, 심지어 같은 프로그램을 리눅스에서 실행시키는 것보다 더 빠른 경우도 있다. 다만, 일부 프로그램은 리눅스 호환 계층에서 실행에 문제가 있을 수 있다. [2]

파생된 운영 체제 및 배포본[편집]

FreeBSD에서 파생된 운영 체제 및 배포본은 다음과 같다.

  • TrueOS - iXsystems에서 개발하였다. 가정 사용자와 워크스테이션을 주요 대상으로 한다. 예전에는 PC-BSD라는 이름이었다.
  • GhostBSD - 그놈 기반 배포판이며 LXDE GUI도 지원한다.
  • MidnightBSD - 데스크탑 사용자를 대상으로 한다.
  • DesktopBSD - 가정 사용자와 워크스테이션을 주요 대상으로 한다.
  • DragonFly BSD
  • TrustedBSD, The TrustedBSD Project.
  • FreeNAS
  • FreeSBIE
  • Arch BSD

FreeBSD를 참조한 운영 체제는 다음과 같다.

  • 애플 다윈 - Apple Darwin (Mac OS core), Apple,lnc [2]

다른 주요 BSD 운영 체제[편집]

  • NetBSD : FreeBSD 와 비슷한 시기에 출발했으며, 이식성에 중점을 두고 개발되어 가장 다양한 플랫폼을 지원하고 있다. 최신 버전은 6.1.3이며, 현재 54개 플랫폼을 지원하고 있다.
  • OpenBSD : NetBSD의 초기에 갈라졌으며, 보안에 역점을 두며 최상의 개발 플랫폼을 제공하려 한다. 최신 버전은 4.2이다.
  • BSD/OS : 현재 단종. 상용 제품으로 본래의 BSD 개발진들이 BSD, Inc. 를 설립하여 개발해왔다.
  • Mac OS X : 애플의 GUI 운영 체제로 상용 제품이다. 기존 4.3BSD + Mach 2.5 기반이었던 NEXTSTEP/OPENSTEP을 바탕으로 옛 Mac OS를 흡수하는 방식으로 만들어졌는데, 골격을 FreeBSD 5 + Mach 3.0으로 갱신한 다윈을 토대로 기존 매킨토시 API 지원을 위한 Carbon, OpenStep API 지원을 위한 코코아, 자바 플랫폼 지원 등을 포함하며, 그래픽 환경은 전통적인 유닉스의 X 윈도 시스템 대신에 Quartz 엔진 중심의 Aqua를 사용한다. [2]

활용[편집]

과거 핫메일 서버는 FreeBSD 를 썼지만, 현재는 윈도우로 이전한 상태다. 왜 상관도 없는 유닉스 계열의 운영체제를 썼냐면, 핫메일이 마소에 인수되기 전부터 쓰고 있어서 다. 핫메일은 원래 마이크로소프트에서 개발한 게 아니라 기존에 있던 걸 인수한 거다. 현재, 윈도우 7 울티메이트 버전과 엔터프라이즈 버전에는 유닉스 하위호환 시스템이 들어있다. 이 유닉스 하위호환 시스템이 바로 핫메일 서버를 FreeBSD 에서 윈도우 서버로 옮기는 과도기에 사용하던 시스템이다. 윈도우 8 에서는 이 유닉스 서브 시스템은 사라졌지만, 윈도우 8 엔터프라이즈 한정으로 NFS client가 탑재된다.

  • mac OS : FreeBSD는 위에서 말했듯이 완전히 자유로운 라이선스로 배포되는지라, 애플도 소스코드를 가져다가 OS X을 만드는 데 사용하였다.
  • True OS : 2006년 4월 iX시스템즈에서 개발된 FreeBSD 기반의 오픈소스 OS로, 기존의 상용 OS인 Windows 또는 Mac OS X의 사용성과 FreeBSD 의 안정성 및 보안성이라는 장점을 절충한 덕분에, 일반 가정용뿐만 아니라 기업용 및 서버용으로도 사용 가능한 범용성을 가지고 있다.
  • Debian GNU/kFreeBSD : FreeBSD 커널에 유저랜드는 데비안을 사용하는 프로젝트. 데비안 쓰는 감각으로 대부분을 사용 가능하다고 하니 관심 있는 사람은 도전해보자.
  • ubuntuBSD : FreeBSD 커널에 우분투 유저랜드를 사용하는 것으로 소스포지 게시일 기준 2016년 3월 20일 베타2까지 공개되었다. 2018년 2월 기준 공식 사이트 및 패키지 저장소 서버가 닫혀있어 설치는 가능하나 보안 업데이트 등은 받을 수 없다.
  • 플레이스테이션 시리즈 : 플레이스테이션 3 및 PS Vita도 FreeBSD를 사용하였고, 플레이스테이션 4의 Orbis OS 역시 FreeBSD의 커스터마이징 버전이다.
  • Tmax OS : 티맥스에서 개발한 국산 OS이다. 리눅스 커널 기반일 줄 알았지만, FreeBSD 기반이었다.
  • 닌텐도 스위치 : FreeBSD 기반의 운영체제를 사용한다는 것이 레딧의 유저에 의해 확인되었다.[1]

문제점과 대안[편집]

BSD는 AT&T와의 라이선스 문제 등 여러 문제에 맞닥뜨리며 순탄하지 못하였고, 후에 4.4 BSD-Lite를 끝으로 FreeBSD, NetBSD, OpenBSD 등으로 갈라지게 된다. 그리고, 매큐직은 FreeBSD 진영에 합류하여 오늘날까지 계속하고 있다. 문제는 저 몇 년간의 틈새를 리눅스가 치고 들어와 선점했다는 것인데, 바로 이 차이로 인한 선점효과가 오늘날 점유율과 유명세 등에서의 커다란 차이를 보이게 된 원인이 되었다. 윈도우 운영체제의 사례에서 볼 수 있듯이, OS를 교체하려면 새 OS에 대해 배워야 하며 기존의 OS로 구축한 것을 새로운 OS에서 다시 구축해햐 하기 때문에 쉽게 교체하기가 어렵다. 그나마 리눅스와 FreeBSD 는 구조가 상대적으로 비슷한 편이므로 이 문제는 좀 덜한 편이기는 하지만, 다른 걸림돌이 있으니 이 둘은 주로 서버 시장에서 활동한다는 점이다. 서버 시장은 안정성이 극도로 중요하기 때문에, 이미 시장을 선점하여 작동 시간으로나 사용자 기반으로나 상대적으로 더 많이 검증된 기존의 OS를 버리고 갈아타는 데에 훨씬 더 보수적일 수밖에 없다. 제로, 과거엔 BSD가 리눅스와 비교해 성능이나 안정성 측면에서 좋은 점수를 많이 받았지만, 아무래도 점유율이 리눅스가 높아 개발자들의 유입도 많고 해서 빠르게 발전한 결과, 현재는 오히려 리눅스가 BSD를 앞질렀다고 볼 수 있다. [1]

각주[편집]

  1. 1.0 1.1 1.2 1.3 FreeBSD〉, 《나무위키》
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 FreeBSD〉, 《위키백과》

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 프리비에스디 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.