FreeBSD
Gnome 2.20 bežící na FreeBSD
Web www.freebsd.org
Vyvíjí The FreeBSD Project
Rodina OS BSD
Druh Open source
Aktuální verze 11.0 / 10. října 2016
Správce balíčků pkg
Podporované platformy alpha, AMD64, ARM, i386, IA-64, MIPS, PC-98, PowerPC, SPARC64
Typ jádra Monolitický / modulární
Licence BSD
Stav Aktivní
FreeBSD je svobodný unixový operační systém, který vznikl z BSD verze Unixu vyvinutého na Kalifornské Univerzitě v Berkeley. Běží na IBM PC kompatibilních systémech rodiny Intel x86 (IA-32), DEC Alpha, SUN UltraSPARC, Itanium (IA-64), AMD64, PowerPC, ARM, MIPS, NEC PC-98 a Microsoft Xbox. Podpora dalších architektur je v různém stádiu vývoje.

FreeBSD je vyvíjen jako kompletní operační systém – jádro, ovladače zařízení a všechny uživatelské utility jako například shell jsou vyvíjeny ve stejném stromu systému pro správu verzí zdrojových kódů (CVS). V tomto se odlišuje od Linuxu, ve kterém je typicky každý program vyvíjen jinou skupinou vývojářů, a ty jsou poté vydány jako kompletní operační systém jinými vývojáři ve formě Linuxových distribucí.

FreeBSD je obecně pokládán za poměrně spolehlivý a robustní operační systém a z operačních systémů, které hlásí uptime (doba, po kterou operační systém běží) je FreeBSD jedním z nejčastěji se vyskytujících svobodných operačních systémů v seznamu 50 web serverů s největším uptimem (uptime na některých operačních systémech, jako například některých verzí Linuxu nemůže být vypočítán) společnosti NetCraft.

Historie a vývoj
Vývoj FreeBSD odstartoval roku 1993 převzetím zdrojových kódů 386BSD poté, co nebyl dlouho vyvíjen. Jakkoliv – díky obavám o legalitu všech zdrojových kódů použitých v 386BSD a následující soudní při mezi Novellem (tehdejším vlastníkem Copyrightu UNIX) a Kalifornskou Univerzitou v Berkeley ve FreeBSD došlo k přepsání většiny systému ve verzi FreeBSD 2.0 v lednu roku 1995 s použitím zdrojových kódů verze 4.4BSD-Lite Kalifornské univerzity v Berkeley. FreeBSD manuál obsahuje více historických informací o zrození FreeBSD.

Pravděpodobně nejvýznamnějším zlepšením FreeBSD 2.0 bylo obnovení originálního Mach systému virtuální paměti, který byl optimalizován pro práci pod vysokým zatížením a vytvoření systému FreeBSD portů, který učinil stahování, sestavení a instalaci softwaru třetích stran velmi jednoduché. Na FreeBSD běží některé extrémně úspěšné stránky, jako cdrom.com (obrovský archiv softwaru), Hotmail a Yahoo!.

FreeBSD 3.0 přineslo mnoho změn: přechod na ELF formát binárek, započetí podpory SMP systémů a 64bitové Alpha platformy. Toho času byla větev 3.X několikrát kritizována, protože mnoho změn nebylo evidentně prospěšných a postihly výkon, nicméně byl to potřebný krok pro vyvinutí toho, co se mělo stát velmi úspěšnou větví 4.X.

Na počátku FreeBSD použilo jako své logo FreeBSD démona, avšak roku 2005 byla uspořádána soutěž o nové logo. 8. října 2005 soutěž skončila a návrh Antona K. Gurala byl zvolen jako nové FreeBSD logo. FreeBSD démon však nadále zůstává maskotem projektu FreeBSD.

