kvp#25
Eloszor is hatalmas nagy marhasag hogy a windows nt kernelek nincsennek felkeszitve a tobb cpu magra. Mar az elso nt, a 3.51-es is eleve tobb cpu-ra keszult, ezt a teljes rendszer azota is tamogatja. Minden egyes i/o kerelem mehet kulon cpu-n, csak a kritikus reszek (amik a hardvert kezelik) futnak keszulekenkent egy-egy szalon. Az egyetlen alrendszer ami meg nem volt tobbszalu, az a gdi volt ami a grafikaert felel mivel ennek mukodese nem valtozott a windows 2.0 ota. Ezt a vista-ban korrigaltak.
A linux eredetileg egy szalon tudott csak dolgozni, de a fo kernel lock mar kezd eltunni, egyre tobb modul kepes kernelszintu tobbszalu mukodesre, bar eleg kaotikus a megoszlas. Van olyan resz ami tranzakcio szintu, mint windows nt sorozat, van ami modul szintu mint a macos, van ami meg mindig globalis lock-al megy, mint a regi linux-okban.
A solaris mindig is tobbszalu volt, csakugy mint a vms vagy winnt sorozat, tehat itt sem volt gond, sot meg jobban is skalazodik mint a tobbseg.
A macos-x jelenleg nem igazan tobbszalu, alrendszerenkent van egy-egy lock, tehat mondjuk a lemez es a halozati muveletek fuggetlenek, de ket halokartya meghajtoprogramja mar nem tud parhuzamosan dolgozni.
"Nem értem miért, vagy úgy oda microkernelekért. Részek közötti kommunikáción többet bukhatnál sebbeségben."
A mikrokernel csak azert jo, mert bar lassabb de stabilabb es egy bena driver programozo nehezebben szurja el az egesz rendszert. Mindezek melett sokkal konyebb es kenyelmesebb ugy driver-t fejleszteni, ha programozoi kornyezetben nincs kulonbseg a felhasznaloi programok es a driver-ek kozott. Egyebkent a sajat fejlesztesu mikrokernelem pl. egymagos egyszalu lett, mert ezt volt a legkonnyebb leprogramozni. A tobbszalusag nem a mikro/monolitikus architektura kerdese, hanem az, hogy milyen finom a kernel objektumok hozzaferesvedelme (lock-olasa). A lehetseges modok: minden szal egy ponton szinkronizal (kernel lock), minden szal a modulhatarokon szinkronizal (module or coarse grained lock), vagy minden szal az objektumhatarokon szinkronizal. (fine grained lock) Mindel fejlettebb egy rendszer annal bonyolultabb megirni. A legegyszerubb egy cpu-s, egy szalas megoldas osszesen ket assembly utasitas (cli/sti), a legbonyolultabb megoldas pedig komoly egyseges architekturat es kulon szinkronizacios modult igenyel. (winnt i/o request packets)