For faster navigation, this Iframe is preloading the Wikiwand page for FreeBSD.

FreeBSD

Z Wikipedii, wolnej encyklopedii

FreeBSD
Rodzina systemów operacyjnych BSD
Ilustracja

Interfejs użytkownika
Producent

The FreeBSD Project

Architektura

IA-32, AMD64, ARM, PowerPC, RISC-V

Pierwsze wydanie

1.0 (wydana 1 listopada 1993)[1]

Aktualna wersja

12.3[2][3], 13.0[4], 13.1[5]
(16 maja 2022[5])

Jądro

monolityczne

Środowisko pracy

Domyślnie środowisko tekstowe, dostępne graficzne na bazie XWindow oraz Wayland

Licencja

BSD

Typ pakietów

pkg

FreeBSD w serwisie distrowatch.com
Strona internetowa

FreeBSDsystem operacyjny z rodziny Unix. Oparty na BSD, gałęzi Uniksa stworzonej przez Computer Systems Research Group (CSRG) na Uniwersytecie Kalifornijskim w Berkeley.

Pierwsza wersja wydana została 30 listopada 1993[1]. Najnowszą jest wydana w kwietniu 2021 wersja 13.0[4].

Historia

Projekt podobnie jak NetBSD narodził się jako kontynuacja systemu 386BSD, pierwszej próby przeniesienia Uniksa BSD na architekturę Intel[1]. Inicjatorami projektu początkowo znanego jako Unofficial 386BSD Patchkit byli Nate Williams, Rod Grimes i Jordan Hubbard[1].

Nazwę FreeBSD wymyślił David Greenman[6] z firmy Walnut Creek CDROM, która od początku wspierała przedsięwzięcie[1]. Maskotką FreeBSD jest daemon, jednak od 2005 roku oficjalnie projekt posługuje się nowym logo[7]. Oficjalnym hasłem jest The power to serve.

Pierwsza wersja systemu ukazała się 30 listopada 1993[1]. Do wersji 2.0 bazowała na systemie 4.3BSD, kolejne wersje opierały się na 4.4BSD Lite2[1], obu stworzonych przez CSRG. 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.

Data Wersja Opis
19 czerwca 1993 rozpoczęcie projektu
30 listopada 1993 1.0[1] 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 znaczne zmiany w obsłudze wieloprocesowości, nowe architektury sprzętowe: amd64 (tj. x86-64), IA-64, UltraSPARC
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 Nowy system plików ZFS, gjournal, inicjator iSCSI, obsługa protokołu SCTP, wsparcie dla TCP Segmentation Offload i Large Receive Offload w sterownikach części kart sieciowych, nowy alokator pamięci (jemalloc), nowa architektura sprzętowa: ARM[8]
28 listopada 2008 6.4
5 stycznia 2009 7.1 wprowadzono m.in. obsługę dla DTrace w jądrze systemu, możliwość przypisywania procesów do poszczególnych procesorów oraz nową implementacje Network Lock Managera. Domyślnym dyspozytorem na platformach tier1 stał się ULE[9]
4 maja 2009 7.2 ulepszenie obsługi platformy UltraSPARC, 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[10]
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.
20 stycznia 2014 10.0 clang zastępuje GCC na wspieranych platformach jako domyślny kompilator, unbound zastępuje BIND
14 listopada 2014 10.1 dodanie vt i autofs, wsparcie dla wirtualizacji bhyve
14 sierpnia 2015 10.2 usprawnienia dla ZFS

