FreeBSD - popularny
system operacyjny typu
uniksowego, wywodzący się historycznie z systemu
BSD (
4.3BSD do wersji 2.0, potem
4.4BSD Lite2) powstałego na Uniwersytecie Kalifornijskim w
Berkeley. Podobnie jak
NetBSD jest bezpośrednim derywatem
386BSD, systemu będącego pierwszą próbą stworzenia Uniksa typu
BSD dla PC. Początkowo znany pod nazwą
Unofficial 386BSD Patchkit.
Inicjatorami projektu byli Nate Williams, Rod Grimes i Jordan Hubbard. Nazwę
FreeBSD wymyślił David Greenman z firmy Walnut Creek CDROM, które od początku wspierało projekt. Oficjalną maskotką FreeBSD, podobnie jak całej rodziny BSD, jest
daemon, oficjalnym hasłem jest
The power to serve (
ang. Potęga gotowa służyć).
Pierwsza
wersja systemu ukazała się 30 listopada
1993 roku, obecnie aktualna wersja stabilna ma numer 4.11 (ostatnia z linii 4.x) i niosąca wiele nowości 5.4 (m.in. UFS2, devfs, SMPng, KSE, GEOM, MAC).
- maskotka FreeBSD
Kalendarium rozwoju
- 19 czerwca 1993 - inicjacja projektu
- 30 listopada 1993 - FreeBSD 1.0 (na bazie 386BSD i 4.3BSD Net/2)
- lipiec 1994 - FreeBSD 1.1.5.1 (ostatnie z serii 1.x.x)
- 22 listopada 1995 - FreeBSD 2.0 (oparte na kodzie 4.4BSD Lite, bez kodu AT&T)
- 16 października 1998 - FreeBSD 3.0 (uaktualnienia z 4.4BSD Lite2, pierwsza wersja ELF)
- 29 listopada 1998 - FreeBSD 2.2.8 (ostatnie z linii 2.x i ostatnia w formacie binariów a.out)
- 24 czerwca 2000 - FreeBSD 3.5 (ostatnia wersja z linii 3.x)
- 13 marca 2000 - FreeBSD 4.0
- 20 kwietnia 2001 - FreeBSD 4.3 - pierwsza stabilna wersja linii 4.x
- 19 stycznia 2003 - FreeBSD 5.0
- 6 listopada 2004 - FreeBSD 5.3 - pierwsza stabilna wersja linii 5.x
- 25 stycznia 2005 - FreeBSD 4.11 (ostatnie z linii 4.x)
- 9 maja 2005 - FreeBSD 5.4
(Więcej szczegółów na temat wydań poszczególnych wersji w kalendarium Informatyki)
Dostępność
Jest darmowym systemem operacyjnym dostępnym z pełnym
kodem źródłowym. Źródła całego systemu wraz z historią (istnieje możliwość pobrania najstarszych wersji) - nie tylko jądra - dostępny jest w centralnym
repozytorium opartym na
CVS. Nad rozwojem projektu czuwa zamknięta grupa
programistów tzw.
Core Team, który organizuje pracę oficjalnych deweloperów (
committers) i innych programistów.
Rozprowadzany na bardzo liberalnej, zmodyfikowanej
licencji BSD, pozwalającej na integrację kodu do projektów zamkniętych pod warunkiem załączenia informacji o
autorach.
Informacje techniczne
System zgodny z normą
POSIX.
Powłoka - każda zgodna z normą
POSIX.
System plików -
FFS,
UFS, UFS z rozszerzeniem
softupdates, UFS2 (tylko FreeBSD 5). Format binariów - obecnie ELF, do wersji 2.2.8
a.out.
Jądro - monolityczne, aczkolwiek z możliwością dołączania i odłączania modułów podczas pracy systemu.
FreeBSD charakteryzuje się większą ilością nowinek w porównaniu z innymi systemami wywodzącymi się 4.4BSD: NetBSD i OpenBSD. Inicjatorzy projektu FreeBSD postanowili skupić się na tworzeniu systemu dla najpopularniejszych architektur sprzętowych. Dostępne są wersje dla architektury
IA-32,
AMD64,
PC98,
DEC Alpha,
Sun UltraSPARC w przygotowaniu znajdują się wersje dla
IA-64 Itanium i
PowerPC.
W trybie
ABI można uruchamiać programy skompilowane dla
Linuksa,
SCO oraz
SVR4 (
Solaris). Binaria dla systemów
BSDI,
NetBSD i
OpenBSD są uruchamiane w niezmienionym trybie.
Porty
FreeBSD znane jest z tzw. systemu portów. To stale rozwijane rozwiązanie pozwala na wygodną instalację i zarządzanie oprogramowaniem spoza systemu z wykorzystaniem źródeł, tj. w tradycyjny dla systemów uniksowych sposób - z uwzględnieniem rekursywnych zależności pomiędzy poszczególnymi programami.
Procedura instalacji programu składa się z następujących kroków:
- sprowadzenie źródeł z Internetu (jeśli są niedostępne lokalnie),
- sprawdzenie ich integralności,
- wprowadzenie niezbędnych poprawek wymaganych przez FreeBSD (patch),
- konfiguracja i zapis preferencji użytkownika,
- ewentualna instalacja innych portów niezbędnych do działania danego programu,
- kompilacja,
- instalacja w systemie
- rejestracja plików należących do programu z ich sumami kontrolnymi
- przypisanie do portu bibliotek i innych programów, które są niezbędne do jego działania.
Porty tworzą hierarchiczną strukturę podzieloną na funkcjonalne kategorie. Szkielet portu powstaje na bazie pliku
Makefile zgodnego z BSD make. Każdy port posiada swego opiekuna, którym mogą być zarówno pojedynczy programiści, jak i całe zespoły odpowiedzialne w ramach FreeBSD za nadzór np. dużych środowisk
GNOME i
KDE. Repozytorium portów FreeBSD zawiera kilkanaście tysięcy programów przystosowanych do działania na tym systemie.
Na bazie portów projekt udostępnia prekompilowane pakiety z domyślnymi opcjami dla wszystkich aktualnie wspieranych wersji i architektur FreeBSD. Pakiety rozprowadzane są poprzez Internet oraz na nośnikach optycznych, ich funkcjonalność jest identyczna do tych znanych w dystrybucji linuksowych. Programy instalowane przy pomocy portów i pakietów przechowywane są w przestrzeni odseparowanej od właściwego systemu, co pozwala na zachowanie integralności obu warstw oprogramowania.
Porty FreeBSD stały się bazą lub zainspirowały rozwój zbliżonych rozwiązań wykorzystywanych w systemach
OpenBSD,
NetBSD (
pkgsrc) oraz Linux
Gentoo (portage).
Zastosowania
Ze względu na swą wydajność i niezawodność (niemal
wzorcowa implementacja stosu TCP/IP) często stosowany jako
serwer lub
zapora sieciowa. FreeBSD obsługuje wiele z najbardziej obciążonych serwisów w
Internecie (Yahoo!, Hotmail, Apache.org, CDROM.COM). Równie dobrze spełnia swoją rolę jako system operacyjny na biurko.
Ze względu na liberalną licencję fragmenty jego kodu znalazły się w takich projektach jak
Microsoft Windows, a ostatnio
Mac OS X oraz Mac OS X Server, który powstał w oparciu o
mikrojądro Mach i rozwiązania zaczerpnięte z FreeBSD oraz NetBSD. Również wiele zamkniętych urządzeń (np. sprzętowe zapory
firmy Nokia) działa w oparciu o FreeBSD.