Newsgroup: it.comp.os.dibattiti
Titolo: MS: un progetto interessante

Beh tanto per cambiare ed evitare di essere definito un linux-zelota
vorrei proporvi un'interessante articolo
http://www.research.microsoft.com/os/singularity/publications/OSR2007_RethinkingSoftwareStack.pdf
L'articolo è scritto dal team che sta sviluppando Singularity alla MS.
Beh devo dire che le loro idee mi piacciono e ritengo che siano
decisamente innovative, nulla a che vedere con i soliti OS bloatware
insomma....
Per quelli di voi che hanno avuto modo di toccare con mano vari OS,
noterete sicuramente che il sistema in questione è pensato innanzitutto
come architettura microkernel. Noto inoltre che molte idee sono state
prese da TaOS/Elate, il sistema operativo della Tao Systems con l'aggiunta
del concetto di capabilities implementato per la prima volta in Eros.
In sostanza è un progetto decisamente interessante che se sviluppato in
maniera normale ( non come di solito fa MS ) e con i quattrini di MS alle
spalle potrà spiazzare Linux e soci.
I punti salienti di Singularity sono l'implementazione di facility per la
protezione della memoria via software e non più hardware, questo per
ridurre drasticamente i tempi per i context-switch. In secondo luogo tutto
il codice è scritto in un bytecode e quindi multipiattaforma. Progetti
simili sono LLVM, il VP di Elate e la VM di Inferno....questi sono gli
unici tra i sistemi JIT ad avere performance decenti.
A mio avviso è un progetto decisamente interessante e se il prossimo
Windows dovesse essere basato su questi principi, di sicuro tracciarebbe
la strada per l'evoluzione futura dei sistemi operativi. Ripeto che
sistemi simili esistono già però non hanno avuto fino ad oggi una
diffusione commerciale apprezzabile, almeno a livello desktop.

 la protezione della memoria via software e non più hardware, 
Si ho visto.
Carino il grafico delle performance specifiche, dove viene mostrato che 
il piu' efficiente e' singularity, poi viene linux, poi freebsd, e per 
ultimo viene windows.
Se consideriamo che Singularity probabilmente non vedra' mai l'alba, 
allora possiamo pensare a tenerci Linux quale OS che consuma meno cicli 
CPU e Windows come OS brucia-CPU :)
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 Singularity is a Microsoft Research project started in 2003 ...
Ma LOL, LOL, LOL:
-> Inferno, an operating system from Bell Labs from which Singularity 
borrows some concepts.
-> Inferno is an operating system for creating and supporting distributed 
services. The name of the operating system and of its associated 
programs, as well as of the company Vita Nuova that produced it, were 
inspired by the literary works of Dante Alighieri, particularly the 
Divine Comedy.


 *tutti* gli OS di microsoft sono microkernel.
*cough* *cough* :)



*pat pat*  t'e' passato? :)
non vorrei che qualcuno stesse ancora pensando a win95, win98.
dai, anche la barchetta e' una coupe', proprio come le ferrari :)


 non vorrei che qualcuno stesse ancora pensando a win95, win98.
I kernel NT non sono microkernel.



Microsoft normally uses the term "microkernel" and sometimes "modified 
microkernel", "modified microkernel or macrokernel" when describing the 
kernel part of the architecture of the Windows NT operating system line. 


 kernel part of the architecture of the Windows NT operating system line.
Non può essere allo stesso tempo un microkernel o un
"macrokernel" (termini che per quanto ne so ha coniato Microsoft
stessa) visto che sono cose abbastanza diverse, parte della citazione
che riporti quindi deve necessariamente essere falsa.
Per motivi che leggendo anche qui 
http://en.wikipedia.org/wiki/Hybrid_kernel
dovrebbero essere abbastanza chiari ritengo che la parte falsa sia
quella in cui li definiscono microkernel.

 stessa)
Scusate, intendevo dire *termine* solo in riferimento a "macrokernel".



Posso dire che e' chiaramente falsa.
Pero', sperando che qui non dobbiamo fare a chi legge wikipedia piu' in 
fretta, io, senza indagare, avevo riportato delle affermazioni che 
microsoft aveva fatto in passato.
Microsoft anni addietro diceva che si trattava di microkernel, e tutto il 
mondo (me compreso) riteneva che si trattassi di microkernel.
Difatti Tannenbaum stesso, facendo riferimento a win NT, diceva che si 
trattava di microkernel (vedi citazione sotto).
CITAZIONE:
Andy Tanenbaum:
   The alternative is a microkernel-based system, in which most of the OS
   runs as separate processes, mostly outside the kernel. They communicate
   by message passing.  The kernel's job is to handle the message passing,
   interrupt handling, low-level process management, and possibly the I/O.
   Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the
   not-yet-released Windows/NT.
