M:N threading ma sve kouzlo... dost problem je, ze vetsina aplikaci predpoklada ze funguje na linuxu (ktery ma prakticky jen 1:1 threading, rychle context switche, rychle/nepresne hodiny atd.) a je na nej optimalizovana. to se tyka i toho M:N threadingu. faktem zustava ze minimalne teoreticky je to proste lepsi architektura nez 1:1/1:N
geom je IO framework, ktery umoznuje napsat "tridu" ktera "neco" (raid, vzdalene disky atd.) dela a pak to pouzivat podobne jako tridy v oop. tj. je ruzne propojovat, stackovat atd.
accept filtry jsou filtry ktere zajisti aby zpracovani nejakeho protokolu bylo optimalni. tj. aby se napr. nestalo, ze kdyz prijde http pozadavek na port 80 aby se nezpracoval takhle:
prijme se GE
context switch do apache
prijme se T....
context switch do apache
ale
prijme se GET....
context switch do apache
a nerekl jsem ze je skoda ze ma linux ovladace a fs... pouze mi to prijed zbytecne a taky bych rekl ze se muze stat ze se nevyvyne treba vfs protoze se nikomu nechce prepisovat vsecky fs aby to pouzivaly atd.
ad hnusnost kodu - zkousel jsem opsat neco z alsy a koukal jsem na driver ide. oboje je dost silene zmatene dle meho nazoru. ve freebsd mam api z driveru ven realizovano pomoci open/close/ioctl/read/write a z driveru na hw pomoci busdma. v linuxu jsem nasel asi tak tisic neokomentovanych funkci ktere "neco" delaly a delaly to bud podobne nebo stejne a nikde nebylo jasne co se kdy vola. aspon mne teda ne. to, ze je ten kod zamoreny #ifdef linus_in_a_bad_mood a zakomentovanym kodem a ruznymy wrappery typu foo(..) {foo1(..);} foo1(..) {foo2(..)} o tom ani nemluve. mimochodem, freebsd ma popsany styl psani kodu, ma linux neco takoveho? (tim nemyslim indentaci a kde jsou zavorky)
dale mi prijde divne ze syscally jsou per-arch. a tusim taky VM je dost MD. urcite je plno veci pouze mym zvykem na bsd styl psani ale faktem zustava ze kdykoliv jsem neco potreboval najit v bsd (libovolnem) tak se mi to hledalo DALEKO lepe nez v linuxu (pamatuju si na syscall read, ktery je v adresari filesystems/ nebo tak...)

