FreeBSD

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
FreeBSD
Rodzina systemów operacyjnych BSD
Interfejs
Interfejs użytkownika
Producent The FreeBSD Project
Platforma sprzętowa IA-32, x86-64, SPARC64, IA-64, NEC PC-9801, PowerPC, ARM, MIPS
Pierwsze wydanie 1 listopada 1993
Aktualna wersja 10.0[1]
Wydana 20 stycznia 2014[2]
Aktualna wersja
testowa
10.0-RC5[3]
Wydana 9 stycznia 2014
Jądro monolityczne
Środowisko pracy tekstowe (można zainstalować graficzne, takie jak np. KDE)
Licencja BSD
Commons Multimedia w Wikimedia Commons
FreeBSD w serwisie distrowatch.com
freebsd.org
FreeBSD z zainstalowanym KDE

FreeBSDsystem 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[4] 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[edytuj | edytuj kod]

Pierwsza wersja systemu ukazała się 30 listopada 1993. Obecnie dostępne i wspierane są 2 wersje stabilne: 7.2 i 8.0[5].

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 z niego 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[potrzebne źródło].

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[6]
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[7]
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 NFSv4 (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[8]
24 lipca 2010 8.1
24 lutego 2011 8.2
12 stycznia 2012 9.0 nowy instalator, Highly Available Storage (HAST) framework, nowe funkcje w implementacji stosu TCP/IP, wsparcie dla Sony Playstation 3, dodanie kompilatora LLVM/Clang.

(Więcej szczegółów na temat wydań poszczególnych wersji w kalendarium Informatyki)

Model dystrybucji[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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ówFFS, 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[9]), 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 NEC PC-9801, 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[8].

Kompatybilność na poziomie ABI[edytuj | edytuj kod]

W trybie zgodności 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 (natywne ABI).

System Portów[edytuj | edytuj kod]

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[edytuj | edytuj kod]

Ze względu na swą wydajność i niezawodność często stosowany jako serwer lub zapora sieciowa. FreeBSD używany jest przez m.in. Yahoo!, Yandex, Apache.org, Netcraft[10].

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 OS X oraz 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[edytuj | edytuj kod]

Przypisy

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]