View Full Version : ma sarà vero?
http://www.wired.com/news/technology/0,1282,64914,00.html?tw=wn_tophead_2
http://www.transitive.com/
se fosse veramente così niente più monopolio microsoft...
codice liberamente eseguibile indipendentemente dal sistema operativo!
secondo me o è uno scherzo o li fanno chiudere nel giro di una settimana :cry: :cry:
*sasha ITALIA*
14-09-2004, 16:31
non ho capito bene :confused: qualcuno può tradurre?
Palle.
Fai girare un .sit sotto WINZOZ senza EMULATORI et similar e vedim :rolleyes:
cdimauro
15-09-2004, 08:28
Questo NON E' un emulatore: si tratta del ben noto sistema JIT (Just In Time compilation), e la velocità che si può raggiungere è molto elevata.
Comunque, non è certo una novità, appunto: si tratta semplicemente di un affinamento di quest'ottima idea...
andreasperelli
15-09-2004, 10:00
Originariamente inviato da cdimauro
Questo NON E' un emulatore: si tratta del ben noto sistema JIT (Just In Time compilation), e la velocità che si può raggiungere è molto elevata.
Comunque, non è certo una novità, appunto: si tratta semplicemente di un affinamento di quest'ottima idea...
Puoi spiegarci meglio?
si tratta di un sistema di emulazione che non richiede la ricostruzione dell'intero ambiente, come succede adesso con virtual pc, ovvero si installa il sistema operativo, si avvia, e si esegue il programma al suo interno.
con quel sistema innovativo, il codice viene eseguito "al volo", con un bel doppio click su un .exe ad esempio, il tutto nell'ambiente software che stiamo usando in quel momento (nel nostro caso, os x), e ad un ipotetico 100% di rendimento del computer, qualunque sia la sua architettura, con supporto completo dell'hardware, 3D compreso.
Cavoli e da quando sarà disponibile ???
Ve lo vedete OSX con l'intero parco SW di Linux e FreeBSD ???:eek:
andreasperelli
15-09-2004, 12:14
Originariamente inviato da INeDiA
si tratta di un sistema di emulazione che non richiede la ricostruzione dell'intero ambiente, come succede adesso con virtual pc, ovvero si installa il sistema operativo, si avvia, e si esegue il programma al suo interno.
con quel sistema innovativo, il codice viene eseguito "al volo", con un bel doppio click su un .exe ad esempio, il tutto nell'ambiente software che stiamo usando in quel momento (nel nostro caso, os x), e ad un ipotetico 100% di rendimento del computer, qualunque sia la sua architettura, con supporto completo dell'hardware, 3D compreso.
non sono molto esperto ma la cosa mi incuriosisce.
Se io sto usando OSX e voglio giocare a Need For Speed Underground io so che l'eseguibile non si "appoggia" solo sul processore e sulla scheda ma anche sul sistema operativo (Windows XP), come faccio allora se io non ho WinXP?
X-ICEMAN
15-09-2004, 12:31
Originariamente inviato da nix1
Ve lo vedete OSX con l'intero parco SW di Linux e FreeBSD ???:eek:
si :D sarebbe totalmente inutile :) preferisco di gran lunga le applicazioni native Osx
Originariamente inviato da X-ICEMAN
si :D sarebbe totalmente inutile :) preferisco di gran lunga le applicazioni native Osx
Beh, insomma... Qualche programma PC da far girare capita a tutti :-(
Il problema è che non basta l'emulare il processore, va emulata tutta la MACCHINA per far girare Windows o un altro sistema operativo. Quindi anche se questa fantomatica emulazione funziona davvero, è solo il primo passo.
Ma ve lo immaginate un VirtualPC con la velocità di un G5?!!! :))
Originariamente inviato da X-ICEMAN
si :D sarebbe totalmente inutile :) preferisco di gran lunga le applicazioni native Osx
Non hai mai utilizzato unix:rolleyes:
Ma hai idea del SW open e gratuito che esiste su Linux e FreeBSD DI QUALITA ???
Originariamente inviato da Criceto
Beh, insomma... Qualche programma PC da far girare capita a tutti :-(
Il problema è che non basta l'emulare il processore, va emulata tutta la MACCHINA per far girare Windows o un altro sistema operativo. Quindi anche se questa fantomatica emulazione funziona davvero, è solo il primo passo.
Ma ve lo immaginate un VirtualPC con la velocità di un G5?!!! :))
NO dovrebbe emulare direttamente le chiamate di sistema è questo il bello non un intero PC
Originariamente inviato da nix1
NO dovrebbe emulare direttamente le chiamate di sistema è questo il bello non un intero PC
Questo è l'approccio di WINE.
Bellissimo, in teoria, ma vanno ricreate da zero tutte le API di Windows (o l'OS che si vuole emulare). Mi pare improbabile che funzionerà mai bene, soprattutto per software recenti.
Emulando sia il processore che la macchina, come fa VirtualPC, invece si è svincolati dal sistema operativo e si può far girare tutto. Tanto che VirtualPC esiste anche per PC!
cdimauro
15-09-2004, 19:52
Diciamo che questo combina l'approccio di WinE + JIT. Più esattamente, JIT preleva blocchi di codice (supponiamo siano eseguibili x86 per Windows) che traduce in codice della macchina su cui gira (supponiamo sia un G5); quando JIT incontra una chiamata di sistema, fa scattare l'emulazione delle API "alla WinE".
In questo modo la velocità di esecuzione è realmente spaventosa, perché l'applicazione nativa gira quasi sempre sfruttando le risorse della macchina su cui effettivamente funziona tutto.
Ed è un sistema che funziona, se fatto bene.
*sasha ITALIA*
15-09-2004, 21:22
Potenzialmente è la scoperta-bomba più devastante mai effettuata in campo informatico e, se tutte le promesse verranno mantenute e se non si tratterà soltanto di vaporware, prepariamoci a una vera e propria rivoluzione. QuickTransit, software dell'americana Transitive Corporation sviluppato dal Professor Alasdair Rawsthorne all'Università di Manchester, è l'equivalente digitale della leggendaria pietra filosofale capace di trasformare il piombo in oro, ovvero un software in grado di far girare qualsiasi programma, con piene funzionalità e con un performance hit minimo, su qualsiasi computer, indifferentemente dal sistema operativo e dal processore impiegato. Al momento i processori supportati sono PowerPC, tutta la famiglia X86, Opteron ed Itanium, e il software è in grado di girare con qualsiasi accoppiata processore/OS, rendendo possibile, tanto per fare un esempio, l'esecuzione di codice scritto per Windows e processori X86 su MacOSX e processori PowerPC e viceversa, oltra a qualsiasi altra combinazione possibile. Secondo Transitive i programmi mantengono il 100% delle funzionalità, l'accelerazione 3D è pienamente supportata e la velocità d'esecuzione è ben l'80% di quella originale, una cifra astronomica per un emulatore, termine che evoca da sempre una certa lentezza e che Transitive preferisce volontariamente evitare per publicizzare il proprio prodotto, preferendo introdurre il concetto di Hardware Virtualization. Il segreto di QuickTrans, a detta del lead engineer Franck Weidel, sta tutto nel suo modo di operare: "Tra il nostro software e un emulatore comune intercorre la stessa differenza che c'è tra un traduttore e un interprete. Invece che lavorare su ogni singolo pezzo di codice, QuickTransit traduce in un sol colpo intere frasi o paragrafi. E' in questo modo che possiamo ottenere performance così elevate".
Troppo bello per essere vero? I dubbi sono più che legittimi, soprattutto se aggiungiamo che QuickTransit, una volta installato, semplicemente funziona: non va nemmeno avviato, si avvia in automatico in background non appena si fa partire un'applicazione non nativa, rendendo di fatto completamente trasparente all'utente il processo di emulazione. Eppure pare sia tutto vero, almeno da quanto confermano gli analisti invitati l'altro ieri alla presentazione, a porte rigorosamente chiuse, del prodotto: i rappresentanti di Transitive hanno fatto girare una versione per Linux di Quake III su un PowerBook dotato di MacOSX e il software grafico GIMP per Linux in ambiente Windows, ottenendo in entrambi i casi performance eccezionali.
Non occorre essere power user per intuire le potenzialità di un software di questo tipo e dei radicali cambiamenti che potrebbe portare nel mondo dell'informatica. Forse 'radicali cambiamenti' è un termine riduttivo, parlerei piuttosto di devastanti terremoti con annesse eruzioni vulcaniche, maremoti e cicloni. Rendono meglio l'idea.
Prima di lasciarvi a meditare, e in attesa di sapere se effettivamente non si tratterà solo dell'ennesimo vaporware, una nota che ci interessa da vicino: Transitive sta pensando anche al mercato videoludico, proponendo versioni di QuickTrans appositamente pensate per offrire retrocompatibilità a basso costo agli hardware manufacturer delle next gen console. Oltre ovviamente a rendere virtualmente disponibili per qualsiasi home computer tutti i videgiochi, indifferentemente dall’OS e dalle architetture utilizzate.
Ora non resta che aspettare. E sperare che non si tratti della burla di qualche mattacchione della Silicon Valley.
*sasha ITALIA*
15-09-2004, 21:54
http://a1112.g.akamai.net/7/1112/492/2002091464/www.wired.com/news/images/full/quake3-macdui-039_f.jpg
Originariamente inviato da cdimauro
In questo modo la velocità di esecuzione è realmente spaventosa, perché l'applicazione nativa gira quasi sempre sfruttando le risorse della macchina su cui effettivamente funziona tutto.
A prescindere che non credo che vi sarà mai qualcosa del genere pienamente funzionante, a mio avviso la velocità sarà quantomeno dimezzata. Non ha senso il contrario Cesare!
Timewolf
16-09-2004, 00:25
Originariamente inviato da *sasha ITALIA*
http://a1112.g.akamai.net/7/1112/492/2002091464/www.wired.com/news/images/full/quake3-macdui-039_f.jpg
ma q3 c'e' nativo per mac... :D
Timewolf
16-09-2004, 00:29
ma sono tutte balle...
Esempio: i programmi Windows hanno bisogno delle chiavi di registro, sto coso come le "emula" ?
certo che potevano almeno usare un powerbook ultimo modello per la presentazione! :D
e comunque... sperare non costa nulla!
Abundance
16-09-2004, 15:33
Già... chissà.
Anch'io sono molto perplesso, gli annunci e il sito della compagnia sembrano più o meno "seriosi", ma il tutto mi sa tanto di vaporware...
E poi, nella foto "dimostrativa" che hanno pubblicato si vede chiaramente un desktop linux dietro la finestra di quake... il che appunto dimostrerebbe il contrario di quello che sostengono
:confused:
cdimauro
17-09-2004, 07:00
Originariamente inviato da Hal2001
A prescindere che non credo che vi sarà mai qualcosa del genere pienamente funzionante,
Io credo di sì, invece: si tratta di tecnologia che radici lontane nel tempo...
a mio avviso la velocità sarà quantomeno dimezzata. Non ha senso il contrario Cesare!
Al contrario: si sfruttano quasi al massimo le potenzialità della macchina su cui gira tutto. Inoltre, essendo basata su JIT, è possibile effettuare un profiling del codice "al volo" e modificare le parti già "compilate", migliorandole.
Esistono numerosi studi in materia, specialmente da parte di HP (vedi, ad esempio, Dynamo).
cdimauro
17-09-2004, 07:02
Originariamente inviato da Timewolf
ma sono tutte balle...
Che ne sai tu? :rolleyes:
Esempio: i programmi Windows hanno bisogno delle chiavi di registro, sto coso come le "emula" ?
Il registro altri non è che un file... :muro:
Originariamente inviato da cdimauro
Al contrario: si sfruttano quasi al massimo le potenzialità della macchina su cui gira tutto. Inoltre, essendo basata su JIT, è possibile effettuare un profiling del codice "al volo" e modificare le parti già "compilate", migliorandole.
Esistono numerosi studi in materia, specialmente da parte di HP (vedi, ad esempio, Dynamo).
Non ho capito perchè non hanno mai fatto un "compilatore" codice processore X -> codice processore Y. Intendo, non real-time, ma un programma che converte i codici una volta per tutte. Certo non funzionerebbe con programmi automodificanti (ed è questo il problema, a quanto ho capito), ma quanti ce ne sono?!?
cdimauro
19-09-2004, 08:47
Originariamente inviato da Criceto
Non ho capito perchè non hanno mai fatto un "compilatore" codice processore X -> codice processore Y. Intendo, non real-time, ma un programma che converte i codici una volta per tutte.
Quindi dici di prendere un eseguibile per un sistema X e darlo in pasto a un traduttore che genera l'eseguibile (definitivo) per un sistema Y?
Non si può fare. Se si tratta di programmi semplici, per un disassemblatore & traduttore non è un problema riuscire a "capire", partendo dall'inizio del programma, dove sta il codice e dove stanno i dati, e quindi di creare il nuovo eseguibile "tradotto" per la nuova macchina.
Ma sono casi molto semplici, appunto. La norma è che è facile perdere "il filo" dell'esecuzione, a causa di salti a indirizzi calcolati, per cui il disassemblatore "si perde", e non sa più dove andare a sbattere la testa per recuperare il codice.
Difatti il lavoro di disassemblaggio di un programma è un'operazione assolutamente non banale, che richiede espressamente l'intervento di un programmatore esperto e che, partendo dal lavoro fatto dal disassemblatore e analizzandolo, cerca di indicare al disassemblatore come "sbrogliare la matassa", indicandogli via via le parti che lui ha classificato come dati e che in realtà riguardano codice. Certe volte per svolgere questo lavoro è anche necessario utilizzare un debugger per eseguire il codice passo passo per capire meglio come funziona il programma e sistemare le parti più critiche.
Insomma, penso che si sia capito che si tratta di un'operazione praticamente impossibile da portare avanti in maniera automatica da una macchina...
Certo non funzionerebbe con programmi automodificanti (ed è questo il problema, a quanto ho capito), ma quanti ce ne sono?!?
Vedi sopra: quel del codice automodificante è soltanto UN problema.
Attualmente la strada preferibile è quella del JIT, che compila appunto piccoli blocchi di codice "al volo", e di cui conosce la "conformazione", perché si tratta di codice che dev'essere eseguito sul momento. Tra l'altro, proprio perché i pezzi di codice sono piccoli, è facile riuscire a intercettare l'esecuzione di codice automodificante, e prendere provvedimenti.
Se si salvasse da qualche parte tutto questo lavoro di traslazione, in teoria a poco a poco si potrebbe avere quasi un intero eseguibile tradotto per la macchina di destinazione, limitando l'operazione di traduzione ai soli nuovi pezzi di codice che si incontrano per la prima volta. Eventualmente, come dicevo, per i codici più "critici", da cui dipendono le prestazioni, sarebbe sempre possibile effettuare un profiling e generare del codice sempre più ottimizzato (fino a un certo limite, chiaramente).
Non capisco perché nessuno abbia mai messo in pratica quest'idea, tra l'altro abbastanza semplice da implementare. Mah.
cdmauro,
sai tante di quelle cose che mi viene un idea: ma realizziamolo noi due un bel traduttore al volo multipiattaforma!
tu scrivi il codice e io disegno la copertina :D :D :D
pensi potrebbe essere sugli scaffali a natale? :sofico:
cdimauro
20-09-2004, 20:34
Ti ringrazio per i complimenti, ma credo che una scadenza così breve non basterebbe :D, anche se è da anni che coltivo un'idea come questa e non ti nascondo che mi sarebbe piaciuto metterla in pratica...
Purtroppo non c'è mai tempo per cercare di realizzare i propri sogni... :cry:
Timewolf
20-09-2004, 23:05
Originariamente inviato da cdimauro
Che ne sai tu? :rolleyes:
Il registro altri non è che un file... :muro:
Ho detto registro tanto per dire una cosa...
Ogni sistema operativo ha le proprie caratteristiche, alla fine sto coso sarebbe una specie di Wine.
E francamente dubito molto sulla velocita' :rolleyes:
Per la mia affermazione su "sono tutte balle" mi riferivo anche allo screen del pb con quake3, che sa di fake lontano un miglio
cdimauro
21-09-2004, 05:42
Originariamente inviato da Timewolf
Ho detto registro tanto per dire una cosa...
Ogni sistema operativo ha le proprie caratteristiche,
Che possono essere tranquillamente emulate. Qual è il problema?
alla fine sto coso sarebbe una specie di Wine.
Non lo è: basta leggere quel che è stato scritto...
E francamente dubito molto sulla velocita' :rolleyes:
I dubbi da cosa derivano? Dopo tutto quel che ho scritto nei hai ancora? Prendi un sistema che utilizza JIT e vedi quanto veloce può diventare l'emulazione di un sistema.
Esempio: WinUAE, l'emulatore Amiga più diffuso, che ha un rozzo, ma efficace sistema JIT.
Per la mia affermazione su "sono tutte balle" mi riferivo anche allo screen del pb con quake3, che sa di fake lontano un miglio
Potevi anche essere più chiaro...
Timewolf
21-09-2004, 10:25
Originariamente inviato da cdimauro
WinUAE, l'emulatore Amiga più diffuso, che ha un rozzo, ma efficace sistema JIT.
.
Beh Amiga e' un sistema vecchio, nonostante fosse un computer abbastanza complesso direi che le macchine attuali (ed anche le macchine quando usci' uae) sono abbastanza potenti per permettere una emulazione adeguata :)
Comunque chi vivra' vedra'...io sono molto scettico su chi promette la luna senza nulla di concreto da far vedere.
Originariamente inviato da cdimauro
Ti ringrazio per i complimenti, ma credo che una scadenza così breve non basterebbe :D, anche se è da anni che coltivo un'idea come questa e non ti nascondo che mi sarebbe piaciuto metterla in pratica...
Purtroppo non c'è mai tempo per cercare di realizzare i propri sogni... :cry:
è un vero peccato, avevo già pronti i tower di masterizzatori e preso accordi con decine di ambulanti per una distribuzione capillare in tutti i mercati rionali di tutta italia... :(
cdimauro
22-09-2004, 19:40
Originariamente inviato da Timewolf
Beh Amiga e' un sistema vecchio, nonostante fosse un computer abbastanza complesso direi che le macchine attuali (ed anche le macchine quando usci' uae) sono abbastanza potenti per permettere una emulazione adeguata :)
Se vuoi giocarci sì. Ma per Amiga sono uscite tonnellate di software che richiedono molta potenza di calcolo. Prova, ad esempio, a fare un rendering col vecchio Sculpt4D: MUORI ad aspettare che completi un frame. Prova col JIT attivato, e vedrai che le cose cambieranno enormemente.
Comunque chi vivra' vedra'...io sono molto scettico su chi promette la luna senza nulla di concreto da far vedere.
Se ti riferisci all'oggetto della news, ok. Ma su JIT e derivati esiste già del materiale...
x vespero: alla prossima reincarnazione... :D
Sehelaquiel
22-09-2004, 21:48
Ragazzi, ma vi rendete conto delle possibilita?
Cioe', potrei trasportare volendo Doom 3 per windows xp ad un power pc 5 della ibm, con una potenza di calcolo mostruoso.
Quanti fps fara'? :D
cdimauro
23-09-2004, 06:38
Più di 60 sarebbero inutili (Doom3 ha il calcolo dei frame bloccato a 60 al secondo). :)
Comunque, non so a quanti fps andrebbero i Power5 di IBM: senza una GPU potente che elabora vertex e pixel shader, dovrebbero emulare tutto loro, e la potenza di calcolo non basterebbe... :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.