FreeBSD –
system operacyjny
z rodziny
Unix
. Do wersji 2.0 wywodził się z systemu
4.3BSD
, kolejne wersje wywodziły się z
4.4BSD Lite2
; obu stworzonych przez
Computer Systems Research Group (CSRG)
na
Uniwersytecie Kalifornijskim w Berkeley
. Podobnie jak
NetBSD
, jest bezpośrednią pochodną
386BSD
– systemu będącego pierwszą próbą
przeportowania
systemu
Unix
z gałęzi
BSD
na architekturę
IA-32
.Początkowo znany pod nazwą Unofficial 386BSD Patchkit.
Inicjatorami projektu byli Nate Williams, Rod Grimes i
Jordan Hubbard
. Nazwę FreeBSD wymyślił David Greenman[1] z firmy Walnut Creek CDROM, która od początku wspierała projekt. Oficjalną maskotką FreeBSD jest
daemon
, oficjalnym hasłem jest The power to serve (
ang.
Potęga aby służyć).
Rozwój
Pierwsza
wersja
systemu ukazała się
30 listopada
1993
. Obecnie dostępne i wspierane są 2 wersje stabilne: 7.2 i 8.0[2].
W 2005 podjęto decyzję o przejściu na bardziej regularne wydania. Od tej pory nowe wersje ukazują się co 6-8 miesięcy, aby rozwój systemu stał się bardziej przewidywalny dla podmiotów zeń korzystających. Decyzja ta podyktowana była przeciągającymi się pracami nad rewolucyjną w wielu dziedzinach serią 5.x, która długo nie mogła osiągnąć wymaganej stabilności[].
Data | Wersja | Opis |
---|
19 czerwca
1993
| | rozpoczęcie projektu |
30 listopada 1993 | 1.0 | oparte na bazie 386BSD i
4.3BSD
Net/2 |
lipiec
1994
| 1.1.5.1 | ostatnie wydanie z serii 1.x.x |
22 listopada
1995
| 2.0 | oparte na kodzie
4.4BSD
Lite, bez kodu AT&T |
16 października
1998
| 3.0 | uaktualnienia z 4.4BSD Lite2, pierwsza wersja
ELF
|
29 listopada 1998 | 2.2.8 | ostatnie wydanie z serii 2.x; ostatnie wydanie w formacie binariów
a.out
|
24 czerwca
2000
| 3.5 | ostatnia wersja z serii 3.x |
13 marca 2000 | 4.0 | |
20 kwietnia
2001
| 4.3 | pierwsza stabilna wersja z serii 4.x |
19 stycznia
2003
| 5.0 | |
6 listopada
2004
| 5.3 | pierwsza stabilna wersja z serii 5.x |
25 stycznia
2005
| 4.11 | ostatnie wydanie z serii 4.x |
4 listopada
2005
| 6.0 | |
25 maja
2006
| 5.5 | ostatnia wersja z serii 5.x |
18 stycznia
2008
| 6.3 | |
27 lutego
2008
| 7.0 | zawiera m.in. poprawioną obsługę maszyn wieloprocesorowych, skalowalność i wydajność. Wprowadzono obsługę systemu plików
ZFS
, gjournal, inicjator
iSCSI
, obsługę protokołu
SCTP
, wsparcie dla TCP Segmentation Offload i Large Receive Offload w sterownikach części kart sieciowych, nowy alokator pamięci (jemalloc) i poprawiono wsparcie architektury
ARM
[3] |
28 listopada
2008
| 6.4 | |
5 stycznia
2009
| 7.1 | wprowadzono m.in. obsługę
DTrace
, możliwość przypisywania procesów do poszczególnych procesorów oraz nową implementacje Network Lock Managera. Domyślnym schedulerem stał się
ULE
[4] |
4 maja
2009
| 7.2 | ulepszenie obsługi platformy
SPARC64
, pełna obsługa superpages dla aplikacji, obsługa
IPv4
i
IPv6
dla Jail, zwiększenie wirtualnej przestrzeni adresowej jądra do 6GB na platformie
x64
|
25 listopada
2009
| 8.0 | możliwość zagnieżdżania Jail, praca jako gość i host w
VirtualBox
, praca jako 32-bitowy gość w
Xen
DomU, klient i serwer
NFSv
4 (w fazie eksperymentalnej), wsparcie dla wirtualnych
punktów dostępowych
i
802.11s
, stabilizacja
ZFS
, przebudowanie sterowników
USB
, poprawki w skalowaniu na systemach
SMP
, eksperymentalne wsparcie dla
architektury MIPS
[5] |
(Więcej szczegółów na temat wydań poszczególnych wersji w
kalendarium Informatyki
)
Model dystrybucji
FreeBSD 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
Subversion
. Nad rozwojem projektu czuwa zamknięta grupa
programistów
– tzw.
Core Team
, który nadzoruje pracę oficjalnych deweloperów (committers) i innych programistów.
Rozprowadzany na 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
, domyślnie dostarczany z csh (de facto
tcsh
) i sh (oparte na ash).
System plików
–
FFS
,
UFS
, UFS z rozszerzeniem softupdates,
UFS2
(w wersjach nowszych od FreeBSD 5.0). Obsługiwane są również nienatywne systemy plików, np.
ZFS
(ZFS wersja 6 we FreeBSD 7, ZFS wersja 13 w FreeBSD 8, ZFS wersja 14 w FreeBSD 8.1, ZFS wersja 28 jest aktualnie w fazie testów[6]),
XFS
(w wersji 7), linuksowy
ext2
oraz
FAT
oraz podsystem
FUSE
. 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ę dużą ilością nowinek w porównaniu z innymi systemami wywodzącymi się 4.4BSD: NetBSD i OpenBSD. Początkowo inicjatorzy projektu FreeBSD postanowili skupić się na stworzeniu systemu dla najpopularniejszej architektury sprzętowej i386. Z czasem jednak zaczęły się ukazywać także wersje dla architektur
PC98
,
DEC
Alpha
(od wersji 7 systemu architektura ta przestaje być obsługiwana),
Sun
UltraSPARC
,
AMD64
,
IA-64
Itanium,
ARM
i
PowerPC
; od wersji 8 eksperymentalnie również
MIPS
[5].
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.
FreeBSD korzysta z opartego na źródłach systemu pakietowania znanego jako
porty
. Szkielet tego rozwiązania opiera się na plikach automatyzujących Makefile dla BSD make. Repozytorium portów zawiera ponad 20 tysięcy programów przystosowanych do działania na tym systemie. Na bazie portów udostępniane są prekompilowane pakiety binarne z domyślnymi opcjami dla wszystkich aktualnie obsługiwanych wersji i architektur sprzętowych FreeBSD. Zalety portów przyczyniły się do tego, że 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ść
często stosowany jako
serwer
lub
zapora sieciowa
. FreeBSD obsługuje wiele z najbardziej obciążonych
serwisów
w
Internecie
[] (
Yahoo!
, ISC, Apache.org,
New York
Internet, Netcraft czy polski Home.pl).
Na FreeBSD przeniesiono wiele aplikacji szeroko wykorzystywanych w
Linuksie
– m.in.
Open Office
,
KDE
. Dzięki temu system stał się bardziej użyteczny w zadaniach biurowych i multimedialnych. Ułatwia to życie administratorom, którzy mogą połączyć system codziennego użytku z "poligonem" do testowania nowych rozwiązań.
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. Ponadto wiele zamkniętych
urządzeń
(np.
routery
Junipera czy
sprzętowe
zapory
firmy
Nokia
) działa w oparciu o FreeBSD.
Ważniejsze narzędzia i technologie
Przypisy
Zobacz też
Linki zewnętrzne