FreeBSD 5 vývoj a změny
Poslední a finální vydání FreeBSD z větve 5-STABLE je 5.5 a bylo vydáno v květnu 2006. Vývojáři FreeBSD spravují vždy (nejméně) dvě simultánně vyvíjené větve. -STABLE větev FreeBSD je vytvářena pro každé hlavní číslo verze, ze kterého vydání vychází každých 4 – 6 měsíců. Poslední 4-STABLE vydání FreeBSD je 4.11, které je poslední z vydání 4-STABLE. První 5-STABLE vydání bylo 5.3 (5.0 až 5.2.1 byly vyjmuty z -CURRENT). První 6-STABLE vydání bylo 6.0. Ve vývojové větvi -CURRENT je nyní 7.0-CURRENT, které obsahuje agresivní nové vlastnosti kernelu a userspace. Je-li vlastnost dostatečně STABLE a vyspělá, je eventuálně zpětně portována („MFC“ – „Merge from CURRENT“ ve slangu vývojářů FreeBSD) do -STABLE verze. Vývojový model FreeBSD je podrobně popsán v článku Niklase Saerse A project model for the FreeBSD Project.

Velkým rozdílem ve FreeBSD 5 byla velká změna v nízkoúrovňovém mechanismu kernelových zámků pro zajištění lepší podpory symetrického multiprocessingu (SMP), uvolňující kernel z MP zámku, někdy označovaného jako „Giant Lock“. Nyní je možné spouštět současně více než jeden proces v kernel módu.

Další hlavní změny zahrnují m:n řešení vláken zvané KSE (Kernel Scheduled Entities), které je nyní defaultní knihovnou vláken (pthreads) počínaje verzí 5.3 (první 5-STABLE vydání). Terminologie m:n, kde m a n jsou malá celá čísla znamená, že m vláknům v uživatelském prostoru odpovídá n vláken v kernelovém prostoru. Mnoho nových vlastností se vztahuje k bezpečnosti. Robert Watson odstartoval projekt TrustedBSD za účelem přidání bezpečnostní funkcionality do FreeBSD. Rozšiřitelný framework mandatorní kontroly přístupu (TrustedBSD MAC framework), Access Control Listy (ACL) a nový souborový systém UFS2 pochází z TrustedBSD. Některá funkcionalita TrustedBSD byla stejně tak integrována i do operačních systémů OpenBSD a NetBSD.

FreeBSD také významně změnilo vrstvu blokového vstupu/výstupu představením GEOM modulárního transformačního frameworku diskových I/O požadavků přispěného Poulem-Henningem Kampem. GEOM umožňuje jednoduché vytváření mnoha druhů funkcionality, jako například zrcadlení (gmirror) a šifrování (gbde). Poslední vydání FreeBSD 5.4 potvrdilo pověst větve FreeBSD 5.x jako vysoce stabilního a dobře sloužícího vydání.

FreeBSD 6 a 7
FreeBSD 6.1 bylo vydáno 8. května 2006 a 7.0-RELEASE bylo vydáno 27. února. Tyto verze pokračují v pracích na SMP a optimalizacích práce s vlákny, stejně jako na další práci v oblastech pokročilé 802.11 funkcionality a auditování bezpečnostních událostí TrustedBSD. Primární klady tohoto vydání zahrnují odstranění „Giant lock“ z VFS, přidání knihovny libthr implementující 1:1 threading a přidání BSM zvaného OpenBSM vytvořeného TrustedBSD projektem, které je silně založeno na implementaci BSM z Open Source Darwina společnosti Apple, který byl vydán pod BSD licencí.

Licence
Jako jeho sesterské operační systémy je FreeBSD šířen za podmínek různých licencí. Kompletní kód kernelu a většina nově vytvářeného kódu je vydávána za podmínek dvouklauzulové BSD licence, která umožňuje každému použít a redistribuovat FreeBSD podle potřeby. Jsou zde rovněž části pod GPL, LGPL, ISC, pivní licencí, tříklauzulovou BSD licencí a čtyřklauzulovou BSD licencí.

Rovněž jsou dostupné binární BLOBy pro specifickou funkcionalitu, jako Atheros HAL pro bezdrátovou funkcionalitu a výhradně binární nástroj pro AAC RAIDy Adaptecu.

Kompatibilita s Linuxem
FreeBSD poskytuje binární kompatibilitu s některými dalšími Unixovými operačními systémy včetně Linuxu. Toto se zdůvodnuje tím, že by FreeBSD mělo být schopné spouštět aplikace vyvíjené pro Linux, které jsou distribuovány pouze v binární formě a proto nemohou být portovány do FreeBSD bez vůle těch, kteří mají kontrolu nad zdrojovým kódem. Toto se týká především komerčních aplikací.

