Créé un petit OS

Signaler
Messages postés
7
Date d'inscription
vendredi 7 août 2020
Statut
Membre
Dernière intervention
14 octobre 2020
-
Messages postés
5432
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
15 octobre 2020
-
Salut,

Je n'y connais absolument rien en langage de programmation mais je souhaite créé un petit système d'exploitation mais je sais pas comment faire, vous pouvez me montrez comment en créé un svp ?

7 réponses

Messages postés
3406
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
14 octobre 2020
602
Oublie.

Je pourrais largement expliquer pourquoi ou même te donner des pistes pour commencer à faire des trucs mais "je n'y connais absolument rien en langage de programmation" c'est pas la peine d'aller plus loin.
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
596 >
Messages postés
7
Date d'inscription
vendredi 7 août 2020
Statut
Membre
Dernière intervention
14 octobre 2020

Je pense que commencer par Python est une erreur, si ton but est vraiment d'écrire un OS.
La première raison est qu'il est très très très loin de la machine (c'est pour ça qu'il est facile)
La seconde c'est qu'il n'est pas typé.

Ces deux raisons font que le codeur Python prend des "mauvais" automatismes qu'il est très difficile à atténuer par la suite (c'est pareil avec VB6 ou VBA par exemple).

Or pour te confronter à un OS tu n'auras pas le choix que de t'atteler à un langage très proche de la machine et typé.
Dans ce cas prendre directement de bonnes habitudes avec les langages idoines est moins difficile.
Messages postés
7
Date d'inscription
vendredi 7 août 2020
Statut
Membre
Dernière intervention
14 octobre 2020
>
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020

alors en gros fallait que je commence par le C et non par le Python
Messages postés
419
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 octobre 2020
196 >
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020

Je pense qu'apprendre la programmation avec pour objectif d'écrire un OS n'est pas une bonne idée. Écrire un OS est quelque chose de vraiment très complexe donc c'est complètement abberant de vouloir commencer par ça.
C'est beaucoup plus raisonnable d'apprendre la programmation en essayant de faire des choses simples et en oubliant complètement cette idée d'écrire un OS. Et dans cette optique, je pense que python est un bon langage pour commencer car il permet de ne pas se perdre dans des notions plus ou moins complexes des langages de bas niveau.
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
596 >
Messages postés
419
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 octobre 2020

Oui évidement si le but est tout autre le python c'est très bien, mais dans l'optique d'apprendre ensuite le C et l'ASM, surtout en autodidacte, non
Messages postés
3406
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
14 octobre 2020
602 >
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020

Tu connais le truc... plus tu apprends dans un domaine, plus tu découvres à quel point tu n'y connais rien.
Des mecs sortent d'écoles d'ingénieur en développement, peu sont capables de trifouiller dans un noyau Linux.
Alors créer son propre noyau... à moins de baigner dans l'informatique depuis toujours (auquel cas il est censé avoir des notions de programmation, c'est la base !), ou bien il sera tout juste capable de reproduire un Mastermind en console Python après 1 an de dur labeur à un rythme de 3 lourdes heures par semaine

L'ASM est hors de portée pour lui. Autant qu'il reste sur un langage haut-niveau, qu'il joue avec du Python et de l'HTML.
Il découvrira bien assez tôt à quel point cet objectif a toujours été totalement irréalisable.
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
596
non pas un langage dans le genre un au hasard
le C et l'ASM (les 2 plus proches de la machine mais aussi les plus durs à apprendre) et après le C++ et éventuellement le Python.
Là tu auras juste les bases, pour commencer à entrevoir ce qu'est le codage d'un OS
Messages postés
19797
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
24 octobre 2020
5 092
Bonjour nonzuouFrance_yt

Une solution pour te faire découvrir les joies et les difficultés de l'informatique est d'acheter un Raspberry et voici deux articles pour te faire découvrir ce que c'est:
http://science-facile.fr/2019/03/utiliser-le-raspberry-pi-comme-ordinateur.html
https://www.clubic.com/raspberry-pi/article-849782-1-raspberry-pi-introduction-nano-ordinateur.html

