FreeBSD

FreeBSD는 BSD 계통의 자유·오픈 소스 유닉스 계열 운영체제이다. 캘리포니아 대학교 버클리에서 개발된 BSD와 386BSD를 계승하며, 1993년에 시작된 FreeBSD 프로젝트가 커널과 기본 사용자 공간, 시스템 관리 도구, 문서와 빌드 체계를 함께 개발하고 배포한다.

분류유닉스 계열 운영체제, BSD, 자유 소프트웨어, 오픈 소스 소프트웨어
개발FreeBSD 프로젝트
계통Research UNIXBSD386BSD → FreeBSD
최초 공개1993년 11월
최신 안정판15.1-RELEASE
커널FreeBSD 커널
커널 구조모놀리식 커널, 적재 가능 커널 모듈
기본 사용자 공간FreeBSD 기본 시스템
구현 언어C, 어셈블리어, 셸 스크립트
기본 파일 시스템UFS, OpenZFS
패키지 관리pkg, Ports Collection
가상화와 격리Jail, bhyve
보안 체계Capsicum, MAC, 감사, 보안 수준
주요 플랫폼AMD64, ARM64, RISC-V, PowerPC
소스 모델기본 시스템과 커널을 하나의 소스 트리에서 개발
주요 라이선스BSD 2-Clause License, 기타 호환 라이선스
개발 상태개발 중
FreeBSD 인터페이스

FreeBSDBSD 계통의 자유·오픈 소스 유닉스 계열 운영체제이다. 캘리포니아 대학교 버클리에서 개발된 BSD와 386BSD를 계승하며, 1993년에 시작된 FreeBSD 프로젝트가 커널과 기본 사용자 공간, 시스템 관리 도구, 문서와 빌드 체계를 함께 개발하고 배포한다.

FreeBSD는 Linux처럼 운영체제 커널만을 가리키는 이름이 아니다. FreeBSD라는 이름은 커널, 시스템 라이브러리, 명령줄 도구, 부팅 체계, 네트워크 도구, 서비스 관리 체계와 기본 설명서를 포함하는 통합된 기본 운영체제를 가리킨다. 웹 서버, 저장 장치, 네트워크 장비, 클라우드 기반 시설과 임베디드 시스템에 사용되며, 데스크톱 운영체제로도 구성할 수 있다.

운영체제의 기본 시스템은 하나의 프로젝트와 소스 트리를 중심으로 개발되지만, 일반 응용 프로그램은 바이너리 패키지를 관리하는 pkg와 소스 기반 빌드 체계인 Ports Collection을 통해 설치한다. 이러한 구분은 운영체제 자체와 외부 응용 프로그램의 생명 주기, 빌드와 유지보수를 분리하면서도 일관된 시스템 관리 환경을 제공한다.

FreeBSD는 네트워크 스택과 저장 장치 기능, 대칭형 다중 처리, 가상 메모리, 보안과 시스템 관리를 주요 기반으로 발전해 왔다. UFSOpenZFS를 지원하며, OpenZFS를 루트 파일 시스템으로 사용하거나 스냅샷과 복제, 저장소 풀, 부팅 환경을 구성할 수 있다. 프로세스와 네트워크, 파일 시스템을 격리하는 Jail, 가상 머신을 실행하는 bhyve, 파일 디스크립터를 capability로 사용하는 Capsicum도 FreeBSD의 대표적인 시스템 기능이다.

FreeBSD 프로젝트는 전 세계 개발자와 기여자가 참여하는 공동체 방식으로 운영된다. 커미터가 소스 코드와 Ports, 문서를 관리하며, 선출된 Core Team과 릴리스 엔지니어링, 보안, Ports 관리, 문서와 기반 시설을 담당하는 여러 팀이 프로젝트의 방향과 운영을 조정한다. 소스 코드는 허용적인 BSD 계열 라이선스를 중심으로 배포되어 자유 소프트웨어와 상용 제품 모두에서 사용할 수 있다.

역사

UNIX와 BSD

386BSD와 비공식 패치킷

FreeBSD 프로젝트의 창설

FreeBSD 1과 법적 전환

FreeBSD 2와 초기 보급

FreeBSD 3과 4

FreeBSD 5와 현대적 커널 구조

FreeBSD 6부터 9까지

FreeBSD 10부터 12까지

FreeBSD 13과 14

FreeBSD 15 이후

명칭과 범위

FreeBSD라는 이름

커널과 완전한 운영체제

기본 시스템과 외부 소프트웨어

BSD 계통에서의 위치

UNIX 상표와 유닉스 호환성

시스템 구성

기본 시스템

커널

시스템 라이브러리

사용자 공간 도구

부트 로더와 부팅 환경

초기화와 서비스 관리

시스템 설정

