cwbe coordinatez:
101
63533
649240
652683
654249

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::2
total children::1
show[ 2 | 3] flat


k prvej, "ideovej" casti tvojho prispevku sa vyjadrim, nakolko mam k nemu vyhrady, ale neskor, pretoze niesu az take vyznamne.

A k tomu mikrokernelu: mikrokernel mach je fakt velmi maly. v podstate vie iba multitasking a zaklady spravy pamate (strankovanie nechava na zbytku systemu). Rozdiel medzi modularnym linuxom a hurdom je asi takyto: Z hurdu je vsetko user-space, a nie kernel-space ako linuxove moduly. V praxi to prinasa take vyhody, ze mozes napisat translator (ak nevies, co to je, tak mi to oznam, a dovysvetlim), ktory bude vyuzivat user-space normalne kniznice a poskytovat adresar s podadresarmi a subormi. Teoreticky je mozne "primountovat" napriklad mysql databazu na adresar a vidiet databazky ako adresare a tabulky ako subory na citanie. Praktickejsi je uz existujuci priklad transparentneho ftp primountovaneho na adresar.

A na klustre su mikrokernely fakt uzasne (vraj) -- ale mach asi nie. Mach je prezita technologia, a preto sa planuje nahradit mikrokernel gnu os kernelom l4. rychlost je vlastne jedina vyhrada, ktoru k gnu os mam. Podla mojich informaci je pekny -- aspon na vzdelavanie -- projektik je amoeba. znovu: ak ta zaujima, zareaguj...




000001010006353300649240006526830065424901024373
mandos
 mandos      26.07.2004 - 23:59:03 , level: 1, UP   NEW
este by som upresnil ze moduly v linuxe su len 'akoze' moduly kedze nejde o nic ine ako obycajne dynamicke linkovanie (obohatrene o plne dynamicke tabulky funkcii v pripade driverov co umoznuje zavadzat aj novoskompilovane moduly a autdetekciu zariadeni atd.) - modprobe (resp. kmod) je vp odstate ako dlopen() pre kernel - architektura je vsal plne monolitna - cely kernel tvori jednu binarku v jednom adresovom pristore - ked sa nad tym clovek zamysli je to pre rok 2004 fakt dost brain-damaged :)) - avsak funguej to pomerne dobre pretoze avcsina systemov nejak akutne nepotrebuje velku flexibilitu/skalovatelnost takze si vystacim s tym ze si skomplikujem drivery co potregbujem a hotovo, zaroven tym ze je to vsetko do seba zakompilovane je lahke optimalizovat na vykon (presne pripad linuxu - vzdy bol optimalizovany na rychlost -a je to aj vidno)

co sa tyka mikrokernelov su jednoducho o modularie a dobre definovanych rozhraniach - podobne ako cele oop a komponentove technologie a vselijake ine buzzwordy :)) - da sa povedat ze mikrokernel je vtedy mikro ak obsahuje spravu/definicu (globalneho) namespace, rutiny umoznujuce komunikaciu a synchronizaciu medzi ostatnymi modulmi/servermi/cimkolvek, nevyhnutne inicializacne rutiny a nejaky ten memory management aby to cele malo kde bezat (keby sme posledne vynechali mozno by sa to dalo nazvat nanokernel :) - kdesi som take videl, cize veci, ktore su nevyhnutne na to aby sa dal robit nejaky modularny/distribuovany system, a cele je to zabalene v nejakom rozumonom ABI

vlastne vobec neviem preco tak dlho trvalo kym sa zacali robit nejake normalne mikrokernely - a preco sa vo velkej skale na PC a serveroch v podstate nepouzivaju (asi najmikrokerneloidnejsi bezne pouzivany OS su windows NT - ale ani to nie je celkom ono), v mensinovych (vedeckych, priemyselnych) aplikaciach sa pouzivaju bezne (spominana amoeba, qnx, tron) - ked si to vazmame do dosledkov monolitny kernel je obycajny hack - situacia kedy poterbujem rychlo nakodit nejaky nie velmi zlozity software takze kaslem na design a bleskovo to spravim ako pride (poznate to :) ), takze seriozni programatori by vlastne nikdy ziadny monolitny kernel nemali z klavesnice vypustit :)

mozno je to kvoli mytu o pomalosti ale myslim ze to nebude az take zle ak sa to spari vtipnym sposobom - rozhodujuci bottleneck moze byt prave messaging, kedze jednotlive komponenty medzi sebou v kuse komunikuju - toto bol problem mozno v roku 1980 ale dnes ma uz aj kavovar skvelu MMU, takze akykolvek lokalny messaging moze byt pri dobrej implementacii vecou odovzdania adresy a namapovania prislusnych stranok (ono to takto spominane moderne os uz aj robia samozrejme), len tak pre zaujimavost - v skvelom a fakt eychlom monolitnom linuxe sa napr. pri posielani dat na siet data raz zbytocne kopiruju (z user-space do nejkeho kernel network bufferu - ak to uz napravili v 2.6 opravte ma nepozeral som - ale pochybujem), cize dobre spraveny mikrokernel ho musi tromfnut, messaging po siet je potom uz ina story a tam su vsetci podobne pomali

00000101000635330064924000652683006542490102437301030071
maniac
 maniac      29.07.2004 - 15:05:27 , level: 2, UP   NEW
k tomu kopirovaniu - ako inac by sa dali poslat data na sietovku ako ze ich pretiahnes cez kernel? priamo by kernel posielal na sietovku z userspejsovej oblasti?