2009-08-19 20 views
0

Normalement, les chargeurs de courroies de démarrage sont écrits en utilisant des langages d'assemblage. Est-il possible de le doter en utilisant java avec une interface native.Chargeur Bootstrap utilisant Java

Répondre

2

Il y a quelques solutions possibles:

  1. Il existe du matériel, qui est capable de exécuter Java bytecode.
  2. Vous pouvez également compiler le code Java au code natif avec différents compilateurs .
  3. Enfin, vous pouvez avoir un mini-chargeur, que commence le reste du processus dans Java.

Aucune de ces solutions n'est facile ou n'a de sens. Mais possible - oui.

Pour être complet: JNode est un projet visant à créer un système d'exploitation PC en Java. Les réponses à this question peuvent également être utiles. Il demande des pilotes de périphériques en Java, et ce n'est pas complètement la même question, mais certaines des solutions présentées dans les réponses peuvent aussi être utiles pour votre question.

+1

+1 pour mentionner JNode –

0

Bien sûr que oui. Une meilleure question serait de savoir si elle est pratique ou non, et si elle offrirait des avantages valant le temps de mise en œuvre par rapport aux méthodes existantes.

1

Je ne veux pas dire catégoriquement non, parce que je suis sûr que si quelqu'un avait trouvé une façon de le faire, mais ce serait certainement très difficile (et peut-être stérile). Pour que Java s'exécute sur une machine virtuelle Java, vous devez démarrer nativement une quantité suffisante du système d'exploitation de manière native, puis passer à Java serait une perte de temps (cela ne servirait à rien d'autre qu'à ajouter de la complexité).

Certains périphériques peuvent exécuter "nativement" un bytecode là où c'est possible, mais je ne pense pas que ce soit viable la plupart du temps.

0

@Mnementh a mentionné JNode. Pour l'enregistrement, JNode utilise GRUB comme chargeur de bootstrap. Je suis d'accord avec @Mnementh que l'implémentation d'un chargeur de démarrage en Java serait techniquement possible bien que probablement difficile. Mais ma question à l'OP est "pourquoi voudriez-vous le faire?". Je ne vois pas le point.

+0

pas dans la pratique.Mais une certaine curiosité à savoir est-ce possible ou pas (Peut-être en raison du manque de connaissances en JVM.excuse moi ... pour cela ..) –