2009-04-18 14 views
18

Ich weiß, dass BEA an LiquidVM arbeitete, die kein zugrunde liegendes Betriebssystem erforderte, aber gerne wissen würde, ob irgendjemand in der Open Source Community an etwas ähnlichem arbeitet.Java VMs, die kein Betriebssystem benötigen?

Idealerweise würde ich gerne eine Implementierung finden, wo die VM direkt vom Bootloader des Betriebssystems geladen wird.

+0

, welche Art von System wurden Sie Anwendungen zu schreiben, die beabsichtigen? –

+0

Sie meinen eine VM, die ein Betriebssystem ist? – Andy

+0

Haha, nette Frage. Ich höre gerne von Projekten wie diesen. Als kleine Nebensache erinnere ich mich an ein Open-Source-Projekt, das CPython (die Standard-Python-Implementierung) auf Bare-Metal laufen ließ und an einem Betriebssystem in Python arbeitete :) Ich habe den Link seither verloren. – Falaina

Antwort

2

Was brauchen Sie?

Vielleicht kann Sanos Ihnen ein kleines Stück Code zwischen der Hardware und der JVM geben, die Sie verwenden können?

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

+1

Unterstützt Sanos JDK 1.6 und/oder 64-Bit? – McGovernTheory

+0

Nicht so weit ich weiß. Das Neueste ist 1.4. Es ist Open Source, also wenn Sie es brauchen, zögern Sie nicht beizutreten. –

+0

Also wird SANOS sterben, weil es nicht genügend Interesse für die Community generiert hat? – McGovernTheory

4

Es gibt das Sun-Projekt Squawk, das eine VM, die auf Hardware statt eines zugrunde liegenden Betriebssystems ausgeführt wird. Nützlich für Embedded-Geräte wie die Sun SPOT, wo Squawk das Betriebssystem ist.

Squawk ist unter GPLv2 lizenziert.

+0

Homepage scheint zu sein http://java.net/projects/squawk/pages/SquawkDevelopment – DerMike

+0

Beachten Sie, dass Squawk ziemlich tot ist und nicht besonders neu ist (Ich denke, es ist immer noch bei 1,3), also würde ich es nicht für neue Entwicklungen empfehlen. –

4

Es gibt auch Project Guest VM, die eine JVM auf Xen-Hypervisor gehostet. Während die Homepage in Bezug auf Details eher hell erscheint, gibt es zu diesem Projekt auch eine Google Tech Talk.

+0

Es ist in der Tat ein sehr interessantes und vielversprechendes Projekt. Sie sollten Ihre Antwort bearbeiten und auch einen Verweis auf Maxine hinzufügen: https://maxine.dev.java.net/ –

+1

Link ist 404ed :( – PPPaul

0

Nur ein kleiner Ausschnitt, den ich gesehen und gehört habe.

MIT in den 60er/70er Jahren entwickelt eine Lisp-Maschine, das war eine Maschine, Lisp intrinsisch verstanden, ich denke, dass sie auf Kommerzialisierung ging es auch.

Ich hatte etwa 2002 gehört, dass jemand tat, um eine JVM auf einem Chip ein FPGA oder ASIC zu entwickeln.

Die MIT/Lisp Geschichte ist wahr, ich habe es in ihrem Museum gesehen, weiß jemand, ob es etwas über die JVM auf einem Chip gibt?

danke, Martin.

+0

Einige ARM-CPUs haben http://www.arm.com/products/multimedia/ java/jazelle.html - obwohl ich nicht weiß, ob es eine voll ausgestattete JVM ist oder nicht (mein Bauchgefühl sagt wahrscheinlich nicht) – andri

+0

Jazelle ist * nicht * eine voll ausgestattete JVM, es ist nur Unterstützung, die die CPU ausführen kann * einige * byte-code-Anweisungen und machen es so einfacher, eine performante JVM zu schreiben –

1

JNode OS ist ein Betriebssystem, das hauptsächlich in Java geschrieben ist.

+0

Irgendwelche Gedanken darüber, wie JNODE mit SANOS verglichen wird? – McGovernTheory

13

Im Gegensatz zu SANOS ist das Betriebssystem JNode ein vollständiges Betriebssystem mit vielen unterstützten Geräten, Dateisystemen, einem Netzwerkstapel, einem GUI-Stack, einer Befehlsshell und etwa 50 Befehlen und vielem mehr. JNode läuft derzeit auf x86 (32 Bit) mit einem Prozessor aktiviert, aber x86-64 und Multi-Prozessor-Versionen sind in Entwicklung. (JNode ist 99,99% Java. Die Portierung auf eine neue Architektur würde das Neuschreiben der 0,01% Code in Assembler, das Erstellen/Ändern von hardwarespezifischen Treibern und das Schreiben eines nativen Code-Compilers für die neue Architektur erfordern.)

Wir haben derzeit ~ 7 aktive Entwickler, aber wir suchen immer neue Leute, um dem Team beizutreten, besonders Leute, die Java UND Code-Generierung, Müllsammler, Treiber und so weiter verstehen.

(Und für das, was es wert ist, verwenden wir eine aktuelle Version der OpenJDK-Klassenbibliotheken: 1.6u24 bei der letzten Zählung.)

0

Ich bin sehr neu in Java und und ich habe einige Kenntnisse der Elektronik.

JVM ist ein virtueller Macjine, der tatsächlich über ein System läuft. Es kann Windows oder Solar X86-Plattform sein. Aber soweit ich weiß JVM selbst als ein System für den Bytecode, den wir kompilieren. Für einen Bytecode virtualisiert JVM seine eigene ALU, Heap, Stack extra. Es hat sogar eine eigene Maschinen- und Assemblersprache.

So, wenn wir eine JVM-Spezifikation auf einem Hardware-Chip realisieren können, dann wird es nicht JVM mehr sein, aber ich werde eigenständige Java Machine werden, über die wir ein 100% in Java geschriebenes Betriebssystem entwickeln können.

Also in diesem Fall wird JVM kein Betriebssystem sein, sondern ein System, das Java-Bytecode direkt versteht.