2009-04-18 16 views
18

So che BEA stava lavorando su LiquidVM che non richiedeva un sistema operativo sottostante, ma vorrei sapere se qualcuno nella comunità open source sta lavorando su qualcosa di simile.VM Java che non richiedono un sistema operativo?

Idealmente mi piacerebbe trovare un'implementazione in cui la VM viene caricata direttamente dal boot loader del sistema operativo.

+0

che tipo di sistema stavi intenzione di scrivere applicazioni per? –

+0

Intendi una VM che è un SO? – Andy

+0

Haha, bella domanda. Mi piace sentire parlare di progetti come questi. Come piccolo ricordo, ho letto di un progetto open source che ha ottenuto CPython (l'implementazione standard di python) per funzionare su bare-metal e stavano lavorando alla costruzione di un sistema operativo in python :) Purtroppo io ho perso il link da allora. – Falaina

risposta

2

Di cosa hai bisogno?

Forse Sanos può darti una piccola porzione di codice tra l'hardware e la JVM che puoi usare?

http://www.jbox.dk/sanos/

+1

Sanos supporta JDK 1.6 e/o 64-bit? – McGovernTheory

+0

Non per quanto ne so. L'ultimo è 1.4. È open source quindi se ne hai bisogno, sentiti libero di aderire. –

+0

Quindi SANOS morirà perché non ha generato abbastanza interesse per la comunità? – McGovernTheory

4

C'è il progetto Sun Squawk che una VM viene eseguita su hardware invece che su un SO sottostante. Utile per dispositivi embedded come lo Sun SPOT dove Squawk è il sistema operativo.

Squawk è concesso in licenza GPLv2.

+0

Homepage sembra essere http://java.net/projects/squawk/pages/SquawkDevelopment – DerMike

+0

Nota che Squawk è praticamente morto e non è particolarmente recente (Penso che sia ancora a 1,3), quindi non lo consiglierei per eventuali nuovi sviluppi. –

4

C'è anche Project Guest VM, che è una JVM ospitato su Xen hypervisor. Mentre la home page sembra essere piuttosto leggera sui dettagli, c'è anche un Google Tech Talk su questo progetto.

+0

È davvero un progetto molto interessante e promettente. Dovresti modificare la tua risposta e aggiungere anche un riferimento a maxine: https://maxine.dev.java.net/ –

+1

link is 404ed :( – PPPaul

0

Solo un piccolo frammento che ho visto e sentito.

Il MIT negli anni '60/'70 ha sviluppato una macchina Lisp, questa era una macchina che intrinsecamente comprendeva la Lisp, penso che la commercializzarono anche loro.

Avevo sentito dire nel 2002 che qualcuno stava facendo sviluppare una JVM su un chip FPGA o ASIC.

La storia del MIT/Lisp è vera, l'ho vista nel loro museo, qualcuno sa se c'è qualche verità sulla JVM su un chip?

grazie, Martin.

+0

Alcune CPU ARM hanno http://www.arm.com/products/multimedia/ java/jazelle.html - anche se non so se sia una JVM completa o meno (il mio istinto dice che probabilmente non lo è) – andri

+0

Jazelle è * non * una JVM completa, è solo il supporto che consente alla CPU di eseguire * alcune istruzioni * byte-code e quindi rendono più semplice scrivere una JVM performante. –

1

JNode OS è un sistema operativo scritto principalmente in Java.

+0

Qualche idea su come JNODE si confronta con SANOS? – McGovernTheory

13

A differenza di SANOS, il sistema operativo JNode è un sistema operativo completo con molti dispositivi supportati, file system, uno stack di rete, uno stack GUI, una shell di comandi e circa 50 comandi e molto altro ancora. JNode attualmente gira su x86 (32 bit) con un processore abilitato, ma sono in sviluppo versioni x86-64 e multiprocessore. (JNode è Java al 99,99%. Il porting a una nuova architettura comporterebbe la riscrittura dello 0,01% del codice in assembler, la creazione/modifica di driver specifici dell'hardware ... e la scrittura di un compilatore di codice nativo per la nuova architettura.)

Al momento abbiamo ~ 7 sviluppatori attivi, ma siamo sempre alla ricerca di nuove persone per far parte del team, in particolare le persone che capiscono la generazione di codice Java e, i garbage collector, i driver e così via.

(E per quello che vale, si usa una versione recente delle librerie di classi OpenJDK: 1.6u24 all'ultimo conteggio.)

0

Sono molto nuovo a Java e e ho qualche conoscenza di elettronica.

JVM è un macJine virtuale che viene effettivamente eseguito su un sistema. Potrebbe essere una piattaforma Windows o Solares x86. Ma per quanto ne so, la stessa JVM funge da sistema per il Bytecode che compiliamo. Per un codice byte JVM virtualizza il proprio ALU, Heap, Stack extra. Ha persino una propria macchina e un linguaggio assmbly.

Quindi, un po 'come se siamo in grado di realizzare una specifica JVM su un chip hardware, allora non sarà più JVM ma diventerò una Java Machine autonoma su cui possiamo sviluppare un sistema operativo scritto al 100% in java.

Quindi in questo caso JVM non sarà un sistema operativo ma un sistema che comprende direttamente il bytecode java.

1

Oracle sembra funzionare di nuovo in quella direzione

acquisita con l'acquisizione di Oracle di BEA Systems ... Oracle ha resuscitato la tecnologia d'avanguardia virtualizzazione: una Java Virtual Machine che viene eseguito direttamente sul la hypervisor, senza un sistema operativo .

vedere