Fin quando qualche cavillatore non e' venuto fuori con il termine 
"ibrido" NT e' sempre stato un microkernel.


Max_Adamo wrote:
:: Se consideriamo che Singularity probabilmente non vedra' mai l'alba,
Mmmmm, la vedrą, la vedrą.
Daie tempo. 2010 o giu di li.

 "ibrido" NT e' sempre stato un microkernel.
A me non sembra un microkernel "puro". I drivers e i sottosistemi
d'ambiente non si trovano in kernel space?
Neanche mac OSX, per quanto ne so, e' un microkernel puro.
bye G.L.
-- 
Renaissance, aka Gian Luca Sole
Per rispondere, togli nospam al contrario, e cambia nazione
"E' assolutamente evidente che l'arte del cinema si ispira
alla vita, mentre la vita si ispira alla TV" - Woody Allen

 not-yet-released Windows/NT.
"Linux is obsolete", su comp.os.minix nel gennaio '92
Un thread davvero notevole, che tutti dovremmo leggere(soprattutto le
micidiali risposte di Torvalds)
http://snipr.com/1nqgm
Ciao

 Neanche mac OSX, per quanto ne so, e' un microkernel puro.
Infatti. Per molti versi sono simili, anche se OS X è pensato fin dal
midollo per essere un sistema di tipo *nix, mentre Microsoft è un
sistema a se (anche se con tutti i requisiti per potere diventare POSIX
in caso di bisogno).
C'è anche un noto architetto in comune fra i due kernel...
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 Infatti.
Mi sorge ora il dubbio, leggendo wikipedia, che i sottosistemi
d'ambiente girino in user mode...


 "ibrido" NT e' sempre stato un microkernel.
CAVILLATORE? Dire che differenze del genere sono cavilli vuol dire
dimostrare di non sapere NIENTE di sistemi operativi, potresti almeno
avere la decenza di TACERE.
In ogni caso ho perso con te fin troppo tempo, ormai dovrebbe essere
chiaro a chiunque legge (o a chiunque abbia qualche nozione di sistemi
operativi) che quanto dici rasenta il ridicolo, non mi dilungherò
oltre in futili argomentazioni quindi
addio, e grazie per tutto il pesce.


vabbè io parlo della tecnologia, se poi MS con le legioni di programmatori
e ingegneri e tutti i soldi che ha non riesce a mettere insieme un
progetto simile che 6 sviluppatori hanno realizzato più di 10 anni fa alla
Tao Systems, beh, allora vadano a raccogliere i fagioli piuttosto che
produrre software

 Daie tempo. 2010 o giu di li.
il problema è che forse lui ha ragione....Whistler doveva utilizzare una
nuova architettura, si parlò di un microkernel sviluppato in proprio, poi
di licenziare il kernel TaOS e schiaffarci sopra l'API Win32....
Vista stesso discorso....cambiato tutto, cambiato tutto, poi un pò per
volta hanno azzoppato tutto....
il problema è che un nuovo design a livello di kernel implica il 99.99%
del software è da riscrivere....

