Newsgroup: it.comp.os.dibattiti
Titolo: Struttura dei sistemi operativi

Salve a tutti;
non so se questo NG sia quello giusto (nel caso se qualcuno potesse
segnalarmi dove rivolgermi...), ma voglio provare a lanciare una
discussione piu' "teorica" (e forse piu' seria), riguardo alla struttura
interna dei sistemi operativi. 
In particolare, si sente molto parlare dell'approccio a microkernel (con
tutti i derivati vari, fra cui subkernel, picokernel, nanokernel,
exokernel e chi piu' ne ha piu' ne metta... io sono un po' confuso,
qualcuno sa spiegarmi bene le differenze?). Qualche anno fa, mi e'
capitato di leggere su un famoso libro di sistemi operativi la frase "i
kernel monolitici sono morti", ed infatti Linux, FreeBSD e simili stanno
avendo un grande successo... 
Personalmente penso che i microkernel possano se non altro semplificare lo
sviluppo di un SO, permettendo una maggiore flessibilita'; per quanto
riguarda le prestazioni, non ho idea: in giro si leggono teorie parecchio
contrastanti, e non ho microkernel free su cui sperimentare (qualcuno mi
sa dare qualche indicazione? Per favore, non dite Mach, che di micro ha
solo il nome...). Se qualcuno si interessa della questione, fatevi vivi:
personalmente, penso che una discussione del genere sarebbe piu'
interessante della solita Linux si-Linux no, Windows forse, pero' OS2 e'
meglio... (scusate l'accento polemico).
Un'altro argomento che penso interessante e' il seguente: al giorno d'oggi
si sente molto parlare di multimedia, ma i SO attuali offrono un supporto
bassissimo a livello di sistema (l'unico che mi dicono offra un po' di
supporto al multimedia e' BeOS, ma non lo conosco: qualcuno mi puo'
spiegare di preciso cos'ha di multimediale?). Mi chiarisco: per fare un
esempio, gli algoritmi di scheduling utilizzati dalla quasi totalita' dei
SO (commerciali e non) sono del tutto inadeguati. Provate per esempio a
lanciare un player MPEG, e mentre il filmato e' in riproduzione lanciate
un'applicazione "pesante" (tipo WinWord, o StarOffice): sicuramente il
filmato subisce un brusco rallentamento (e su applicazioni piu' complesse,
tipo videoconferenza, la situazione e' ancora piu' catastrofica...)
Le soluzioni a questo problema esistono, e funzionano pure (vanno dalle
tecniche di bandwidth reservation agli scheduler proportional share, per
citare due nomi) ma rimangono rinchiuse in ambiti prettamente accademici:
perche'?
Spero che questo mio contributo possa essere utile a innescare una serie
di discussioni interessanti
			Ciao a tutti,
				Luca Abeni

 writes:
    LA> In particolare, si sente molto parlare dell'approccio a
    LA> microkernel (con tutti i derivati vari, fra cui subkernel,
    LA> picokernel, nanokernel, exokernel e chi piu' ne ha piu' ne
    LA> metta... io sono un po' confuso, qualcuno sa spiegarmi bene le
    LA> differenze?). Qualche anno fa, mi e' capitato di leggere su un
    LA> famoso libro di sistemi operativi la frase "i kernel
    LA> monolitici sono morti", ed infatti Linux, FreeBSD e simili
    LA> stanno avendo un grande successo...
Cio' non vuol dire che per alcuni tipi di tecnologie non siano molto
adatti.
    LA> Personalmente penso che i microkernel possano se non altro
    LA> semplificare lo sviluppo di un SO, permettendo una maggiore
    LA> flessibilita'; per quanto riguarda le prestazioni, non ho
    LA> idea: in giro si leggono teorie parecchio contrastanti, e non
    LA> ho microkernel free su cui sperimentare (qualcuno mi sa dare
    LA> qualche indicazione? Per favore, non dite Mach, che di micro
    LA> ha solo il nome...). Se qualcuno si interessa della questione,
    LA> fatevi vivi: personalmente, penso che una discussione del
    LA> genere sarebbe piu' interessante della solita Linux si-Linux
    LA> no, Windows forse, pero' OS2 e' meglio... (scusate l'accento
    LA> polemico).
Il  sistema operativi GNU e'  interessante,  se  vuoi sperimentare  un
po'. Fai un salto a  
http://www.gnu.org
 e cerca  il link a "hurd". Gli
sviluppatori  dietro al progetto (non molti)  stanno  zitti, ma stanno
lavorando. Io  purtroppo, per  questioni  di tempo,  non riesco piu' a
seguire il progetto.
Sempre dalle pagine di Hurd ci sono vari link a siti e materiale sulle
problematiche  relative  ai sistemi   distribuiti.  Comunque anche  in
ambito "kernel monolitico" si sta lavorando  molto in questo senso (mi
viene in  mente DIPC, ovvero Distributed  IPC, e un pacchetto relativo
alla migrazione dei processi da una macchina all'altra). 
[SNIP]
    LA> Spero che questo mio contributo possa essere utile a innescare
    LA> una serie di discussioni interessanti
Speriamo,  perche'   questo  NG, rispetto   a  quando  lo  frequentavo
(sette-otto mesi fa) e' diventato un macello (senza offesa, eh!).
    LA> 			Ciao a tutti, Luca Abeni
Ciao,
Andrea Glorioso
-- 
Villaggio globale: ci si mette tutti d'accordo per fare il culo a
		   quello che rimane (Simone Nalato)

 spiegare di preciso cos'ha di multimediale?)
Ti chiedo allora una cosa: a che genere di supporto ti riferisci? Da
quello che dici di seguito, sembra che il tuo problema principale sia
quello di analizzare le prestazioni dei sistemi sul playback dei media.
Per quel che riguarda il BeOS, le prestazioni sembrano essere il punto
forte. Se vuoi informazioni piu' approfondite, fai meglio ad andare al
sito della be. Purtoppo, per mancanza di tempo, non ho piu' avuto modo
di studiarmi il sistema.
http://www.be.com/developers/developer_library/index.html
Di tuo interesse dovrebbero essere le sezioni KernelKit e MediaKit

sa...@intercity.it
 wrote:
 >Il  sistema operativi GNU e'  interessante,  se  vuoi sperimentare  un
 >po'. Fai un salto a  
http://www.gnu.org
 e cerca  il link a "hurd". Gli
s/un po'/e basta/
Anche se stanno lavorando a debian gnu/hurd e quindi forse sara` un po'
piu` usabile.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | > Mettete 
maxa...@tin.it
 nel vostro killfile (Pub. progresso) <

 quello di analizzare le prestazioni dei sistemi sul playback dei media.
Beh, piu' che alle prestazioni mi riferivo ad un utilizzo piu' efficiente
delle risorse: le prestazioni possono essere incrementate anche comprando
una macchina piu' veloce... Quel che volevo dire e' che generalmente i SO
non gestiscono le risorse in modo adatto alle applicazioni multimediali (e
lo scheduling della CPU e' solo un esempio, altri potrebbero riguardare la
memoria virtuale, od altro ancora). Il mio problema e': cosa fa un SO per
essere multimediale? Basta avere una libreria che permetta di riprodurre
suoni e filmati?
Ti ringrazio per l'indirizzo che mi hai passato; sto attulamente dando
un'occhiata a BeOS per capire come risolvono loro il problema.
			Ciao,
				Luca

 writes:
    MD> Anche se stanno lavorando a debian gnu/hurd e quindi forse
    MD> sara` un po' piu` usabile.
s/piu` usabile/meno inutilizzabile ;)
Secondo me, comunque, dovrebbero dare MOLTA piu' pubblicita' ad hurd,
se non altro per attirare piu' sviluppatori.
La mailing-list poi o e' morta o sta sulle palle al server SMTP del
mio provider :). 


 writes:
    MD> Anche se stanno lavorando a debian gnu/hurd e quindi forse
    MD> sara` un po' piu` usabile.
Marco, tu cosa ne pensi dello Hurd? Ricordo che un bel po' di tempo fa
il discorso era saltato fuori su  questo NG (quando ancora si chiamava
it.comp.sist-operativi.dibattiti :) )  e tu avevi espresso  dubbi sull
sua effettiva utilita'. 
Sempre dello stesso parere? 


 suoni e filmati?
Se parli di efficienza della macchina, no. Oltre alle librerie per la
gestione dei media, hai bisogno di un sistema sotto che ti aiuti, questo
mi sembra chiaro. Devi considerare pero' che a questo punto le soluzioni
cambiano a secondo delle esigenze, ovvero delle applicazioni del
multimedia. Ad esempio, le richieste per un video server sono diverse da
quelle di una console per la fruizione o per l'intrattenimento.

 
Effettivamente, guardando sul sito della GNU ho letto di debian-gnu/hurd,
ma non ho capito bene di cosa specificamente si tratti. Qualuno sa
qualcosa di piu' specifico?
A suo tempo ho provato ad installare Hurd, ma il tutto e' risultato
drammaticamente complesso (il modo piu' semplice per farlo era avere
FreeBSD installato su una partizione, ma non avevo intenzione di
installarlo solo per provare HURD, e usando Linux non sono riuscito a
cavare un ragno dal buco...). La nuova collaborazione con Debian,
semplifichera' le cose?
Comunque, avevo dato un'occhiata a Hurd a livello teorico, e secondo me il
fatto di appoggiarsi su Mach e' un forte handicap (da quel che mi risulta
le prestazioni di Mach sono un po' scarsine... E poi per essere un
microkernel e' terribilmente grosso!!!). In ogni caso, sono solo
impressioni: c'e' qualcuno che ha effettivamente provato Hurd e sa dirmi
qualcosa di piu' preciso?
			Ciao a tutti,
				Luca

sa...@intercity.it
 wrote:
 >Marco, tu cosa ne pensi dello Hurd? Ricordo che un bel po' di tempo fa
Che puo` essere sicuramente interessante per giocarci ma nel mondo reale
difficilmente sara` mai utile. Sia perche` le prestazioni sono minori di
quelle dei concorrenti sia perche` non si sa quando sara` finito.
