• [^] # Re: Pour moi c'est un peu magique ...

    Posté par . En réponse au journal Linux dans votre navigateur web. Évalué à 5.

    Voir http://bellard.org/jslinux/tech.html

    Il y a le strict minimum pour faire fonctionner Linux, mais ce n'est pas un "PC" complet:

    • Un CPU assez proche du 486
    • Un 16450 UART : la sortie série est relié à un terminal (lui aussi émulé en Javascript) qui permet d'afficher la console que l'on voit.
    • 8259 Programmble Interrupt Controller / 8254 Programmble Interrupt Timer --> de quoi gérer les interruptions

    Tout le reste il n'y a pas : pas de disque dur, pas de réseau, pas de carte graphique, pas de carte son.

    Traduction à l'arache sur la partie abordant le CPU :

    • Pas de FPU, MMX, SSE. La partie FPU est émulée par Linux (comme au temps des 386 sans FPU).
    • Pas de vérifications de la limite et des droits sur les segments, parce que Linux n'en a pas besoin (QEMU fait pas pareil)
    • Pas CS/DS/ES/SS "segment overrides" --> ces registres de segment ne peuvent pas être utilisés explicitement par instructions assembleur. L'overrides de FS/GS overrides sont implémentés car "Thread Local Storage" de Linux en ont besoin.
    • Pas de single-settping
    • Pas de mode réel
    • Quelques rares instructions ne sont pas implémentées (BCD, BOUND, ...)
    • Pas de mode protégé 16 bits (bien que les instructions 16 bits soient implémentées)

    Perso, je me demande comment la partie réseau peut être implémentée, vu les restrictions des navigateurs pour tout ce qui est réseau.

    C'est assez bluffant en tout cas.