FreeBSD

Z Multimediaexpo.cz

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, 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 - kernel, 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ěží)[1] 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.[2] Dlouhý uptime naznačuje spolehlivost a stabilitu, neboť žádný update jádra systému nebyl považován za natolik důležitý, aby jej bylo nutné aplikovat.

Obsah

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

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. Zdůvodnění tohoto je obecně přisuzováno tomu, ž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í StarOffice, Linuxovou verzi Netscapu, Adobe Acrobatu, RealPlayeru, VMwaru, Oraclu, WordPerfectu, Skypu, Dooma 3, Quaka 4, série Unreal Tournament, prohlížeče SeaMonkey 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ě, mělo by být poznamenáno, ž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 tato vrstva kompatibility podporuje pouze systémová volání historické verze Linuxového kernelu 2.4.2. Jedním příkladem tohoto je Cedega, produkt společnosti TransGaming určený ke spouštění her určených pro Microsoft Windows na Linuxu. V roce 2006 jeho použití činilo problémy díky nekompletní vrstvě kompatibility. Byl zde však omezený úspěch v užívání ke spuštění her na FreeBSD [2]. Projekt v rámci Google Summer of Code 2006 mající za cíl aktualizovat vrstvu kompatibility a chybějící systémová volání byl akceptován [3].

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ě jejich 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.

Významní vývojáři

Významní ex-vývojáři

Související články

Literatura

Česky:

Anglicky:

Reference

  1. http://uptime.netcraft.com/up/accuracy.html#whichos
  2. http://uptime.netcraft.com/up/today/top.avg.html

Externí odkazy

Slovensky:

  • FreeBSD - Články o FreeBSD z roku 2004 ve slovenštině publikované i v PC Revue.

Anglicky:


Operační systémy
BSD
FreeBSD • NetBSD • OpenBSD • DragonFly BSD
Linux (distribuce)
Debian • Fedora • Gentoo • Knoppix • Mandriva • Red Hat • Slackware • SUSE • Ubuntu • další...
Mac OS
System 6 • System 7 • Mac OS 8 • Mac OS 9 • Mac OS X
Windows pro DOS
1.0 • 2.0 • 3.0 • 3.1x • Windows 95 • Windows 98 • Windows Me
Windows NT
NT 3.1 • NT 3.5 • NT 3.51 • NT 4.0 • Windows 2000 
Windows XP • Windows Vista • Windows 7 • Windows 8 • Windows 8.1 • Windows 10 • Windows 11
Windows NT Server
Server 2003 • Server 2008 • Server 2008 R2 • Server 2012 • Server 2012 R2
Mobilní telefony a PDA
Android • BlackBerry OS • iOS • Maemo • PalmOS • webOS • Symbian OS • Windows CE • Windows Mobile
OS/2
OS/2 2.1 • OS/2 Warp 3.0 • OS/2 Warp 4.0 • OS/2 Aurora 4.5 • eComStation • ArcaOS
DOS
MS-DOS • PC-DOS • DR-DOS • FreeDOS • PTS-DOS
Další
NeXTSTEP • BeOS • ZETA • Haiku • Atari TOS • GeoWorks Ensemble • UNIX • AmigaOS • QNX • Solaris 
OpenVMSSyllableReactOS • Multics • Plan 9 from Bell Labs