Newsgroup: it.comp.os.dibattiti
Titolo: Ipse Dixit

" Actually, these ideas have been very well tested in practice.  OSF is 
" betting its whole business on a microkernel (Mach 3.0).  USL is betting
" its business on another one (Chorus).  Both of these run lots of
" software, and both have been extensively compared to monolithic systems.
" Amoeba has been fully implemented and tested for a number of
" applications.  QNX is a microkernel based system, and someone just told
" me the installed base is 200,000 systems. Microkernels are not a pipe
" dream.  They represent proven technology.
Data: 6 febbraio 1992
Autore: Andy Tannembaum
http://groups.google.com/groups?q=g:thl4229150356d&hl=it&selm=12747%40star.cs.vu.nl
Considerando che sistemi microkernel cosi' diffusi sono arrivati solo con 
Nt, e come vera alternativa si ha adesso che c'e' OSX (anche se tuttavia si 
usano come sistemi a kernel monolitici da un punto di vista utente)...
Avete commenti da fare? :)
--
                Davide "gatto feroce" Inglima
   " gli Dei cessano di esistere quando nessuno li venera piu' "
      ( citando OmbreDiFantasmi su it.hobby.giochi.gdr.dnd )
 
http://digilander.iol.it/nekochan/

 Avete commenti da fare? :)
Si e' dimenticato il BeOS.
Personalmente trovo comodo poter staccare e riattaccare pezzi al sistema,
tirare giu' servizi ed aggiungerne nuovi senza dover riavviare il sistema.
Per cui, qualsiasi soluzion che mi permette di fare cio' mi sta bene.

tirare giu' servizi ed aggiungerne nuovi senza dover riavviare il sistema.
Questo si può fare anche senza microkernel.
-- 
ciao, | "You're one of those condescending Unix computer users!"
Marco | "Here's a nickel, kid. Get yourself a better computer"  -- Dilbert
      | (Ri)scoprire fidonet: 
http://bbs.bofh.it

 Questo si può fare anche senza microkernel.
Caduto nella trappola! Ho detto il contrario? Ho detto solo che trovo
comodo attaccare e staccare pezzi!
;)
A parte gli scherzi, pongo una umile domanda: come si fa a tirare giu' i
servizi di rete, sostituirli e riavviarli in un kernel monolitico? Non so,
ad esempio su linux non mi pare sia possibile fare una cosa del genere.
Forse e' possibile farlo su altri sistemi, ma non so quali.
-- 
):E...

servizi di rete, sostituirli e riavviarli in un kernel monolitico? Non so,
Cosa sono i servizi di rete? Intendi lo stack TCP/IP? In passato era
stato completamente modularizzato ma la patch non è mai stata integrata
perchè una cosa simile è totalmente inutile.


 sta bene.
Vedrai l'hurd quando si decideranno a dare una mano ai suoi sviluppatori.

 Avete commenti da fare? :)
IO SI!
Da quando NT e' microkernel? A parte che nelle brochure del reparto
marketing microsoft?
Spiace dirlo ma anche OSX NON e' piu' microkernel.

 Nel 1992?
Pensavo che il post fosse piu' recente.
-- 
):E...

 Spiace dirlo ma anche OSX NON e' piu' microkernel.
OSX carica parte dei moduli in kernel space. Sotto questo punto di vista
hai ragione. Anche se non e' necessario far girare i driver in kernel
space... almeno non tutti.
Ecco, una cosa che mi piacerebbe vedere in un sistema, la possibilita' di
decidere se caricare un qualsiasi modulo in kernel space o in user space.
Sarebbe il gestore del sistema a decidere dove caricarli.
-- 
):E...

 perchè una cosa simile è totalmente inutile.
Totalmente? Cosi' se devo aggiornare il protocollo specifico mi tocca
tirare giu' la macchina. So che e' una cosa che non si fa ogni giorno, ma
ci sono casi in cui imho e' utile. Ad esempio, se il codice che gestisce
il protocollo in questione e' giovane, averlo nel kernel e' un problema.
Se dovesse cadere per una qualsiasi ragione... non tutte le macchine
devono esser connesse in rete per essere utilizzabili.
-- 
):E...

 Teniamoci sul generico. Il TCP/IP non e' l'unico protocollo di rete esistente.