> *tutti* gli OS di microsoft sono microkernel.
a suo tempo MS sbandierò la storia che NT era un microkernel....non lo è
mai stato....
stesso discorso pochi anni dopo con Whistler e infine con Longhorn....mai
implementata un'architettura microkernel
il perchè molte fonti parlano di microkernel è proprio in virtù delle
dichiarate intenzioni di MS ed inoltre perchè all'epoca il concetto di
microkernel non era ben chiaro...a dirla tutta pure oggi si litiga su che
cosa sia un microkernel....
comunque un microkernel ( all'epoca ) era una cosa che somigliava a
Mach....tuttavia Tanenbaum e altri hanno specificato chiaramente che Mach
non è da considerarsi un microkernel....
tuttavia alcuni autori continuano a considerarlo un microkernel, mentre
per i "veri microkernel" usano il termine nanokernel....
comunque per essere precisi Singularity usa un'architettura di tipo
nanokernel, che in sostanza impone di ficcare nel kernel solo le
componenti necessarie al bootstrap, alla gestione dei processi ( chiamati
SIPs ) e alla comunicazione tra i processi

 d'ambiente girino in user mode...
Dici su NT?


 NT non è MAI stato un microkernel 
Raccontalo a Andy Tanenbaum.
Questa e' una sua citazione e a me - francamente parlando - non me ne 
fotte un ca$$o ^_^
Che poi sia giusto o sbagliato e' un altro paio di maniche. Ma se tu vuoi 
dire che Tanenbaum con le sue affermazioni sta rasentando il ridicolo.... 
beh liberissimo: ha una mail alla quale tu stesso puoi scrivere (ast [at] 
cs.vu.nl
)
te la scrivo io e tu la vai a imbucare:
dear Andy,
I am an asshole who use to write idiot stuff onto usenet.
I have to tell you, that you are going to be ridiculous when you're 
saying that NT is microkernel.
cheers
Giacomi'


 bye G.L.
Che è proprio esattamente come stanno le cose.
Per esempio, basta usare Process Explorer, per vedere che il
processo CSRSS.EXE è un processo. Si tratta della componente
user-mode del sottosistema Win32.
Stessa cosa per altri processi, come psxss.exe che si occupa del
sottosistema Posix.
L'unica eccezione è data dal fatto che nel sottosistema Win32 c'è
un componente server in kernel mode (in altre parole, una parte
del sottosistema Win32 gira in kernel mode), che si occupa della
gestione del video (è Win32k.sys). Si tratta di una scelta fatta per
ragioni squisitamente prestazionali (ossia, per consentire alle
applicazioni di accedere alle routines di scrittura a video senza
bisogno di meccanismi client/server del tipo a memoria condivisa
e per ridurre i context-switch necessari).

 Dici su NT?
Sulla famiglia NT.


 e per ridurre i context-switch necessari).
Ho invece la vaga impressione, avendo approfondito, che, al contrario
di quanto pensavo (api sottosistema win32 ==>> api native kernel NT,
sottosistemi diversi ==>> api win32 OR api NT), che non eistano "api
native NT, ne un sottosistema in user mode api win32, e che tutto ruoti
attorno al sistema api win32, che gira in kernel mode ed e' parte
integrante dell'api nativa di NT. Gli altri sottosistemi che traslano
verso api win32 sono in user mode. Eppure e' diverso da quanto avevo
studiato su un esaustivo manuale di NT server della mc graw hill.


 
cs.vu.nl
)
E state buoni, checcavolo, che' ho esperito che mai ci puo' essere una
_classificazione_ precisa e definitiva per ogni applicazione *pratica*
riguardo le questioni nel merito... :-)


 del software è da riscrivere....
In linea teorica *no*. Mi auguro che la maggior parte del software non
dipenda dal funzionamento interno del kernel, ma dalla sua interfaccia
pubblica (e più probabilmente ancora da API di livello ancora più alto).
L'esempio più cretino è il software POSIX. Cambi il kernel e il software
resta lo stesso (ammesso che i vari implementatori dei kernel siano 100%
POSIX compliant, cosa che in genere non è, ma è un 'errore', non un
problema intrinseco).


 Sulla famiglia NT.
Si, ok.


 del software č da riscrivere....
Perchč scusa ... scrivi in .net e vedrai che faranno il framework anche in 
futuro !!!
Oppure scrivi in java e vedrai che (forse) avrai la JVM anche nel 2010 

 Oppure scrivi in java e vedrai che (forse) avrai la JVM anche nel 2010
questo ragionamento è valido finchè l'architettura di base rimane la
stessa...
lì si parla di SIPs al posto dei normali processi, si parla di rendere il
software modulare fatto di tanti pezzi di piccole dimensioni che
comunicano tramite IPC
Singularity propone una filosofia totalmente diversa rispetto al modo di
scrivere il software attuale.....
il software .NET potrebbe funzionare senza troppe modifiche ma di fatto i
vantaggi offerti dalla nuova architettura verrebbero resi inutili dal
software stesso
inutile pensare ad un OS nuovo dove prevale la modularizzazione quando ci
ficchi sopra un blocco monolitico tipo Firefox che pesa una tonnellata
il software va comunque riprogettato per sfruttare l'OS al 100%,
altrimenti si rischia di creare l'ennesimo mostro ibrido e pesante

 Neanche mac OSX, per quanto ne so, e' un microkernel puro.
