Comment créer un simple système d'exploitation

nuggets17 Messages postés 189 Date d'inscription vendredi 16 février 2018 Statut Membre Dernière intervention 17 mai 2019 - Modifié le 22 mars 2018 à 22:59
nuggets17 Messages postés 189 Date d'inscription vendredi 16 février 2018 Statut Membre Dernière intervention 17 mai 2019 - 2 avril 2018 à 15:35
Bonjour,
J'aimerais apprendre à créer un système d'exploitation assez simple sans interface graphique, qui peut comprendre des commandes et lire des fichiers.
J'aimerais savoir quels languages apprendre, sur quoi faut-il me documenter et si je doit me servir d'un noyau déjà fait ou pas (comme le noyau Linux par exemple). Sachant que je connais le Java (mais je pense pas que ça me servira) et un peu le C.
Je sais qu'il faut que j'apprenne l'assembleur mais je ne sais pas lequel choisir et je crois qu'il faudrait aussi connaître le C++. Je sais aussi que cela peut prendre des semaines ou des mois.

Pour infos, je ne suis qu'en troisième mais je connais déjà plein de choses. J'arrive à comprendre l'anglais (même si je préfèrere les documentations en français :D) et me débrouille assez bien en maths.
J'ai déjà cherché des sujets sur internet mais la plupart dates de 2004-2008 et sachant que les languages de programmation ont évolué et que d'autres sont apparus...

En espérant que vous pourrez m'aider
Merci d'avance.

edit : j'ai un processeur intel i5 6400. Ça pourra peut-être servir pour le language assembleur

2 réponses

NHenry Messages postés 15069 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 mai 2023 158
22 mars 2018 à 23:05
Développer un OS en partant de rien est vraiment très difficile, si tu hésites, cela indique que tu manque d’expérience.
Je te recommande donc déjà d'essayer de faire des programmes plus simple avant de t'attaquer à cela.
0
nuggets17 Messages postés 189 Date d'inscription vendredi 16 février 2018 Statut Membre Dernière intervention 17 mai 2019
23 mars 2018 à 09:26
J'ai déjà fait des programmes simple comme créer des mods pour des jeux, mais j'ai envie de me documenter pour apprendre à créer un OS.
Je ne compte pas en faire un gros qui rivalisera avec Windows ou Linux. Je veux juste en faire un simple qui comprend des commandes simples (comme bash sur linux ou batch sur windows). Par exemple la commande 'echo' qui affiche un message comme Hello World !
0
NHenry Messages postés 15069 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 mai 2023 158
23 mars 2018 à 18:20
Oui, mais un OS fait plein de choses, entre autre, la gestion de la RAM, la gestion du matériel avec les drivers (mémoire, processeur, Controleur de disque, ... ) rien que ça tu vas t'amuser pendant un moment.
0
nuggets17 Messages postés 189 Date d'inscription vendredi 16 février 2018 Statut Membre Dernière intervention 17 mai 2019 > NHenry Messages postés 15069 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 mai 2023
23 mars 2018 à 20:16
Je le sais déjà et ça ne me fais pas peur. Ça peut prendre un mois, ce n'est pas grave. J'aimerais déjà savoir où il faut que je me documente.
0
NHenry Messages postés 15069 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 mai 2023 158
24 mars 2018 à 22:57
Cela te prendra largement plus que 1 mois.
Désolé, je n'ai pas assez de connaissance sur le sujet pour vraiment t'aiguiller.
Il te faudra au minimum :
- Un bootloader
- Gestion des disques (SSD, HDD, USB aussi, je pense)
- Gestion de l'affichage
- Gestion de la RAM
- Gestion des E/S (clavier/écran)
- ...
Plus toute la logique pour interpréter les commandes et faire des actions.

Même si cela semble simple, il faudra le faire à un bas niveau matériel (assembleur, ou au plus haut C ).
Comme il te faudra communiquer avec le matériel, la machine de test sera importante, je te recommande une VM pour commencer (moins grave si plantage et plus facile à manipuler/deboguer).
0
nuggets17 Messages postés 189 Date d'inscription vendredi 16 février 2018 Statut Membre Dernière intervention 17 mai 2019
24 mars 2018 à 23:38
Le minimum disque dur, ram, affichage etc.. je le savais déjà.
Pareil pour le C et l'assembleur. Je suis d'ailleurs en train de reviser entièrement tout le language C.
Je sais aussi que une machine virtuelle est plus simple car il n'y a pas besoin de redémarrer, mais en quoi cela est-il moins grave si jamais l'ordi plante ?
0
nuggets17 Messages postés 189 Date d'inscription vendredi 16 février 2018 Statut Membre Dernière intervention 17 mai 2019
2 avril 2018 à 15:35
Bon voilà, j'ai bien réviser le C !
Quelqu'un pourrait-il me dire si il serait bien d'apprendre le C++ ?

Concernant, l'assembleur je suis en train de me documenter sur l'architecture d'Intel : https://software.intel.com/en-us/articles/intel-sdm#combined

Et ensuite je commencerai ce tutoriel : https://michelizza.developpez.com/realiser-son-propre-systeme/
0