user: FreeBSD의 역사에 대해 설명해 줘.

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

## BSD 역사
처음 BSD 개발은 유닉스 제6판의 추가 기능이라는 개념으로 시작되었다. 1977년 캘리포니아 대학교 버클리의 대학원생이었던 빌 조이는 미니컴퓨터 PDP-11에 설치된 유닉스에 사용할 파스칼 컴파일러와 라인에디터 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 ”이 만들어지고 자유롭게 재배포할 수 있는 BSD 라이선스를 적용하였다. 1990년 초에는 4.3BSD-Reno가 나오며 CMU 마크의 가상메모리 시스템과 Sun의 NFS이 구현되었다.

마침내 1991년에는 대부분의 AT&T 코드를 BSD 코드로 대체한 “Networking Release 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를 계승한다.

## FreeBSD의 태동과 변천
FreeBSD의 개발은 1993년부터 4.3BSD Net/2에 기반한 386BSD의 소스 코드를 이용하여 시작되었다. 처음은 1992년 Jordan K. Hubbard, Nate Williams, Rod Grimes 세 사람이 시작한 “Unofficial 386BSD Patchkit”로

1995년 1월에 발표된 FreeBSD 2.0은 4.4BSD를 기반으로 전면 재작성되어 1995년 6월 버전 2.0.5을 거쳐 1998년 11월 버전 2.1.7.1과 버전 2.2.8로 완료되었다. 가장 큰 향상은 CMU의 Mach 가상 메모리 시스템을 개선하여 과부하 상태에서도 안정적인 성능을 유지하도록 최적화되었고, 포트 시스템이 도입되어 서드파티 소프트웨어의 설치 및 관리의 편의를 제공한다.

FreeBSD 3.0은 1998년 10월에 발표되어 2000년 7월 버전 3.5.1로 마무리되었는데, ELF 바이너리 포맷으로 전환, 대칭형 다중 프로세서 시스템 지원, 새로운 64비트 플랫폼 DEC Alpha 지원 등의 변화가 있었다. 비록 확실한 기능상의 이점도 성능 향상도 가져오지 못했다는 비판도 있었으나, 1995년 6월에 완성된 BSD Unix의 최종 결과물 4.4BSD-Lite2까지 흡수 하며 이전의 여러 개발 성과들을 총괄하여, 향후 FreeBSD 4에서의 도약을 위한 토대가 되었다.

2000년 3월에는 FreeBSD를 후원하던 Walnut Creek CDROM과 BSD/OS의 개발사 BSDi가 합병하였다.

## FreeBSD 4
FreeBSD 4.0은 2000년 3월에 발표되어 2005년 1월 최종판 4.11로 완료되었다. FreeBSD 4에서는 가상메모리 성능이 향상되고, SVR4 계열 유닉스에 대한 에뮬레이션이 추가되었으며, ATA/ATAPI 통합 드라이버가 도입되었다. 4.1판부터는 기존의 i386 배포본과 더불어 alpha 플랫폼 배포본이 공식 배포되었다.

## FreeBSD 5
당초 FreeBSD 5와 관련해서 BSD/OS와 완전한 소스 코드 통합이 간혹 언급되기도 하였으나 보다 많은 플랫폼에 이식되었다.

## FreeBSD 6
FreeBSD 6은 2005년 6.0을 시작으로 2008년 1월 18일 6.3판까지 발표되었다. 이 시기에는 SMP와 스레드 최적화에 관한 작업이 진행되었고, 802.11의 추가적인 기능 개선, 보안 이벤트 감사, 네트워크 스택 성능의 현저한 개선, 완전한 선점형 커널 그리고 하드웨어 성능 카운터의 지원 등도 진행되었다. FreeBSD 6에서 일차적인 개선점으로는 가상파일시스템에서 Giant lock의 제거, 1:1 스레딩을 통한 libthr의 부가적인 성능 개선 그리고 OpenBSM이라고 불리는 기초 보안 모듈의 구현이다. OpenBSM은 애플의 오픈 소스 다윈의 구현을 기반으로 하였으며 TrustedBSD 프로젝트에 의해 작성되어 BSD 라이선스로 배포되었다.

## FreeBSD 7
FreeBSD 7은 2008년 2월 27일에 7.0이 발표되었으며 특징은 다음과 같다.

## 안정판과 개발판
FreeBSD는 실용을 위한 안정판과 함께 개발 과정을 반영한 개발판를 병렬적으로 운용하고 있다. 안정판은 현재의 배포본을 바탕으로 업데이트가 진행되고 있는 것이며, 어느 정도 개선 작업이 축적되면 소규모 업그레이드가 적용된 새로운 배포본을 만든다. 개발판은 이와 별도로 보다 근본적인 설계 변경 등의 대규모 작업이 장기적으로 진행되고 있는 것으로 이 결과는 대규모 업그레이드가 된 차기판으로 나오게 된다.