./198 >Donc il y a quand même un bout de truc qui n'est pas codé en Java…

Je suis certain que c'est possible de faire sans. (Mais peut-être pas en Java… Le Java n'a pas de pointeurs, d'ailleurs comment ils surmontent ça dans leur VM ?)
Enfin, pour le reste, c'est exactement comme je pensais…
./199 > Enfin Folco, c'est évident que ton processeur n'éxécute que du code qu'il comprend. Et de toutes façons l'OS totalement portable est une utopie. L'avantage d'un OS en langage interprété, c'est que tu vas avoir des services (de base, et éventuellement de niveau supérieur) spécifiques à la machine (la partie qui génère les instructions natives, la gestion de mémoire, etc), mais le coeur et de nombreuses autres parties du systèmes seront exactement les mêmes partout. Ça a quand même un certain avantage. Tu peux fournir des binaires uniques, avec une abstraction matérielle quasi totale. Des drivers "génériques" qui sont installables sur l'OS quel que soit le CPU utilisés (l'EFI permet ça aussi, des drivers en bytecode

).
En gros les composants que tu vas assembler pour former le cœur de ton OS sont individuellement portables (pour la plupart), mais leur union ne l'est pas. (C'est la théorie en tout cas)