2012-12-13 2 views
1

Comme vous pouvez le voir dans le titre, pour une raison quelconque, j'ai besoin de faire fonctionner les fichiers .class sur Minix (un compilateur n'est pas nécessaire). Alors quelqu'un pourrait-il me diriger dans n'importe quelle direction, suggérer de la documentation ou donner des conseils? Généralement, comment le feriez-vous? Jusqu'à présent, j'ai trouvé OpenJDK (mais ce n'est pas exactement ce que je cherche). J'ai également lu "la conception et la mise en œuvre des systèmes d'exploitation" de Tanenbaum. Cela m'a donné beaucoup de perspicacité sur les internes de minix.Portage JVM à MINIX

Répondre

1

Si vous voulez simplement exécuter des fichiers .class sans trop vous soucier des performances, vous pouvez créer un interpréteur de bytecode, ce qui peut être plus simple que de porter/créer un compilateur complet. Vous pouvez trouver le format de ces fichiers de classe détaillés here, et le comportement de la machine virtuelle spécifié here.

Vous devez également choisir un temps d'exécution - OpenJDK et GNU Classpath sont probablement les meilleurs paris - et le port à MINIX en mettant en œuvre ses sont généralement concernés native méthodes dans les méthodes C. native avec des trucs spécifiques à la plate-forme, Comme les appels aux E/S de fichiers, ils ne peuvent donc pas être implémentés dans le langage Java indépendant de la plate-forme.

Vous trouverez d'autres liens et ressources utiles sur this wiki page.

+0

Super, merci, j'ai pensé à l'interprète mais je ne savais pas si c'était possible. – user1902247

+0

Aussi, si c'est possible, pouvez-vous me donner une estimation grossière du temps nécessaire pour ce projet? Je ne sais pas exactement dans quoi je me lance :) – user1902247

+0

Eh bien, cela dépend de votre niveau de compétence et de votre expérience, et de la manière dont vous voulez que le port soit complet :) J'ai travaillé sur le portage de l'OpenJDK au navigateur (voir la page wiki que j'ai liée), et il nous a fallu 2-3 mois environ 1,5 mois pour lancer 'javac'. Cependant, nous ne le faisions pas à temps plein. – int3