Appunto, proprio perche' e' il piu' generico dei protocolli di rete
permette di far colloquiare piattaforme completamente differenti fra
loro, cosa che non avviene con altri, no?
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

decidere se caricare un qualsiasi modulo in kernel space o in user space.
Farlo è banale, si può. Basta però che non ti aspetti di potere usare
lo stesso driver...


il protocollo in questione e' giovane, averlo nel kernel e' un problema.
Probabilmente è giovane anche il resto del kernel, quindi il problema
non si pone.
Stai cercando di costruire possibili situazioni reali per giustificare
la tua richiesta, ma la realtà è che si tratta di una necessità
abbastanza remota da non giustificare affatto tutti gli svantaggi che
causerebbe implementarla.


 cosa che non avviene con altri, no?
La portatilita' non e' una caratteristica esclusiva del TCP/IP.
Ma non capisto, critichi il fatto che un sistema supporti
indifferentemente protocolli diversi in modo omogeneo? Se si, apriamo un
altro thread.
):E...
-- 
):E...

 causerebbe implementarla.
Quali sono gli svantaggi?


 altro thread.
Affatto, non sto criticando proprio niente, confutavo la tua
affermazione di cui sopra, tutto qui.


 affermazione di cui sopra, tutto qui.
Quando parlavo di protocollo generico volevo dire un qualsiasi protocollo.
Mi sono spiegato male.


 Mi sono spiegato male.
Ah ok..


Quali sono gli svantaggi?
Maggiore complessità, perdita di prestazioni (anche molto rilevante se
si usa un microkernel vero).


 vero).
Puoi portare dei dati a dimostrazione di questa tua affermazione?
Fabio Alemagna

 Puoi portare dei dati a dimostrazione di questa tua affermazione?
Sono ignorante in materia, ma mi permetto di buttarla li': cambi di contesto
piu' frequenti? (ovvero, passaggi kernel.-mode <--> user-mode?)
bye G.L.


Non più cambi di contesto di quanti non ve ne siano tra un driver in 
kernel mode e l'applicazione che lo usa.
Non metto in dubbio, cmq, che alcune implementazioni *ad hoc* siano più 
veloci in un kernel monolitico, ma tutto questo viene a costo di una 
minore flessibilità ed eleganza. Sarò un purista, ma io sono di quelli 
che "anche l'occhio vuole la sua parte".
Cmq, basterebbero dei numeri per confutare l'una o l'altra tesi.
Fabio Alemagna

 si usa un microkernel vero).
Ho sentito pareri discordanti in proposito. Comunque, in che ordine di
grandezza? Dipende dalla quantita' di context switch o da altro?
-- 
):E...

Puoi portare dei dati a dimostrazione di questa tua affermazione?
Sì, li trovi praticamente in qualsiasi analisi mai fatta dei sistemi a
microkernel. Se metti in discussione questo allora chiudiamo pure il
thread.


 thread.
Non metto in discussione, ho chiesto dei dati. Posso gentilmente avere 
qualche link a qualche fonte di queste informazioni? Preferibilmente più 
d'una.
Fabio Alemagna

marketing microsoft?
Lo è, vagamente. Quindi è come se non lo fosse :) Non so: lo considerate 
microkernel anche se i vari processi server girano in modalità kernel? I 
miei testi dicono di no :)
-- 
Nato nel vizio, morto nel supplizio
Nato nel peccato, ad entrare sia invitato

 
Anche i miei dicono di no!



Qui si e' troppo generici, ci sono microkernel e microkernel.
In microkernel di nuova concezione con migrating threads etc. le
prestazioni sono equivalenti.
Basta pensare al classico microkernel dove bisogna switchare contesto
ogni volta che si fa qualcosa.

 devono esser connesse in rete per essere utilizzabili.
Se non vado errato, a meno di modifiche, il meccanismo
dei moduli di Linux consente di "aggiungere" o "sostituire"
API del kernel al volo.
bye,
-- 
piergiorgio

 API del kernel al volo.
Mi sembra che fosse sconsigliato fare moduli per togliere/aggiungere API
bye G.L.

 Mi sembra che fosse sconsigliato fare moduli per togliere/aggiungere API
So che era possibile patchare qualunque funzione del
kernel, non so se fosse sconsigliato o raccomandato.
Certo, il fatto che sia possibile, dimostra che non
serve un uK per avere lo stesso risultato.
bye,
-- 
piergiorgio