(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 – nie tylko jądra – wraz z historią (istnieje możliwość pobrania najstarszych wersji) dostępne są w repozytorium git[11][12] (do 2021 roku projekt korzystał ze zcentralizowanych repozytoriów Subversion a wcześniej do 2008 z CVS[13]). System rozprowadzany na permisywnej, zmodyfikowanej, 2-klauzulowej licencji BSD pozwalającej na integrację kodu do projektów zamkniętych.

Nad rozwojem projektu czuwa demokratycznie wybierana grupa programistów – tzw. Core Team, który nadzoruje rozwój projektu, a także rozsądza sporne kwestie wśród oficjalnych programistów posiadających prawo do bezpośredniej modyfikacji źródeł (tzw. committers).

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ó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[a], 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 ówcześnie architektury sprzętowej i386. Z czasem jednak zaczęły się ukazywać także wersje dla architektur NEC PC-9801[b], DEC Alpha[c], IA-64 Itanium[d], Sun UltraSPARC[e], AMD64, MIPS[e], ARM, PowerPC i RISC-V[15].

Wsparcie projektu podzielone jest na poziomy. Architektury tzw. tier1 otrzymują wsparcie zespołu bezpieczeństwa, pełne wydania i binarne aktualizacje (bez potrzeby kompilacji), prekompilowane pakiety. Poziom wsparcia zapewnia gotowość wystarczającą dla środowisk produkcyjnych[16]. W wersji 12.2 w tier1 znajdują się następujące architektury: amd64 i i386[15]. Architektury tier2 uznawane są za rozwojowe lub niszowe i nie mają bieżącego wsparcia, jednak ich użytkownicy są w stanie zbudować sobie środowisko ze źródeł zarówno systemu jak i portów. Eksperymentalny poziom tier3 oznacza, że projekt nie daje gwarancji, że źródła będą dla nich kompilowalne[16].

Kompatybilność ABI

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 i pakietów

 Osobny artykuł: Porty FreeBSD.

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 ok. 33 tysiące[17][f] programów przystosowanych do działania we FreeBSD. Na bazie portów udostępniane są prekompilowane pakiety binarne z domyślnymi opcjami dla aktualnie obsługiwanych wersji i architektur sprzętowych FreeBSD, którym projekt zapewnia wsparcie na poziomie tier1[16]. Zalety portów przyczyniły się do tego, że stały się bazą lub zainspirowały rozwój zbliżonych rozwiązań wykorzystywanych w pokrewnych systemach OpenBSD, NetBSD (pkgsrc) oraz kilku dystrybucji GNU/Linuksa (więcej w Kolekcja portów).

Zastosowania

FreeBSD z zainstalowanym KDE
FreeBSD z zainstalowanym KDE

Ze względu na swą wydajność i niezawodność często stosowany jako serwer internetowy lub zapora sieciowa. FreeBSD używany jest m.in. przez Apache.org, Netflix[18], FlightAware[19], Yahoo!, Yandex, Netcraft[20], Sony Playstation 4[21], WhatsApp[22].

Na FreeBSD działa wiele aplikacji znanych z dystrybucji linuksowych – m.in. Open Office, KDE. System jest 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, 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. PlayStation 4 działa na bazie systemu OrbisOS opartego na FreeBSD[21].

Ważniejsze narzędzia i technologie

Zobacz też

Uwagi

  1. ZFS w wersji 6 został udostępniony od wersji FreeBSD 7, wersja 13 ZFS od FreeBSD 8, wersja 14 od FreeBSD 8.1, wersja 28 została oddana do testów w 2010[14].
  2. Architektura NEC PC-9801 została zarzucona w wersji 12.
  3. Nierozwijana przez producenta architektura DEC Alpha jest nieobsługiwana od wersji 7[15].
  4. Architektura Itanium firmy Intel został uznana za przestarzałą w wersji 11[15].
  5. a b Zarzucona począwszy od wersji 14[15].
  6. Liczba portów jest zmienna w czasie, bowiem zmienia się wraz z dodawaniem nowych oraz usuwaniem przestarzałych. Projekt nie publikuje obecnie (wrzesień 2021) aktualnych danych, można jednak pozyskać samodzielnie w zainstalowanym systemie poleceniem: $ wc -l /usr/ports/INDEX

Przypisy

  1. a b c d e f g h 1.3. About the FreeBSD Project. [dostęp 2021-04-08].
  2. The FreeBSD Project | FreeBSD 12.3 Release Process (ang.). [dostęp 2022-02-10].
  3. Release Information, www.freebsd.org [dostęp 2020-05-15].
  4. a b The FreeBSD Project | FreeBSD 13.0 Release Process (ang.). [dostęp 2021-04-16].
  5. a b The FreeBSD Project | FreeBSD 13.1 Release Process (ang.). [dostęp 2022-05-18].
  6. The FreeBSD Project | FreeBSD Archives: Re: "386BSD" trademark (fwd) (ang.). 1993-06-19. [dostęp 2021-04-08].
  7. New FreeBSD Logo Chosen – OSnews (ang.). [dostęp 2021-04-07].
  8. FreeBSD 7.0 Release Notes.
  9. FreeBSD 7.1 Release Notes.
  10. FreeBSD 8.0-RELEASE Announcement (ang.). [dostęp 2021-04-17].
  11. The FreeBSD Project | FreeBSD News Flash (ang.). [dostęp 2021-04-08]. Cytat: 19 December: FreeBSD src repo to be converted to git. Please see the git wiki for details.
  12. git - FreeBSD Wiki. [dostęp 2021-04-08].
  13. [FreeBSD-Announce] FreeBSD.org begins switch to Subversion. [dostęp 2021-04-08].
  14. ZFS v28 is ready for wider testing, lists.freebsd.org [dostęp 2017-11-23].
  15. a b c d e The FreeBSD Project | Platforms (ang.). [dostęp 2021-04-07].
  16. a b c Committer's Guide (ang.). [dostęp 2021-04-07].
  17. About FreeBSD Ports. [dostęp 2021-09-28]. [zarchiwizowane z tego adresu (2020-12-26)].
  18. Netflix: Open Connect Appliance Deployment Guide. [dostęp 2012-05-29].
  19. FlightAware: FreeBSD High Capacity Server Performance Tuning ✈ FlightAware (ang.).
  20. FreeBSD: FreeBSD Handbook (ang.). [dostęp 2012-03-14].
  21. a b Jack Clark: Sony's new PlayStation 4 and open source FreeBSD: The TRUTH (ang.). [dostęp 2013-11-16].
  22. WhatsApp: 1 million is so 2011 (ang.). [dostęp 2014-08-27].

Linki zewnętrzne

{{bottomLinkPreText}} {{bottomLinkText}}
FreeBSD
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.