FreeBSD


FreeBSD w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

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[5].

Spis treści

Historia | edytuj kod

Podobnie jak NetBSD powstał jako kontynuacja 386BSD Billa i Lynne Jolitz, pierwszej próbą 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 wywodził się z systemu 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.

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

Model dystrybucji | 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ę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]). 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 (tzw. committers).

Rozprowadzany na zmodyfikowanej licencji BSD pozwalającej na integrację kodu do projektów zamkniętych.

Informacje techniczne | 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 we FreeBSD 8, ZFS wersja 14 we FreeBSD 8.1, ZFS wersja 28 została oddana do testów w 2010[14]), 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 (nieobsługiwana od wersji 12), DEC Alpha (nieobsługiwana od wersji 7[15]), IA-64 Itanium (nieobsługiwana od wersji 11[15]), Sun UltraSPARC, AMD64, MIPS[10], 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 | 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 i pakietów | 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 blisko 44 tysięce[17] programów przystosowanych do działania na tym systemie. 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 systemach OpenBSD, NetBSD (pkgsrc) oraz jednej z dystrybucji GNU/Linuksa, Gentoo (portage).

Zastosowania | edytuj kod

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 używanych w dystrybucjach GNU/Linux – 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 | edytuj kod

Zobacz też | edytuj kod

Przypisy | edytuj kod

  1. a b c d e f g h 1.3. About the FreeBSD Project. [dostęp 2021-04-08].
  2. FreeBSD 11.4-RELEASE Notes (ang.). 2020-06-11. [dostęp 2020-06-11].
  3. a b Release Information, www.freebsd.org [dostęp 2020-05-15] .
  4. The FreeBSD Project | FreeBSD 12.2 Release Process (ang.). [dostęp 2021-04-07].
  5. a b c The FreeBSD Project | FreeBSD 13.0 Release Process (ang.). [dostęp 2021-04-16].
  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. a b 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 The FreeBSD Project | Platforms (ang.). [dostęp 2021-04-07].
  16. a b c Committer's Guide (ang.). [dostęp 2021-04-07].
  17. FreshPorts -- The Place For Ports - Most recent commits. [dostęp 2021-04-07].
  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 | edytuj kod

Kontrola autorytatywna (darmowy system operacyjny):
Na podstawie artykułu: "FreeBSD" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy