Voici ce que j'ai dit :
Je reste septique sur l'utilisation d'autre chose que le C pour un OS, (du moins pour le noyau et les pilotes). L'intérêt qu'autre chose que le C reste à prouver.
Je n'ai pas dit que ce n'était pas faisable.
ça prouve qu'il est parfaitement possible de programmer un OS dans d'autres langages.
Et quel est l’intérêt ?
La prédominance du C dans les OS, c'est essentiellement parce qu'il est simple, supporté par tous les fabricants de matériel et connu par tous les programmeurs.
Là je suis d'accord avec toi. Et c'est quand même des éléments majeurs.
Il est à noter qu'à l'origine Unix (origine de Linux, de MacOS via freeBSD) n'était pas programmé en C, mais a été entièrement réécrit en C. Cela date des années 70. Depuis, bien d'autres langages ont été créés, Unix n'a pas été réécrit dessus. Microsoft, qui à la base créait des compilateurs, n'a pas utilisé autre chose que le C/C++ (C++ étant un sur-ensemble de C) pour écrire Wiindows.
Pour tes exemples :
- Haiku : démarré en 2001, en beta depuis septembre 2018 : inexploitable vu la lenteur (j'ai testé). Juste un navigateur : mais qui semble à peu près fonctionnel. Libreoffice a été porté dessus semble t'il. J'ai arrêté là.
- Marte OS : c'est un système temps réel, comme QNX ou windows CE, fourni sous forme de tar.gz : contenant des fichiers .c ??? .Pour un système embarqué, j'utiliserais plutôt de l'Arduino, qu'on programme plutôt ... en C. Par ailleurs il boote via
Grub, le noyau se présente sous forme d'un fichier ELF. Il te faut donc Linux pour le compiler.
- MirageOS : système basé sur le principe d'
unikernel, en gros c'est de la virtualisation, il te faut un hyperviseur. Je ne sais pas si on peut vraiment considérer ça comme un OS.
- Mezzano : On peut lancer Doom ou Quake : super. Rien d'autre d'utile, et pareil : lenteur extrème.
Pour rester objectif, la lenteur est quand-même à pondérer par le fait que j'ai testé en VM. Mais avec l'UEFI maintenant, même pas sûr qu'oin puisse booter en réel (sauf dans le cas d'utilisation de Grub, bootloader de linux).
Tous ces trucs sont des proofs of concepts de possibilité de coder un OS avec autre chose que le C, mais en quoi est-ce mieux, ou moins bien ?
Il existe aussi des Os en js (
OS.js), en VB.net (
Flux OS) : ça n'en fait pas des langages adaptés au remplacement du C pour coder un OS.
Quant à Redox, Super lent et impossible d'aller sur le net, impossible de saisir un eURL dans le browser (j'ai peut-être pas compris comment ça marche)
ReactOS, projet d'OS alternatif compatible Windows est compatibles avec les pilotes windows, fait tourner AbiWorld, Nero, firefox, liste non exaustive. Il est écrit en C et toujours en version Alpha. Pourquoi je le cite ? Car grâce au projet Haiku, dont le test ne m'a que très moyennement convaincu, ReactOS dispose d'un pilote USB de stockage de masse .ReactOS et Wine, connu pour permettre de lancer des executables Windows sous Linux sont des projets qui s'apportent mutuellement des choses.
Je n'ai donc vu aucun des OS sités non écrit en C exploitable (ça veut pas forcément dire qu'il n'y en a pas). Je reconnais le gros travail fait, mais il reste encore beaucoup à faire.
6 |
1 |