Re: lug-bg: MicroKernels - malko kritika
- Subject: Re: lug-bg: MicroKernels - malko kritika
- From: stoev@xxxxxxxxxxxxxxxxx (Julian Stoev)
- Date: Mon, 10 Apr 2000 17:07:55 +0900
On Mon, Apr 10, 2000 at 09:28:29AM +0300, Dimitar Jekov wrote:
|>Tova e tehnologia na bydeshteto. Tia shte e efektivna kogato na vsiako
|>dyno ima pone po 8 procesora i se praviat clusteri ot syvmestno
|>raboteshti mashini. Togava tia shte ima syshtestveni predimstva spriamo
|>monolitnia kernel.
|
|Taka se gowori, da. No ne e izkliucheno kogato mashinite stanat
|8-procesorni, da se okage, che sa MK sa dobri machini s 64+ procesora.
|Wigdali sme takiwa raboti.
Ami estestveno vsichko si zavisi ot tova koj, kak i kakvo pravi. Zatova i
pisha, che tazi rabota nikak ne e lesna.
|>Zasega (mashini s edin procesor) tia e po-bavna,
|>po-slozna i iziskva mnogo poveche resursi ot Linux. Izprevarila e
|>vremeto si. Triabva da se priznae, che v tova otnoshenie MS izprevarva
|>Linux strategicheski. NT-to e microkernel syshto.
|
|Naprawo. Nai-MK e Windows NT 3.50 - wigdali li ste kolko bezumno bawno e
|towa neshto? Ottogawa nasam NT "MK" raste i raste, a NT-to stawa wse
|po-byrzo...
A Vie vizdal li ste kak se spravia s tova QNX? Hard real time i si e MK.
Izvodite - po-dolu.
|>I zatova NT-to se
|>predstavia po-dobre pri benchmarks s 8 i nagore procesora.
|
|A dali e zatowa? Wsiako otdelno neshto ot NT-to e optimizirano dokrai, no
|iska i zwerski resursi. 8xCPU 512MB RAM ne e li prosto praga na nasishtane?
Estestveno tova e edna ot vyzmoznite interpretacii. I estestveno ne e
originalno moia... Fakt e, che sys syshtite resursi Linux izostava ot
syotvetnoto NT. Sega se praviat ogromni usilia da se opravi SMP za "medium
range" broj procesori i predpolagam, che 2.4 shte e OK za procesori do
okolo 32. Mezduvremenno obache NT shte moze da "skochi" na sledvashtoto
nivo (i togava shte stane naistina zega za SUN, koito caruva tam sega).
|>Estestveno
|>horata ot linux kernela mnogo prikazvat kak shteli da opraviat SMP-to i
|>vsichko shtialo da byde nared. Tova obache shte e mnogo po-trudno,
|>otkolkoto s edin dobyr microkernel, a Linux ne e takyv.
|
|Bez symnenie. MK se razshiriawa i portwa mnogo po-lesno ot standarten
|kernel. Ponachalo ideata e da raboti na wsichko ot toaster do shuttle -
|HSPDS.
|
|>Ta zatova
|>kazvam, che ako predpolozim, che bydeshteto e na SMP mashinite, to OS na
|>bazata na microkernel shte ima predimstvo pri tiah.
|
|
|A tuk weche moga i malko da se usymnia. Citiram po pamet:
|
|"Mikroiadroto beshe interesna teoretichna razrabotka s edinstwen
|prakticheski efekt shtedroto finansirane na razrabotchicite i. Prekaleno
|chesto sme wigdali neshta, razraboteni na hartia, i negodni za realna
|rabota". - Linus
Kontra primeri za microkerneli - QNX, Be OS (vsichki sa syglasni, che
BeOS e po-pyrgav ot Linux). ;)
Za QNX pyk napravo niama kakvo da govorime - toj e hard real-time.
Izobshto Linus e "golema rabota". Da e ziv i zdrav, ama ne e bog, nito
universalen iztochnik na istina.
|Ima li nugda da pripomniame sadbata na ADA i Multics? I dwete sa (t.e.
|biaha, i slawa bogu!) absoliutno chudesni, izprewarili wremeto si s
|desetiletia. Desetiletiata minaha - niakoi da raboti s Multics? Ili da pishe
|na ADA?
Ami to po podobni prichini ne chak tolkova mnogo hora pishat i C++. Slozno
bilo. Ada-ta e syshtata istoria - mnogo dobyr ezik, no s tolkova mnogo
vyzmoznosti, che ne e praktichen.
|E-gards: Jimmy
*Moiata* teoria: Chesto pri narastvane sloznostta na edna sistema ima
smisyl tia da se razdeli na logicheski elementi po niakakyv nachin i da se
raboti po otdelno. Tova ne e optimalnia nachin, no e *praktichen*. S
narastvane na sistemata neinata obozrimost namaliava. Ako programistite
imaha idealni bezkrajni vyzmoznosti, monolitnite sistemi *vinagi* biha
bili napred i to znachitelno. Obache po podobna logika bi triabvalo da se
chudim zashto X ne e chast ot kernela na UNIX. A ima zashto. S cenata na
takava "neoptimalnost" programiraneto se razdelia na podzadachi s po-iasen
interfeis. Po podobna logika i mrezite sa razdeleni na layeri. Ne che ne
moze da se napravi edno cialo monolitno parche. I ako mozeshe, to sigurno
bi bilo po-byrzo ot segasnata sloesta struktura. Ama usiliata za tova shte
se mnogo goliami. I za tova *prakticheski* se nalaga razdeliane na
podzadachi. Ako tova razdeliane e dobre obmisleno, to ne prechi osobeno
mnogo na byrzodejstvieto. Triabva da se ima predvid, che zadacha kato
scheduling-a na edin SMP e MNOGO slozna. Grafa na sistemata e ogromen i
narastva strashno byrzo s uvelichavane na broia na procesorite. Interesna
analogia e primerno nebostyrgach s mnogo asansiori, koito triabva da
obsluzvat po optimalen nachin natisnatite kopcheta. Zadachata opira do
predskazvane na bydeshteto i obshto vzeto opira do dinamichno programirane
na Bellman (da ne se byrka s SW programirane). Mnogo lesno mogat da se
dadat primeri za absolitnata prekaticheska nereshimost za tochnata
zadacha s poveche ot 3 asansiora (procesora). Syshtestvuvat obache
suboptimalni reshenia s pomoshtta na "group control", koito razbiva
zadachata na po-malki chasti i se opitva da gi reshava po otdelno.
Ima i oshte neshto - ideologiata na UNIX e toj da se systoi ot malki
chasti s iasni (tekstovi) interfejsi mezdu tiah. S tova toi e razlichen
ot drugite sistemi. Prichinata za tova e tochno gornata - optimizirat se
po-malki zadachi, koito imat krajni vyzmoznosti za vzaimodejstvie s
ostanalia sviat. Syshtata logika niama nachin da ne vazi i za kernela sam
po sebe si. Prosto vypros na vreme e toj da stigne do opredelena stepen na
sloznost sled koiato toi shte stane "prakticheski neobozrim" dori i za
hora s dylgi godini opit v tazi oblast. Primer za takiva problemi e
Sendmail i alternativite estestveno sa modulni (qmail, postfix).
Nakratko - da bydem realisti. Linux v momenta se pravi s neshto kato
"otpadychni tehnologii". Mnogo dobri i dokazani v praktikata, no tova ne
sa poslednite dostizenia v operacionnite sistemi. Moze da zvychi
kostunstveno, no moiata prognoza e, che ako Open sistemite ne minat na
microkerneli, v period ot 5 godini te shte zapochnat *seriozno* da
izostavat ot mikrokernelite. Dori ot prostotii kato NT, koito kato
ideologia e mnogo dobro neshto(vse pak praven e ot horata zamislili VMS),
no kato izpylnenie kuca strahotno.
Ima dve vyzmoznosti, kato po-veroiatna e pyrvata.
1. Postepeno Linux da evoliuira do microkernel. Spored men Linus ima tova
predvid.
2. Ako gornoto ne se sluchi, shte se nalozi v edim moment da se napravi
riazyk skok i da se prieme HURD ili neshto podobno.
Moze i da byrkam v neshto. Shte mi e interesno da procheta vsiakakvi mnenia.
--JS
PS. http://www.tuxedo.org/~esr/writings/taoup/chapter1.html More of the
Unix philosophy was implied not by what these elders said but by what
they did and the example Unix itself set. Looking at the whole, we can
abstract the following ideas:
Write small pieces connected by clean interfaces.
Design programs to communicate easily with other programs.
Robustness is the child of transparency and simplicity.
Design for simplicity; add complexity only where you must.
Design for transparency; spend effort early to save effort later.
In interface design, obey the Rule of Least Surprise.
Programmer time is expensive; conserve it in preference to machine time.
Avoid hand-hacking; write programs to write programs when you can.
Use smart data so program logic can be stupid and robust.
Prototype, then polish. Get it working before you optimize it.
Distrust all claims for ``one true way''.
==================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
Otpiswaneto RABOTI !!! : Majordomo@xxxxxxxxxxxxxxxxxx UNSUBSCRIBE LUG-BG
http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora
|