Ve stručnosti to umožňuje uživatelům FreeBSD spouštět většinu aplikací, které jsou distribuovány pouze jako Linuxové binárky. V porovnání s obrovským množstvím nativních aplikací dostupných pro FreeBSD pomocí kolekce portů jsou tyto aplikace v menšině. Aplikace používané pod vrstvou kompatibility s Linuxem zahrnují Linuxovou verzi Adobe Acrobatu, RealPlayeru, VMwaru, Oraclu, Mathematicy, Matlabu, WordPerfectu, Skypu, Dooma 3, Quaka 4, série Unreal Tournament, prohlížeče Firefox atd. Obecně se zdá, že zde není žádná ztráta výkonu, která by stála za zmínku při spuštění Linuxových binárek oproti nativním FreeBSD binárkám.

Přestože existuje mnoho aplikací, které pod vrstvou kompatibility pracují bezproblémově, je nutno poznamenat, že tato vrstva není kompletní, tedy některé Linuxové binárky mohou být nepoužitelné či s omezenou funkčností, pravděpodobně díky tomu, že jsou podporována pouze systémová volání Linuxového kernelu verze 2.6.16 a jen 32bitové aplikace. V rámci Google Summer of Code 2006 byl akceptován, a úspěšně dokončen, projekt mající za cíl aktualizovat vrstvu kompatibility a chybějící systémová volání.FreeBSD 7.0 a vyšší podporuje Linuxovou kompatibilitu s jádrem 2.6.16, tudíž je možné použít novejší Linuxove distribuce pro běh Linux aplikací.

Pro většinu vědeckých aplikací funguje vrstva kompatibility s Linuxem korektně; aplikace jako nmrpipe, ccp, Mathematica a Matlab pracují podle očekávání.

Odvozeniny
Mnoho projektů je přímo či nepřímo založených na FreeBSD, vestavěnými zařízeními jako například routery společnosti Juniper Networks a operačním systémem použitým ve firewallech společnosti Nokia počínaje a částmi jiných operačních systémů včetně Linuxu a RTOS VxWorks konče. Darwin, jádro Mac OS X společnosti Apple silně těží z FreeBSD, včetně jeho virtuálního souborového systému, síťového zásobníku a komponent jeho uživatelského prostoru. Apple pokračuje v integraci nového kódu z a přispívání nových změn zpět do FreeBSD. Open Source Open Darwin, původně odvozený z kódové základny Applu, ale nyní oddělený projekt rovněž obsahuje mnoho kódu z FreeBSD. Navíc existuje několik operačních systémů forknutých z, nebo založených na FreeBSD včetně PC-BSD a DesktopBSD, které zahrnují změny zacílené na domácí uživatele a pracovní stanice; distribuce FreeSBIE a Live CD Frenzy; zapouzdřené firewally m0n0wall a pfSense; a DragonFly BSD, významný fork z FreeBSD 4.8 zaměřující se na odlišnou strategii synchronizace více procesorů, než je ta ve FreeBSD a vývoj některých mikrokernelových vlastností.

TrustedBSD
Projekt TrustedBSD započatý Robertem Watsonem poskytuje sadu rozšíření operačního systému FreeBSD zaměřenou na bezpečnost. Cílem tohoto projektu je implementovat koncepty ze společných kritérií pro vyhodnocování bezpečnosti informačních technologií a oranžové knihy. Vývoj projektu stále probíhá a mnoho z těchto bezpečnostních rozšíření bylo integrováno do FreeBSD 5.x, 6.x a nyní aktuální vývojové větve 7.x.

Hlavními cíli TrustedBSD je práce na Access Control Listech, auditování událostí, … a mandatorní kontrole přístupu. Součástí TrustedBSD projektu je i port Flask/TE implementace NSA v SELinuxu. Další práce v poslední době zahrnuje vývoj OpenBSM – Open Source implementace API Basic Security Modulů (BSM) a souborového formátu pro audit logy, které podporují rozšířený systém bezpečnostního auditu, který bude dodáván jako část FreeBSD 6.2.

Zatímco většina komponent TrustedBSD projektu je eventuálně přidána do hlavních zdrojů FreeBSD, není to jejich jediným cílem. Mnoho vlastností si, jakmile jsou dostatečně vyspělé, najde cestu do OpenBSD a Darwina společnosti Apple Computer.