JNode version 0.2.6

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
0
6
mar.
2008
Java
Peu de temps avant FOSDEM (en Belgique, à Bruxelles), l'équipe a annoncé la version 0.2.6 de JNode, le système d'exploitation libre (LGPL), basé sur la technologie Java et écrit entièrement en langage Java (avec un très petit micro-noyau en assembleur).

Cette version atteint plus de 99 % de compatibilité avec l'API de Java 6 et apporte le hotswapping ("remplacement de code à la volée", pour le debugage), les systèmes de fichiers NFS et HFS+, encore plus d'intégration d'OpenJDK, Jetty 6 et bien sûr des corrections de bugs et des améliorations. Nous souhaitons remercier tous les contributeurs pour leurs efforts ayant rendu cela possible.

Aller plus loin

  • # ...

    Posté par  . Évalué à 3.

    Ca aurait été sympa de faire un petit topo sur jnode et sur ce que ça apporte et ce qu'ils comptent en faire.

    Sinon j'ai essayé le live cd dans qemu, mais ca plante.
    Ils ont pas prévu une version user-mode qui ce lance dans une jvm java classique ? Ca pourrait sympa pour testé (et même pour faire du dev hors driver).

    Au passage ca pourrait etre marrant de le faire tourner dans jpc [1] : faire tourner un OS java pour x86 dans un simulateur x86 en java :)

    [1] (http://www-jpc.physics.ox.ac.uk/index.html)
    • [^] # Re: ...

      Posté par  (site web personnel) . Évalué à -1.

      > Ca aurait été sympa de faire un petit topo sur jnode et sur ce que ça apporte et ce qu'ils comptent en faire.

      Ah oui, tu as raison, tu peux le faire, ici, tout de suite, parceque quelqu'un s'est déjà décidé à faire la news, et d'autres l'ont ajustée, tu peux donc la compléter.
  • # un os en java ?

    Posté par  . Évalué à 2.

    Euh... Loin de moi l'idée de vouloir lancer un troll, mais il me semble que java n'est pas vraiment réputé pour sa rapidité. Par conséquent, un OS entier en Java, est-ce que ça ne risque pas d'être un peu lourdingue ?

    En bref, quel est l'intérêt d'un OS en java ?
    • [^] # Re: un os en java ?

      Posté par  . Évalué à 2.

      >En bref, quel est l'intérêt d'un OS en java ?

      La sécurité déjà.
      Les OS en C ne se sont pas montré à la hauteur de ce point de vue la: c'est la course aux patchs en permanence.

      Après Java tout seul coté sécurité, c'est probablement insuffisant, il manque la notion de 'capabilities' http://en.wikipedia.org/wiki/Capabilities dans le langage.
      • [^] # Re: un os en java ?

        Posté par  . Évalué à 4.

        La sécurité déjà.

        Hum... L'argument ne me paraît que trés peu convainquant. Un programme sans bug n'existe pas, quelque soit le langage dans lequel il a été développé. Peut-être qu'on gagne un peu de sécurité via des structures de données robustes, mais ça ne réglera pas les erreurs de conception.

        Et puis, si je ne m'abuse, les systèmes BSD sont réputés pour leur sécurité. Ils sont bien codés en C ?

        La sécurité, c'est un processus, pas une technologie.
        • [^] # Re: un os en java ?

          Posté par  . Évalué à 3.

          >les systèmes BSD sont réputés pour leur sécurité. Ils sont bien codés en C ?

          OpenBSD surtout.. Et Théo a dit dans une interview qu'un des bug le plus difficile a trouver lors des relectures de code est le depassement entier, problème rarement exploitable en Java (à part pour un déni de service)..

          De plus, je n'ai pas dit que Java était l'arme ultime, juste que cela résolvait toute une catégorie d'erreur de sécurité, dans le sens ou si les erreurs sont la, au moins elles ne sont pas exploitable.
          Un déni de service étant quand même en général moins grave pour une entreprise, qu'un bug permettant a un cracker de devenir root..
        • [^] # Re: un os en java ?

          Posté par  (site web personnel) . Évalué à 2.

          Un programme sans bug n'existe pas, quelque soit le langage dans lequel il a été développé.
          Justement. L'intérêt d'une plateforme comme Java est de proposé une couche d'abstraction (machine "virtuelle") et un environnement d'exécution autorisant un contrôle total du code exécuté, celui-ci étant comme tu dis souvent buggué (rien n'est parfait).
          Le problème des OS actuels c'est qu'ils autorisent l'exécution de code machine arbitraire, le contrôle est beaucoup plus délicat : l'OS est généralement obligé de s'appuyer sur le hard avec par exemple la gestion des ring pour cloisonner les privilèges accordés au code qui s'exécute.
          L'OS Singularity de MS qui se base comme JNode sur une plateforme d'exécution entièrement controlée ("managed") n'a par exemple pas besoin de ce type de cloisonnement "hard" qui a un coût non néligeable sur les perfs (il faut basculer du contexte utilisateur où s'exécute le soft au contexte noyau lors des appels systèmes).
    • [^] # Re: un os en java ?

      Posté par  (site web personnel) . Évalué à 2.

      Je suppose qu'une fois compilé en binaire, c'est plus rapide ( avec gcj par exemple).
      • [^] # Re: un os en java ?

        Posté par  (site web personnel) . Évalué à 2.

        Oui, d'ailleurs, y a-t-il des parties compilées en binaire et d'autres en bytecode tournant sur la JVM ?
      • [^] # Re: un os en java ?

        Posté par  . Évalué à 2.

        Chouette, un début de troll sur la vitesse de Java!

        Bon, alors déjà gcj c'est peut-être bien mais côté vitesse, la dernière fois que j'ai essayé c'était beaucoup plus lent que la JVM de SUN.
        Cette dernière d'ailleurs, une fois "chauffée" se montre étonnament véloce. Sur du bout de code C transcrit en Java, j'avais une perte de moins de 10% sur les perfs avec la version Java.
        Bon, par contre j'avais pas trop regardé toutes les optimisations de compilation de gcc et m'étais contenté d'un -O2 (aucune amélioration avec -O3).

        Dans son état actuel GCJ permet éventuellement d'améliorer la vitesse de démarrage et l'empreinte mémoire. Et encore c'est même pas sûr qu'il y arrive de manière vraiment significative.
        • [^] # Re: un os en java ?

          Posté par  . Évalué à 2.

          Ensuite ça dépend du bout de code en question. Si c'est un truc qui fait que des io ou si c'est une implémentation de AKS en Java :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.