man, uite povestea este cam asa, mi-a explicat-o si mie un programator de kernel linux exista doua tipuri de kernel, dinamic si monolitic (a nu se confunda ce discut aici cu compilarea in kernel a driverelor sau ca module la kernelul de linux, au acelasi termen dar este altceva) un kernel dinamic este bazat pe un microkernel care este incarcat la inceput si peste el este incarcat kernelul propriuzis. fiecare procesor are trei moduri de executie, 1 mod kernel, 2 mod utilizator si 3 nefolosit. mikrokernelul ruleaza in mod 1 pe cand kernelul ruleaza in mod 2. teoretic astfel de kernel este cel mai performant, dar alocarea si realocarea ontinua a spatiului de memorie si adreselor de executie la trecerea de la un mod la altul in face nu asa de performant. o astfel de arhitectura iti permite absolut totul in proces, pana si driverele, ceea ce se nmeste threaduri la nivel de kernel. daca un driver ti s-a infipt nu ai kernel panic sau sistemul blocat ca la linux, il killarsti si pleci mai departe. procesele (threadurile) din kernelul propriuzis sunt in spatiul utilizator si nu au nimic de-a face cu threadurile din microkernel. de fapt icrokenlul este un server si kernelul este un client al microkernelului si intercationeaza intre ele printr-o tehnologie client server. sper sa fi intele ceva pana aici. astfel de sisteme exista deja si sunt MAC OS X, Solaris 2.x si HURD. de cealalta parte avem Linuxul cu kernel monolitic (a se citi dintr-o bucata) care se incarca tot odata si este executat in spatiul uilizator, iar cand kernelul trece procsorul in mod 1 sa excute cod de drivere scrise prost sau care dau erori se poate produce chiar inghetarea sistemului. cu kernel 2.5 se incearca si chiar au reusit threaduri native la nivel de kernel pe modelul monolitic, dar alocarea memoriei si a spatiului de adresare este o chstie e finete si trebuie mult tstat ca este foarte complex. Linus insista pe modelul asta ca este cel mai performant la momentul actual, chiar daca teoretic celalalt este mai kool. cam ata este diferenta intre HURD si Linux Kernel, primul este bazat pe arhitectura microkernel si microcod, iar al doilea est monolitic, dintr-o bucata, aici intrand si *BSD si chiar si AIX. sper s fi inteles ceva din ce am scris eu aici, tipului i- luat o ora sa-mi explice chestia, dar mi-a explicat-o beton.
--- Pentru dezabonare, trimiteti mail la [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'. REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