매뉴얼 페이지와 문서

커널 구조

모놀리식 커널

커널 모듈

시스템 호출 인터페이스

프로세스와 스레드

스케줄러

가상 메모리

장치 모델과 드라이버

인터럽트와 타이머

SMP와 NUMA

커널 객체와 자원 관리

파일 시스템과 저장 장치

가상 파일 시스템

UFS

OpenZFS

다른 파일 시스템

GEOM 저장 장치 프레임워크

소프트웨어 RAID

디스크 암호화

스냅샷과 복제

ZFS 부팅 환경

네트워크 파일 시스템

네트워크

네트워크 스택

소켓 인터페이스

IPv4와 IPv6

라우팅과 게이트웨이

방화벽

네트워크 인터페이스와 드라이버

무선 네트워크

네트워크 가상화

고성능 네트워크 처리

프로세스와 시스템 관리

사용자와 그룹

파일과 권한

프로세스 관리

서비스 관리

시스템 로그

자원 제한

작업 예약

시스템 조정

전원 관리

소프트웨어 설치와 관리

기본 시스템과 응용 프로그램의 구분

pkg

Ports Collection

포트의 구성과 빌드

패키지 저장소

소프트웨어 업데이트

기본 시스템 업데이트

소스 기반 빌드와 world

교차 빌드

Jail과 컨테이너

Jail의 개념

chroot와의 차이

전통적 Jail

Thin Jail

VNET Jail

서비스 Jail

Linux Jail

자원 제한

ZFS와 Jail

Jail 관리 도구

다른 컨테이너 기술과의 관계

가상화

bhyve

vmm 커널 인터페이스

가상 머신 구성

네트워크와 저장 장치 가상화

bhyve와 Jail의 결합

Xen 지원

다른 하이퍼바이저의 게스트로서 FreeBSD

클라우드 이미지

보안

UNIX 권한 모델

사용자와 특권 분리

보안 수준

Mandatory Access Control

Capsicum

Jail 기반 격리

시스템 감사

디스크와 파일 암호화

패킷 필터링

보안 권고와 수정 배포

보안 대응 조직

호환성과 이식성

POSIX 호환성

UNIX 응용 프로그램 호환성

Linux 바이너리 호환 계층

외부 소프트웨어 이식

응용 프로그램 바이너리 인터페이스

커널 모듈 인터페이스

이전 릴리스와의 호환성

지원 플랫폼

AMD64

ARM64

RISC-V

PowerPC

이전에 지원한 플랫폼

Tier 분류

서버와 워크스테이션

단일 보드 컴퓨터

임베디드 시스템

그래픽과 데스크톱 환경

콘솔 환경

그래픽 스택

X Window System

Wayland

데스크톱 환경

오디오와 멀티미디어

입력 장치

데스크톱 운영체제로서의 FreeBSD

개발 환경

기본 컴파일러와 도구 체인

LLVM과 Clang

링커와 디버거

make와 빌드 체계

C와 시스템 프로그래밍

프로그래밍 언어 지원

개발 도구와 편집기

커널 모듈 개발

시스템 호출과 드라이버 개발

FreeBSD 개발

소스 트리

src, ports와 doc

CURRENT, STABLE과 RELEASE

릴리스 브랜치

코드 검토

테스트와 지속적 통합

커미터와 기여자

릴리스 엔지니어링

보안 지원 주기

프로젝트와 거버넌스

FreeBSD 프로젝트

커미터 제도

Core Team

관리 팀

FreeBSD Foundation

의사 결정과 선거

메일링 리스트와 개발 공동체

회의와 개발자 행사

문서화 프로젝트

라이선스

BSD 라이선스

BSD 2-Clause License

기본 시스템의 라이선스 구성

외부 구성 요소의 라이선스

상용 제품에서의 이용

파생 운영체제와 소스 공개

주요 파생 운영체제와 제품

데스크톱 계열

방화벽과 네트워크 장비

저장 장치 운영체제

서버와 클라우드 제품

게임기와 상용 시스템

FreeBSD 기반 전용 운영체제

다른 운영체제와의 관계

Research UNIX

BSD

NetBSD

OpenBSD

DragonFly BSD

Linux

illumos

macOS와 Darwin

상용 UNIX

활용 분야

웹과 네트워크 서버

저장 장치와 파일 서버

방화벽과 라우터

클라우드 기반 시설

콘텐츠 전송 네트워크

가상화 호스트

임베디드 시스템

데스크톱과 워크스테이션

연구와 운영체제 교육

영향

BSD 운영체제 계통

네트워크 기술

Jail과 운영체제 수준 가상화

Capsicum과 capability 보안

OpenZFS 생태계

상용 운영체제와 제품

오픈 소스 운영체제 개발 방식

장점과 한계

관련 문서