[OS] Kernel et Méthodes
Résolu/Fermé
A voir également:
- [OS] Kernel et Méthodes
- Reinstaller mac os - Guide
- Mac os 14 - Accueil - MacOS
- Chrome os iso - Guide
- Mac os 15 - Accueil - MacOS
- Atlas os - Télécharger - Systèmes d'exploitation
5 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
17 nov. 2016 à 21:59
17 nov. 2016 à 21:59
Bonjour,
Java est un langage interprété, donc si ton OS devait s'exécuter en Java, il faudrait s'appuyer sur une machine virtuelle, généralement écrite en C, et qui s'appuie déjà sur l'OS sous-jacent.
Je pense que tu peux considérer la JVM comme étant ton kernel et faire ton OS par dessus à partir des fonctionnalités de Java.
Java est un langage interprété, donc si ton OS devait s'exécuter en Java, il faudrait s'appuyer sur une machine virtuelle, généralement écrite en C, et qui s'appuie déjà sur l'OS sous-jacent.
Je pense que tu peux considérer la JVM comme étant ton kernel et faire ton OS par dessus à partir des fonctionnalités de Java.
Merci "KX" pour ta réponse.
Effectivement, c'est une très bonne idée, je n'y avais pas pensé ;)
Ah tu une piste a me donner, faut t'il que ma JVM est une JRE déjà installer dessus ?
Sinon, encore merci pour cette magnifique idée, encore fallait t'il y pensé;).
Effectivement, c'est une très bonne idée, je n'y avais pas pensé ;)
Ah tu une piste a me donner, faut t'il que ma JVM est une JRE déjà installer dessus ?
Sinon, encore merci pour cette magnifique idée, encore fallait t'il y pensé;).
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 17/11/2016 à 23:35
Modifié par KX le 17/11/2016 à 23:35
Par contre, qu'est ce que vous entendez par:
"Je pense que tu peux considérer la JVM comme étant ton kernel et faire ton OS par dessus à partir des fonctionnalités de Java.
"
Créer un OS sur une Machine Virtuel, OK mais comment je lance mon .jar sur une JVM ? LA JVM ne peut boot que des .iso.
Merci pour vos réponses.
"Je pense que tu peux considérer la JVM comme étant ton kernel et faire ton OS par dessus à partir des fonctionnalités de Java.
"
Créer un OS sur une Machine Virtuel, OK mais comment je lance mon .jar sur une JVM ? LA JVM ne peut boot que des .iso.
Merci pour vos réponses.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
18 nov. 2016 à 18:39
18 nov. 2016 à 18:39
La JVM : Java Virtual Machine, c'est le programme qui exécute les fichiers .class de bytecode Java lorsque tu utilises la commande "java" en ligne de commandes.
Ça n'a rien à voir du tout avec une machine virtuelle genre VirtualBox qui simule des OS existants, ça c'est le travail qu'il te reste à faire...
Donc lancer un jar sur une JVM ça veut juste dire démarrer le Jar comme n'importe quel autre programme Java que tu as déjà pu faire.
Ça n'a rien à voir du tout avec une machine virtuelle genre VirtualBox qui simule des OS existants, ça c'est le travail qu'il te reste à faire...
Donc lancer un jar sur une JVM ça veut juste dire démarrer le Jar comme n'importe quel autre programme Java que tu as déjà pu faire.
Ah... ok je viens de comprendre, mais le pbl de cette technique c'est qu'il faut un OS par derrière (linux par ex) pour que mon OS a moi puisse tourner.
Je vais donc oublier cette technique, elle ne répond pas a mes besoins, moi, j'ai juste besoins d'un Kernel qui appelle un .jar des son lancement (comme Android).
Merci.
Je vais donc oublier cette technique, elle ne répond pas a mes besoins, moi, j'ai juste besoins d'un Kernel qui appelle un .jar des son lancement (comme Android).
Merci.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
18 nov. 2016 à 20:08
18 nov. 2016 à 20:08
"j'ai juste besoins d'un Kernel qui appelle un .jar des son lancement (comme Android)"
Un tel kernel ne sera pas en Java, Android c'est un noyau Linux (en C/C++ donc), avec une JVM écrite dans ce langage comme pour Windows et autres.
Donc sur Android (même si derrière ce n'est pas exactement du Java) le code qui s'exécute est lancé dans la VM (Dalvik) de manière tout à fait comparable à la JVM sur un Windows.
Donc si ton programme Java fonctionne sur un Windows et exécute un OS, ce sera tout à fait comparable à ce que ferait un hypothétique kernel qui mettrait à disposition une JVM (ce que même JNode a du mal à faire correctement).
Certaines tentatives (plus ou moins abouties) consistent à faire un processeur capable d'interpréter directement le bytecode Java, mais le principe est le même, ça reproduit une JVM (aux limitations près) et ton code s'exécute dessus.
Donc dans tout les cas c'est la même chose. Si tu veux le faire en Java il te faut une JVM peu importe quelle soit matérielle (processeur Java), système (JNode) ou logicielle (sur un noyau Linux comme Android, ou Windows).
Et le code dans ton jar derrière sera le même... seule la JVM changera.
Un tel kernel ne sera pas en Java, Android c'est un noyau Linux (en C/C++ donc), avec une JVM écrite dans ce langage comme pour Windows et autres.
Donc sur Android (même si derrière ce n'est pas exactement du Java) le code qui s'exécute est lancé dans la VM (Dalvik) de manière tout à fait comparable à la JVM sur un Windows.
Donc si ton programme Java fonctionne sur un Windows et exécute un OS, ce sera tout à fait comparable à ce que ferait un hypothétique kernel qui mettrait à disposition une JVM (ce que même JNode a du mal à faire correctement).
Certaines tentatives (plus ou moins abouties) consistent à faire un processeur capable d'interpréter directement le bytecode Java, mais le principe est le même, ça reproduit une JVM (aux limitations près) et ton code s'exécute dessus.
Donc dans tout les cas c'est la même chose. Si tu veux le faire en Java il te faut une JVM peu importe quelle soit matérielle (processeur Java), système (JNode) ou logicielle (sur un noyau Linux comme Android, ou Windows).
Et le code dans ton jar derrière sera le même... seule la JVM changera.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question