IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Le noyau Linux débarque sur les navigateurs Web


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    Juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 374
    Par défaut Le noyau Linux débarque sur les navigateurs Web
    Le noyau Linux débarque sur les navigateurs Web
    Grâce à un émulateur en JavaScript, un exploit signé Fabrice Bellard



    Nombreux sont nos lecteurs à s’être interrogés récemment sur l'utilité conceptuelle de l'ajout de capacités de Peer-2-Peer aux navigateurs, entrepris par le W3C ; mais que penseraient-ils d'y voir tourner le noyau Linux ?

    C'est l'exploit inouï revendiqué par Fabrice Bellard et réalisé d'après lui uniquement « pour le fun » grâce aux nouveaux moteurs JavaScript « assez rapides pour permettre de faire des choses compliquées »

    Bellard, cet informaticien et mathématicien français de renommée vient en effet de publier sur son site un émulateur PC, entièrement écrit en JavaScript qui permet de lancer un noyau Linux minimaliste (avec un terminal) directement dans le navigateur.

    Un tour de force qui fait réagir les grosses pointures du langage JavaScript, y compris son inventeur et membre de la fondation Mozilla Brendan Eich qui se réjouit de voir cet émulateur fonctionner « deux fois plus vite » sur JaegerMonkey que sur le moteur V8 de Google.

    Quoi qu'il en soit, le résultat fonctionne sous Google Chrome 11 et Firefox 4 au rythme d'un ordinateur sorti tout droit des années 90 avec un vénérable processeur 486 de chez Intel.



    L'émulateur ne dispose toutefois pas d'une unité de calcul des nombres à virgule flottante, un manque heureusement émulé par la version du noyau Linux utilisée (2.6.20), sortie en 2007.

    Cet exploit rappelle en tout cas que Google n'est pas le seul à en demander plus aux navigateurs, qui quittent progressivement le statut d'applications au sens classique du terme.


    Source : site de Fabrice Bellard, compte twitter de Brendan Eich

    Et vous ?

    Que pensez-vous de cet exploit ?

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    C'est une belle performance !
    Je n'ai malheureusement pas pu tester n'ayant pas au boulot une version de FF à jour.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Par défaut
    Le résultat est très impressionnant. Dommage que cela ne fonctionne qu'avec FF4 ou Chrome11, mais bon, l'utilisateur est prévenu… et puis honnêtement, à part le fun je ne vois pas l'intérêt !

    Compliments à l'inventeur en tout cas

  4. #4
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 186
    Par défaut
    Impressionnant
    On peut compiler hello.c avec tcc, c'est chouette.
    C'est quand même super lent, mais si ça évolue je suis pressé de voir ce que ça va donner.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    je viens de tester, y'a just SH comme shell on dirait. Mais bon, impressionant le resultat

  6. #6
    Membre chevronné Avatar de tumoo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 309
    Par défaut
    Hello World

    belle perf'

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Par défaut
    Waouh !
    Là je suis scotché.
    Dommage que ce linux n'aie pas accès au net, ça aurait permis de faire des choses rigolotes...

  8. #8
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    Oui c'est vraiment impressionnant ce que l'on peut faire avec un navigateur web. Émulateur Linux, incorporation de 3D avec WebGL.
    Bientôt il suffira d'installer un navigateur sur le pc et ça remplacera l'OS. ^^

    ps : j'ai essayé rm * => Ca marche et c'est très réactif lol

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 49
    Par défaut
    j'y vois un grand intérêt pédagogique pour une première intro à linux.

  10. #10
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut


    Tout simplement E-N-O-R-M-E!

    Personnellement, je le trouve très réactif : 4 secondes de "boot" et après ça tourne nickel...

    rm -rf / puis F5 puis rm -rf / puis F5 puis...

  11. #11
    Membre très actif Avatar de Elepole
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 504
    Par défaut
    Citation Envoyé par TNT89 Voir le message


    rm -rf / puis F5 puis rm -rf / puis F5 puis...
    Rien que pour sa c’est l'invention du siècle.

  12. #12
    Membre très actif Avatar de Firwen
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 472
    Par défaut
    Impressionnant, les perfs de la chose sont vraiment impressionnante.

    A quand le bindings WebGL pour lancer xorg dans un navigateur ?

  13. #13
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    j'ai du mal à comprendre comment ça marche

    - les fichier du system sont ou ?
    - les fichier créer sont ou ?
    - C'est écrit en javascript, mais quel partie ?
    - comment du javascript peut elle lancer une distrib linux ?

    Je dois dire que je suis un peux largué sur ce coup là
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  14. #14
    Membre très actif

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Par défaut
    cf mon précédent message

    il y a 2 scripts javascripts : le premier simule le terminal (term.js), le second émule totalement un processeur (cpux86.js dans le même genre que qemu)

    si tu regardes le second script, tu as tout à la fin une fonction start() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function start() {
        var Hf, i, start, If, Jf;
    ...
        ya.load_binary("vmlinux26.bin", 0x00100000);
        Jf = ya.load_binary("root.bin", 0x00400000);
        start = 0x10000;
        ya.load_binary("linuxstart.bin", start);
    ...
    }
    C'est cette fonction start qui charge d'une part, le noyau vmlinux26.bin qui a été compilé à part, et d'autre part, le filesystem contenu dans root.bin (et aussi un autre truc linuxstart.bin que je ne sais pas à quoi il sert visiblement, "démarrer" le système).

    Tu peux d'ailleurs télécharger ces 3 fichiers (et également les 2 javascript) et mettre tout ça chez toi et ça marchera pareil (je l'ai d'ailleurs fait).

    Ensuite, j'avoue que je suis absolument incapable de comprendre comment ça va plus loin j'imagine que le script construit un objet qui va être ta machine virtuelle et que, d'une manière ou d'une autre, ce petit code de 7000 lignes à peine arrive à interpréter le noyau qui va à son tour amorcer linux et le filesystem... mais franchement, pour moi, c'est de la magie noire

    si tu télécharges ce filesystem sur un linux, tu peux parfaitement le monter et le modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ sudo mount root.bin /mnt/jslinux/
    Password:
    $ ls /mnt/jslinux/
    bin  dev  etc  lib  linuxrc  lost+found  mnt  proc  root  sbin  tmp  usr

    Edit :

    Citation Envoyé par Golgotha Voir le message
    - les fichier du system sont ou ? << dans l'image root.bin
    - les fichier créer sont ou ? << dans la mémoire de ton PC : ils sont perdus si tu fermes la fenêtre
    - C'est écrit en javascript, mais quel partie ? << le terminal et l'émulateur du processeur
    - comment du javascript peut elle lancer une distrib linux ? << parce que le javascript émule une machine, et que du coup, comme tout émulateur, c'est capable de lancer du code machine

  15. #15
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut
    Citation Envoyé par Golgotha Voir le message
    - les fichier du system sont ou ?
    - les fichier créer sont ou ?
    Dans un ramdisk (d'après les informations affichées au boot)
    Citation Envoyé par Golgotha Voir le message
    - C'est écrit en javascript, mais quel partie ?
    Au moins le terminal et l'émulateur. Peut-être même que le noyau a été traduit en Javascript.
    Citation Envoyé par Golgotha Voir le message
    - comment du javascript peut elle lancer une distrib linux ?
    Ce n'est pas une distribution. Mais si le noyau a été traduit en Javascript, c'est assez "facile".


    Citation Envoyé par santana2006 Voir le message
    Excusez moi j'ai pas bien compris ce que cela veut dire, c'est quoi le principe, et quels sont les possibilités
    Il n'y a pas d'application directe, mais c'est un hack qui mérite d'être souligné. C'est déjà une opération assez délicate en C, mais en JS, c'est véritablement un exploit.

    Citation Envoyé par santana2006 Voir le message
    Je l'ai testé, et je comprends pas d'où vient l'OS où on fait le test ?
    C'est un Linux avec Busybox.

  16. #16
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 96
    Par défaut
    Génial vraiment Génial comme nouvelle. Y a t'il un moyen de récupérer ou de construire le "Système"??

    Y a t'il un moyen dans le cas ou il est possible de reconstruire "l'Os" de mettre en place un système de sauvegarde des fichiers?

  17. #17
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    Le système de sauvegarde se ferait certainement grâce à un serveur je pense.
    L'idéal serait de faire les sauvegardes sur le poste client mais je ne connais pas après si on ne dispose pas d'un OS.

  18. #18
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    j'arrive pas à quitter vi
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  19. #19
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    emacs non plus ^^

  20. #20
    Membre chevronné Avatar de tumoo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 309
    Par défaut
    Citation Envoyé par Golgotha Voir le message
    j'arrive pas à quitter vi
    :wq ?

    ça fonctionne chez moi

Discussions similaires

  1. Le noyau Linux débarque sur les navigateurs Web
    Par Idelways dans le forum Actualités
    Réponses: 0
    Dernier message: 18/05/2011, 12h51
  2. Questions sur les navigateurs web
    Par Eric_M dans le forum C#
    Réponses: 3
    Dernier message: 07/06/2010, 16h54
  3. Réponses: 14
    Dernier message: 20/08/2006, 00h00
  4. PNG sur les pages Web
    Par Crayon dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 28/07/2006, 20h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo