386BSD
개요
386BSD는 Bill Jolitz와 Lynne Jolitz가 개발한 BSD(Berkeley Software Distribution) 계열의 초기 오픈소스 Unix 계열 운영체제이다. 1992년에 발표되었으며, Intel 80386 아키텍처를 대상으로 한 최초의 완전한 32비트 BSD 파생 운영체제이다.
386BSD는 현대 FreeBSD, NetBSD, OpenBSD의 직접적인 조상으로, “**BSD 계열의 자유화**”를 상징하는 역사적 프로젝트로 평가된다.
386BSD는 University of California, Berkeley의 4.3BSD 코드를 기반으로, Intel 386(IA-32) 프로세서에서 실행되도록 Bill Jolitz가 완전 이식한 버전이다. 당시 상용화된 BSD는 AT&T Unix 코드 의존성이 강했기 때문에, 386BSD는 Net/2(Networking Release 2) 프로젝트를 통해 법적 문제 없이 배포 가능한 최초의 “자유 BSD”였다.
역사
- 1989년 – Bill Jolitz가 BSD 4.3을 Intel 386 아키텍처로 이식 시작
- 1991년 – Net/2 코드베이스 공개 (AT&T 코드 제거)
- 1992년 3월 – 386BSD 0.0 공개 (첫 공개 버전)
- 1992년 7월 – 386BSD 0.1 출시 – 일반 사용자용 배포 시작
- 1993년 – 커뮤니티 주도의 파생 프로젝트 등장 → FreeBSD, NetBSD 분화
- 1994년 이후 – Bill Jolitz의 개발 종료, 386BSD 프로젝트 비활성화
기술적 특징
- 4.3BSD 기반의 완전한 32비트 포팅
- Intel 80386 CPU를 위한 보호 모드(Protected Mode) 동작
- VM (Virtual Memory), TCP/IP 네트워크 스택, UFS 파일 시스템 지원
- C 언어로 작성된 Unix 커널
- BSD sockets를 통한 네트워크 프로그래밍 인터페이스
- init 및 rc 스크립트 기반 부팅 절차
구조
| 계층 | 주요 구성 요소 | 설명 |
|---|---|---|
| 커널 계층 | BSD 커널, 프로세스, 메모리, I/O, IPC | 4.3BSD 커널의 386 이식판 |
| 시스템 계층 | libc, system calls, drivers | BSD 표준 시스템 인터페이스 |
| 사용자 계층 | /bin, /usr/bin, /sbin | 전통적인 BSD 유틸리티 포함 |
| 네트워크 계층 | BSD TCP/IP stack | 완전한 네트워크 기능 지원 |
| 파일시스템 | UFS (Unix File System) | 저널링 이전의 BSD 기본 FS |
버전
| 버전 | 출시 연도 | 주요 내용 |
|---|---|---|
| 0.0 | 1992년 3월 | 최초 공개 버전, 커널 및 기본 유틸리티 제공 |
| 0.1 | 1992년 7월 | 안정성 개선, 장치 드라이버 추가 |
| 1.0 (비공식) | 1993년 이후 | FreeBSD 및 NetBSD로 발전 |
주요 인물
- William (Bill) Jolitz – 386BSD 설계자, 커널 포팅 담당
- Lynne Jolitz – 개발 및 문서화, 커뮤니티 관리
- 두 사람은 1991~1994년까지 *Dr. Dobb’s Journal*에
"Porting UNIX to the 386" 시리즈 논문을 연재하며 개발 과정을 공개했다.
386BSD와 BSD 계열의 분화
386BSD의 코드베이스는 이후 BSD 커뮤니티에 의해 분기되어 발전했다.
| 파생 프로젝트 | 최초 공개 | 주요 특징 |
|---|---|---|
| FreeBSD | 1993년 | 성능 및 실무 중심 개발, 서버 시장에 집중 |
| NetBSD | 1993년 | 이식성(Portability) 중점, 다양한 아키텍처 지원 |
| OpenBSD | 1996년 | 보안 중심 재설계, 코드 감사를 통한 안정성 확보 |
| DragonFly BSD | 2003년 | FreeBSD 4.x에서 분기, 커널 병렬화 중점 |
기술적 의의
- 최초의 완전한 **x86용 BSD**
- POSIX 호환 구조 유지
- 오픈소스 BSD 생태계의 기원
- FreeBSD, NetBSD, OpenBSD의 공통 조상
- Unix 지식의 대중화에 큰 기여 (*Dr. Dobb’s Journal* 기고 시리즈)
법적 배경
AT&T와 University of California, Berkeley 간의 소스 코드 저작권 분쟁으로 인해 BSD 코드의 상용 사용이 제한되던 시기에, 386BSD는 Net/2 기반으로 **AT&T 비의존 코드**를 채택하여 법적으로 완전한 독립 BSD를 실현했다. 이 사건은 이후 FreeBSD와 NetBSD의 법적 독립 기반이 되었다.
영향
- 현대 BSD 계열 운영체제의 직접적 기원
- Linux보다 앞서 공개된 오픈소스 PC Unix 구현
- POSIX 및 TCP/IP의 초기 확산에 기여
- FreeBSD의 커널 및 네트워크 코드 대부분이 386BSD에서 유래
계보
| 상위 | 프로젝트 | 하위 파생 |
|---|---|---|
| 4.3BSD Net/2 | → | 386BSD (1992) |
| 386BSD | → | FreeBSD, NetBSD (1993) |
| NetBSD | → | OpenBSD (1996) |
| FreeBSD 4.x | → | DragonFly BSD (2003) |
같이 보기
참고 문헌
- Bill & Lynne Jolitz, *“Porting UNIX to the 386”*, Dr. Dobb’s Journal, 1991–1994
- “386BSD, FreeBSD, NetBSD: The Journey of Free Unix”, OSNews, 2002
- “A History of BSD”, Marshall Kirk McKusick, USENIX, 1999
- FreeBSD Handbook, “History and Heritage”, 2023
- NetBSD Documentation Archive, 1994