Eccoci qua...
<BR>Parliamo di teoria pura e di pratica grande.
<BR>Vediamo, io sono per i kernel monolitici principalmente. In condizioni particolari mi sta bene anche il modulare a metà... quando si parla per esempio di macchine con una grande facilità di cambiamenti fisici come portatili o palm-pilot (si anche il mio palmare della Compaq ha la slackware ricompilata da me... e Apache e Postgre..).
<BR>Per quanto riguarda l´essenza propria della scelta tra monolitico o modulare io farei una riflessione di tipo diverso.
<BR>Pensiamo al pc di casa, una connessione in dial-up (anche l´adsl che viene attivata e disattivata lo è) e tante periferiche fiche come lo scanner, la stampantina, la quickcam, il joystick per giocare a Quake, la supermega scheda audio per far arrabbiare i vicini...
<BR>Situazione poco critica... sono solo io che utilizzo il pc.. al massimo ci sono una decina di utenti che io conosco benone, al massimo, ma proprio se voglio strafare, creo un account per l´amico che si logga e ci parliamo tramite ytalk... non c´è grossa richiesta di protezione ne dall´esterno verso l´interno, ne dall´interno verso l´esterno... al massimo devo stare attento a non fare qualche cretinata io...
<BR>Quindi, visto che oramai i sistemi casalinghi hanno prestazioni hardware molto elevate, crepi l´avarizia e mettiamo moduli su moduli, non tenendo presente che se devo leggere da disco un file grosso 20 kb impiegherò per i famosissimi tempi di accesso, per i famosissimi passaggi delle istruzioni e dei dati nei registri, e altre boiate che in questo ambito non ce ne frega nulla, impiegherò sempre come dicevo MENO tempo che leggere 2 file da 10 kb l´uno. Ancora peggio se sono 4 file da 5 kb l´uno... e così di fila...
<BR>Stronzate? Non credo proprio... basta andare a vedere per bene i principi su cui si basano alcuni hardware e le conseguenze riusciamo a tirarle da soli.
<BR>Se però dobbiamo pensare ad una macchina che faccia da server di rete e renda disponibili alcuni servizi che per un verso o per l´altro sono "indispenzabili"... bhè qui viene il bello.
<BR>Solo ed esclusivamente kernel monolitici ed essenziali, nessuna possibilità di mettere moduli (non ritrovo il link ma c´è un articolo bellissimo di un certo Mitnick, sconosciutissimo signore, che spiega come si può giocare con i moduli di un kernel, sostituirli direttamente in memoria, camuffarli, inserire codice particolare all´interno... non che non si possa fare con un kernel monolitico... ma ne passa di acqua sotto i ponti tra il sostituire un modulo on-fly che è già mappato in memoria, e l´intero kernel... non so se mi spiego).
<BR>Altro problemone.
<BR>Non sempre i moduli sono fissi in memoria... la cosa bella è che quando un modulo non mi serve più lo scarico dalla memoria e sono felice...
<BR>Ma se parliamo di sistemi con servizi in real-time, (e fidatevi ce ne sono più di quanti voi possiate immaginare), posso permettermi di aspettare (si parla sempre di tempi strettissimi ma pur sempre di tempi...) che si legga il modulo adatto, lo si carichi in memoria, lo si esegua ecc.. ecc???
<BR>Pensateci... fatevi domande e datevi delle risposte...

))
<BR>Ciao Ciao<br>