Partage
  • Partager sur Facebook
  • Partager sur Twitter

OS en c++!

13 juin 2018 à 21:00:09

Bonjour,

j'aprend actuellement c++ et je voudrais soire s'il et possible de faire un OS uniquement en c++ ou s'il faut églement utiliser d'auter langage?

bonne journer ou bonne soirer!

merci

  • Partager sur Facebook
  • Partager sur Twitter
florian
13 juin 2018 à 21:08:44

Je pense que la partie Bootloader, chargement de la GDT etc doit se faire en asm non?
  • Partager sur Facebook
  • Partager sur Twitter
http://cpp-rendering.io : Vous trouverez tout ce dont vous avez besoin sur Vulkan / OpenGL et le rendu 3D !
13 juin 2018 à 21:13:07

Salut,

Pour être un peu plus complet :

On peut, le faire, il est possible d'y arriver, ne serait-ce que parce que C++ est un langage compilé.

Par contre, si la question est "est-il facile de développer un OS en n'utilisant que C++", la réponse à la question est -- très clairement -- non:

  • parce qu'un système d'exploitation subit énormément de restrictions auxquelles les "autres applications" ne sont pas soumises
  • parce qu'un système d'exploitation doit exposer un certain nombre d'éléments dont les autres applications (et bibliothèques) auront besoin
  • parce que ce n'est -- tout simplement -- pas à la portée du "premier venu" de créer un système d'exploitation, et que ca devient même de plus en plus complexe au fil du temps

Quoi qu'il en soit, il faut déjà avoir de sérieuses bases dans différents domaines pour ne serait-ce qu'espérer pouvoir arriver à un résultat "utilisable", sans même espérer arriver à l'exploiter correctement ;)

  • Partager sur Facebook
  • Partager sur Twitter
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
13 juin 2018 à 21:15:56

ok merci pour ton aide trés utile ct juste de base pour savore s'il avait pas besoin de l'intervention d'un autre langage pour le momen car j'ai que fait 15% du cour pour le moment!
  • Partager sur Facebook
  • Partager sur Twitter
florian
13 juin 2018 à 21:25:20

Tu parles du cours du site?

Abandonne le au plus vite...  Et si tu te demande pourquoi, une petite recherche te donnera toutes les indications voulues ;)

En outre, ce n'est  -- très clairement -- pas en suivant "simplement" un cours que l'on arrive à un niveau ne serait-ce que "presque suffisant" pour se lancer dans le développement d'un système d'exploitaiton en utilisant C++.

Je le pratique personnellement depuis plus de quinze ans, et je n'en ai pas encore fait le tour... Et je n'ai -- très certainement -- pas les bases qui me permettraient de créer un OS.  principalement parce que je ne m'y suis jamais vraiment intéressé :p

Je pourrais très certainement participer de manière efficace au développement d'un projet aussi monstrueux, mais je ne serais surement pas assez fou que pour me lancer tout seul dedans ;)

  • Partager sur Facebook
  • Partager sur Twitter
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
14 juin 2018 à 9:49:30

Haiku est un système écrit principalement en C++ mais de ce que j'ai cru entendre le code n'est pas terrible.

  • Partager sur Facebook
  • Partager sur Twitter

git is great because Linus did it, mercurial is better because he didn't.

14 juin 2018 à 11:57:28

Il y a aussi http://www.includeos.org/ qui est un unikernel ecrit en C++.
  • Partager sur Facebook
  • Partager sur Twitter
14 juin 2018 à 15:27:36

De toute façon, quand on veut écrire un OS, le langage c'est clairement pas le problème principal.

  • Partager sur Facebook
  • Partager sur Twitter

Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

14 juin 2018 à 16:59:42

Merci pour tout vos reponsse! je sais que la création d'un os et compliquer tout seul! Je ne prévois pas de me lancer prochainement dans ce projet! J'ai que 14ans actuellement! Je m'interesse a cette question pour avoire une petite idée pour dans mon avenir! La création d'un os d'un niveau telle que ce d'aujourd'hui et extrément long et demande un travaille de énormement de programeur et c'est trés complexe. Cette question et essensiélement pour savoir si sela ne nessésite pas d'autre langage!
  • Partager sur Facebook
  • Partager sur Twitter
florian
14 juin 2018 à 18:27:39

Cela nécessite des connaissances sur bien plus qu'un langage, même que sur tous les langages.

Il faut savoir comment fonctionne toutes les fonctionnalités des CPU sur lequel doit tourner l'OS (pagination, interruption, gates, primitives de switch de thread, etc...).

Le C++ n'a pas été conçu pour faire des OS, comme à peu près tous les langages informatiques "modernes".

Quand on a la connaissance pour faire un OS, le langage, c'est vraiment vraiment accessoire, et la complexité d'un OS est telle que la création d'un langage dérivé dédié à cette tâche est largement envisageable.

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.