Nekdo tu nakousnul FreeBSD, tak jsem sepsal par fundamentalnich projektovych rozdilu:
Vyvojari OpenBSD jsou znami tim, ze ho provozuji na svych desktopech a noteboocich. Podpora nektereho HW tak byva casto lepsi, nez u FreeBSD. Cast vyvojaru FreeBSD pouziva Macbooky s OSX, coz je podle meho skromneho nazoru humus a pokrytectvi :D
Na druhou stranu updaty jsou rozhodne u FreeBSD pohodlnejsi. Nechapu proc v tomhle OpenBSD nemodernizuje. Navic FreeBSD ma treba portmaster, ktery neocenitelne pomaha se spravou portu. U OpenBSD je asi zvykem psat si vlastni skripty.
U OpenBSD se taky hodne projevuje filozofie "vsechno nebo nic". Jadro je jedna velka binarka se vsemi existujicimi drivery (zajimave je, ze je cca stejne velka jako binarka linuxu bez driveru :). Konfigurace jadra zde neni urcena k tomu, aby se v ni nekdo vrtal. Na mem jednojadrovem stroji se mi sekala videa. Zjistil jsem, ze je to kvuli nizke frekvenci preruseni planovace, ktera je defaultne 100 hz. Kdyz ji ale clovek v configu jadra prenastavi, je to vec, se kterou zadny vyvojar nepocital. Jaderny mechanismus pro detekci sitovych livelocku jich pak chybne detekuje obrovske mnozstvi.
U OpenBSD portu nejde kustomizovat prakticky nic. Cely system portu slouzi u OpenBSD vlastne jenom jako infrastruktura pro buildovani balicku.
Naproti tomu u FreeBSD je ve vychozim stavu prakticky vsechno rozsekano v jadernych modulech. Moznosti nastaveni u portu jsou obrovske (prakticky ekvivalentni s Gentoo).
Dalsi veci, ktera muze v budoucnu byt u OpenBSD problemem je prehistoricky toolchain. Deset let stare binutils a GCC 4.2. Novejsi GCC nebude, protoze GPLv3 je fuj fuj. FreeBSD preslo na LLVM/Clang, ale to OpenBSD neudela, protoze OpenBSD chce podporovat hromadu obskurnich i historickych platforem (napr. VAX), na ktere LLVM kasle. Argument pro podporu tech platforem je, ze jejich odlisnost pomaha najit bugy v kodu.
Bohuzel z toho vyplyva, ze podpora novych architektur nebude mozna, pokud je nekdo neimplementuje do GCC 4.2.
V neprospech FreeBSD pak hovori absence drtive vetsiny bezpecnostnich featur OpenBSD a absence systematickeho auditovani kodu.
Ve FreeBSD pravdepodobne nikdy nebude defaultne randomizovana pamet, protoze nejake to procento vykonu je pro nektere vyvojare prilis velka cena.
pěkně shrnuto :-)
Právě systém portů Open BSDmi přijde hodně slabí. Tak nějak nechápu proč ho používat :-)
Toho GCC je škoda. Líbila by se podpora raspberry pi. Chápu že nepodporují binární bloby, ale na nenáročný server by to stačilo. A pokud není potřeba grafika ...
Nevíte jestli OpenBSD podporuje TRIM u SSD disků? Nějak jsem to nikde nenašel. U FreeBSD jsem si všiml že to lze nastavit.
Problém není v tom, že to chcípne, ale že tomu významně klesne výkon. Disk se totiž kvůli wear levelingu časem celý přepíše daty a další úpravy pak musí proběhnout stylem: přečti celý velký blok → uprav ho v paměti → zapiš celý blok. Pokud operační systém průběžně disk informuje pomocí příkazu TRIM o nepoužívaných blocích, může je disk vymazat a pak úprava dat znamená jednodušší: zapiš si nová data → stará označ jako stará a časem si je smaž.
Nepomůže mít ani část disku volnou, protože půjde o logickou část. Fyzicky se kvůli opotřebení (zmíněný wear leveling) rovnoměrně píše po celém disku a disk samotný neví, která data jsou pro operační systém ještě důležitá a která už má v souborovém systému označená jako smazaná (= neukazuju je a časem si je můžu přepsat). K předání téhle informace („Tyhle bloky uživatel právě smazal, tak si je promaž i fyzicky a nějak si je využij.“) právě slouží TRIM.
Volne misto ma smysl, aby se zabranilo chcipnuti. Bez volneho mista nemuze wear leveling poradne fungovat. Kdyz disk nema zadny volny logicky blok, pak zjevne nema volny prakticky zadny fyzicky blok a nemuze tak stridat fyzicky blok, kterym reprezentuje nejaky logicky, do ktereho se opakovane zapisuje, takze se bude prepisovat porad stejny fyzicky blok.
S volnym mistem existuji logicke bloky, do kterych se nikdy nezapisovalo a tim padem existuji fyzicke bloky, ktere jsou pouzity pro wear leveling, ktery zabrani predcasnemu chcipnuti.
Ano, teoreticky tomu tak je, ale když se podíváš na tuhle diskusi, tak to není tak jednoznačné:
http://comments.gmane.org/gmane.os.openbsd.misc/222829