no, e non troverai nessun microkernel puro.perché non possonoessere
efficienti. se ricordo bene nella pagine di wikipedia di mach in inglese
trovi dei riferimenti alla letteratura.

 e per ridurre i context-switch necessari).
giusto per rompere le uova nel paniere, ma piů che altro per chiedere
maggiori informazioni, ma IIS non ha una componente in kernelspace? E
pure .net? a me sembra di ricordare di sě......

Ottavio Campana ha scritto:

https://ols2006.108.redhat.com/2007/Reprints/lameter-Reprint.pdf
Sebbene la dimostrazione sia indiretta.

 pure .net? a me sembra di ricordare di sì......
O_O
-- 
NoWhereMan (e.v.)
-- 
http://www.nowhereland.it
-- 
http://www.flatpress.org


bah non so, nella letteratura si trovano pagine su pagine di dimostrazioni
secondo le quali i microkernel non scalano, hanno performance pessime,
ecc.... tuttavia gli unici microkernel ( alcuni li chiamano nanokernel )
sviluppati fino ad oggi sono decisamente molto performanti, stabili,
ottimizzati, per niente avidi di risorse hardware...

 pure .net? a me sembra di ricordare di sì......
he he bisognerebbe stare nella testa degli ingegneri MS e là di caos ce
n'è....comunque è vero sia .NET che IIS hanno una componente in
kernelspace che dovrebbe migliorare le prestazioni secondo una certa
logica che risulta tale solo agli omini MS



be' se qualcosa gira in kernel space *ovviamente* è più veloce, il problema
è che (altrettanto ovviamente) se c'è un bug (o peggio, una falla) viene
giù tutto...


 software stesso
Perchè? Neanche (ovviamente) con una VM scritta ad hoc per il nuovo sistema? 

 Perchè? Neanche (ovviamente) con una VM scritta ad hoc per il nuovo sistema?
si potrebbe funzionare con alcune modifiche che di fatto sarebbero
necessarie visto che Singularity stravolge i concetti di base degli OS (
per esempio scompaiono thread e processi per diventare SIP )
inoltre i software attuali sono blocchi monolitici di dimensioni
mastodontiche, il che conduce ad un consumo di risorse enorme, cosa che
Singularity vuole risolvere modularizzando il software....
se si farà non sarà un passaggio semplicissimo....
la stessa MS sta spingendo fortemente su .NET proprio per questo motivo,
almeno .NET renderà il software relativamente facile da portare sul nuovo
OS


verissimo, il bello è che nella letteratura si dice sempre che bisogna
trovare il giusto compromesso e cioè quello con migliori performance
e minori rischi....stranamente MS riesce sempre a trovare compromessi che
offrono performance penosi e rischi mastodontici

 offrono performance penosi e rischi mastodontici
Finche' la gui stava in kernel space poteva anche andar bene, visto che
non ha mai dato problemi (ma, sbaglio, o su vista e' tornata in user
space?). Quello che fa cagare sono i driver delle stampanti in kernel
space, una scelta di cui non si son mai capite le mitivazioni... (mai
visti i BSOD con la epson epl 6200L? Chi si ricorda di un post di anni
fa, ad opera di Leonardo Serni, che mi ha fatto scompisciare?)
bye G.L.
-- 
Renaissance, aka Gian Luca Sole
Per rispondere, togli nospam letto al contrario, e cambia nazione.


pabl...@giochinternet.com
 wrote:
:: il problema č che un nuovo design a livello di kernel implica il
:: 99.99% del software č da riscrivere....
.NET serve a quello. Ora che l'architettura del framework č compiuta (e puo 
permettere di mandare a fanculo l'HTML Evvai!!!!!) si puņ pensare al futuro.
 

 permettere di mandare a fanculo l'HTML Evvai!!!!!) si può pensare al futuro.
Che attualmente e' quello in cui HTML resta e .NET fa tutt'altro che il botto 
di cui si parlava qualche anno fa.
Senza parlare del fatto che eliminare il markup di uno strumento che 
fondamentalmente *e'* markup per sostituirlo con un "framework" e' gia' stato 
tentato n volte e n+1 volte e' fallito in modo alwuanto misero.
  ngw
-- 
"ma gavte la nata." -- Jacopo Belbo
http://www.tochunky.org

 
Spiega meglio cosa intendono fare nel 'mandare affanculo html'.
-- 
Sensei <senseiwa at Apple's mac dot com>
43rd Law of Computing: Anything that can go wr
fortune: Segmentation violation
Core dumped