Tu ne développeras pas un nouvel OS comme tu l'as demandé, mais tu pourras apprendre à programmer et voici des exemples cités dans un des deux articles:
...créer une console de retro-gaming, un media center, un serveur web, VPN, email, ou NAS, ou pour créer un système de vidéosurveillance, une station météo, un système de gestion d'aquariums (pourquoi pas ?), ou encore gérer la domotique chez vous ! 
Vous pouvez également vous servir de votre Raspberry comme d'un ordinateur de bureau afin de naviguer sur le web, écouter de la musique, lire vos mails, etc.


Ritchi
Messages postés
6160
Date d'inscription
vendredi 15 janvier 2010
Statut
Membre
Dernière intervention
24 octobre 2020
1 334
slt,

Rien que de faire l'organigramme pour ton OS, j'imagine même pas le boulot avant de commencer la moindre ligne de code :))
Messages postés
7
Date d'inscription
vendredi 7 août 2020
Statut
Membre
Dernière intervention
14 octobre 2020

Bon bah comme beaucoup d'entre vous me dit que c'est complètement stupide de commencer par créé un os je vais laisser tombé ce bute et apprendre le JavaScript et le Python pour créé un petit programme puis je reprend le C

Jsp si c'est un bonne idée
Messages postés
3406
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
14 octobre 2020
602
C'est une bonne idée !
Commencer avec le triplet HTML+CSS+JS histoire de se faire quelques jolies pages Web dynamiques
Tu pourras les déployer sur un serveur (client léger)

Ce que tu feras en C aura totalement rien à voir avec tout ça. Applications client-lourd à compiler, on est plus proche du Python (pour le côté client-lourd)
Là, tu pourras faire des petits jeux, de la modif fichiers etc

Suivant le domaine que tu préféreras, tu pourras creuser un domaine
Le dev Web est hyper vaste
Le C/Python moins mais propose des actions impossibles en Web et inversement
En creusant, tu verras des frameworks, des outils et des process qui à terme te faciliteront la vie, au prix d'un apprentissage supplémentaire

Essaie les 2 familles. Tu trouveras ta préférence

Edit : il y a une 3ème famille : le dev Android/iOS. C'est une architecture client-lourd mais c'est Java ou Kotlin côté Android. Côté Apple je sais pas
Une 4ème famille ? le shell Linux ou le Powershell de Windows. Pas mal de scripts méritent le statut de dev

Bref. Y a de quoi faire :-) Y a forcément un truc là-dedans qui va te parler. Tout est faisable.
Messages postés
5432
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
15 octobre 2020
908
Bonjour nonzuouFrance_yt,

La question revient régulièrement sur le forum et, bien évidemment, si on a pour objectif de réaliser un système comparable à Windows, MacOS ou Linux, c'est une tâche titanesque.

Tu nous dit par contre que tu veux réaliser un "petit système d'exploitation".

Réaliser un "petit système d'exploitation" est un très bon moyen d'apprendre une multitude de choses sur le fonctionnement intime des ordinateurs et qui peut commencer avec un système capable de booter la machine et d'afficher une lettre dans la mémoire vidéo.

Cela ne prend pas des années de faire cela, et tu crées déjà un code qui s'exécute en dehors de tout système existant (sauf le BIOS) et qui est ta propre création. Bien sûr c'est très modeste, et pas du tout comparable à un vrai système d'exploitation, mais tu auras appris plein de choses au passage et tu pourras continuer à t'instruire si cela te plaît et à complexifier ta création.

Si tu veux faire cela, voilà quelques sources d'informations utiles (en anglais) :
https://wiki.osdev.org/Main_Page
et avant de faire quoi que ce soit lis https://wiki.osdev.org/Required_Knowledge et https://wiki.osdev.org/Beginner_Mistakes

Il y aussi des ressources comme :
https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
http://www.brokenthorn.com/Resources/OSDevIndex.html

Dal
Messages postés
6
Date d'inscription
samedi 8 août 2020
Statut
Membre
Dernière intervention
9 août 2020

Mec, au final, tu dois avoir des bonnes connaissances en I.A, je te conseille de débuter avec c#/c++/Python
Messages postés
14907
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
596
Y’a aucunement besoin d’avoir des connaissances en I A pour écrire un OS.
Et le C# est déjà bien trop la machine....