Des machines virtuelles Java ne nécessitant pas de système d’exploitation?

Je sais que BEA travaillait sur LiquidVM qui ne nécessitait pas de système d’exploitation sous-jacent, mais aimerait savoir si quelqu’un dans la communauté open source travaille sur quelque chose de similaire.

Idéalement, j’aimerais trouver une implémentation où la VM est directement chargée par le chargeur de démarrage du système d’exploitation.

De quoi avez-vous besoin?

Peut-être que Sanos peut vous donner une petite partie du code entre le matériel et la JVM que vous pouvez utiliser?

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

Contrairement à SANOS, le système d’exploitation JNode est un système d’exploitation complet avec de nombreux périphériques, systèmes de fichiers, une stack réseau, une stack d’interface graphique, un interpréteur de commandes et une cinquantaine de commandes sockets en charge, etc. JNode fonctionne actuellement sur x86 (32 bits) avec un processeur activé, mais des versions x86-64 et multiprocesseurs sont en cours de développement. (JNode est Java à 99,99%. Porter dans une nouvelle architecture impliquerait la réécriture de 0,01% du code présent dans l’assembleur, la création / modification de pilotes spécifiques au matériel … et l’écriture d’un compilateur de code natif pour la nouvelle architecture.)

Nous avons actuellement environ 7 développeurs actifs, mais nous sums toujours à la recherche de nouvelles personnes pour rejoindre l’équipe, en particulier des personnes qui comprennent la génération de code Java ET, les éboueurs, les pilotes, etc.

(Et pour ce que cela vaut, nous utilisons une version récente des bibliothèques de classes OpenJDK: 1.6u24 au dernier décompte.)

Il existe le projet Sun Squawk, une machine virtuelle qui s’exécute sur du matériel plutôt que sur un système d’exploitation sous-jacent. Utile pour les périphériques intégrés tels que Sun SPOT où Squawk est le système d’exploitation.

Squawk est sous licence GPLv2.

Il y a aussi la machine virtuelle invité du projet , qui est une machine virtuelle hébergée sur l’hyperviseur Xen. Bien que la page d’accueil semble être plutôt légère sur les détails, il y a également un compte Google Tech Talk sur ce projet.

JNode OS est un système d’exploitation écrit principalement en Java.

Oracle semble fonctionner à nouveau dans cette direction

Acquis par l’acquisition de BEA Systems par Oracle … Oracle a ressuscité une technologie de virtualisation d’avant-garde: une machine virtuelle Java s’exécutant directement sur l’hyperviseur, sans système d’exploitation.

voir

  • Virtualisation de la machine virtuelle Java
  • Oracle one-ups VMware avec virtualisation Java

Juste un petit extrait que j’ai vu et entendu.

Le MIT dans les années 60/70 a développé une machine Lisp, c’était une machine qui comprenait insortingnsèquement Lisp, je pense qu’ils l’ont ensuite commercialisée.

Vers 2002, j’avais entendu dire que quelqu’un développait une JVM sur une puce, un FPGA ou un ASIC.

L’histoire de MIT / Lisp est vraie, je l’ai vue dans leur musée. Est-ce que quelqu’un sait s’il existe une vérité sur la JVM sur une puce?

merci Martin.

Je suis très novice en Java et j’ai quelques connaissances en électronique.

JVM est une macjine virtuelle fonctionnant sur un système. Il peut s’agir de Windows ou de la plate-forme x86 de solares. Mais pour autant que je sache, JVM agit comme un système pour le Bytecode que nous compilons. Pour un code d’octet JVM virtualise ses propres ALU, Heap, Stack extra. Il a même sa propre machine et son langage

Ainsi, si nous parvenons à réaliser une spécification JVM sur une puce matérielle, ce ne sera plus une machine virtuelle Java mais je deviendrai une machine Java autonome sur laquelle nous pourrons développer un système d’exploitation écrit à 100% en java.

Donc, dans ce cas, JVM ne sera pas un système d’exploitation mais un système qui comprendra directement le bytecode Java.