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

nuggets17 62 Messages postés vendredi 16 février 2018Date d'inscription 19 avril 2018 Dernière intervention - 22 mars 2018 à 22:48 - Dernière réponse : nuggets17 62 Messages postés vendredi 16 février 2018Date d'inscription 19 avril 2018 Dernière intervention
- 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
Afficher la suite 

9 réponses

Répondre au sujet
NHenry 14128 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 avril 2018 Dernière intervention - 22 mars 2018 à 23:05
0
Utile
7
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.
nuggets17 62 Messages postés vendredi 16 février 2018Date d'inscription 19 avril 2018 Dernière intervention > NHenry 14128 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 avril 2018 Dernière intervention - 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.
NHenry 14128 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 avril 2018 Dernière intervention - 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).
nuggets17 62 Messages postés vendredi 16 février 2018Date d'inscription 19 avril 2018 Dernière intervention - 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 ?
NHenry 14128 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 avril 2018 Dernière intervention - 25 mars 2018 à 15:06
Car avec les traces de la VM tu pourras plus facilement tracer la source du problème.
Après comme dit dans mon message précédent, je ne connais pas bien cette partie.
Une recherche avec "how to develop simple os" donne déjà quelques pistes.

(Et si tu trouves que j'ai un peu bloqué le message, c'est que très souvent, les personnes demandant ce genre de conseils sont de grands débutants qui ne s'imaginent pas l'ampleur de la tâche)
nuggets17 62 Messages postés vendredi 16 février 2018Date d'inscription 19 avril 2018 Dernière intervention - 25 mars 2018 à 17:30
OK, merci pour votre aide, je vais donc installer Virtual Box.


Si jamais quelqu'un peut me donner d'autre infos, je suis preneur.
Commenter la réponse de NHenry
nuggets17 62 Messages postés vendredi 16 février 2018Date d'inscription 19 avril 2018 Dernière intervention - 2 avril 2018 à 15:35
0
Utile
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/
Commenter la réponse de nuggets17

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.