Question

ce qui est un moyen de créer un mon propre système d'exploitation en utilisant c ++. J'ai créé le chargeur de démarrage (en utilisant nasm, qemu), mais je n'ai pas connaissance d'ajouter un noyau à ce chargeur de démarrage.

Pas de solution correcte

Autres conseils

Attention, C ++ est assez lourd pour un noyau OS.

  • Il existe des services comme des exceptions que vous devez prendre en charge avec une bibliothèque d'exécution.
  • Il ne se sentira pas comme C ++ jusqu'à ce que vous ajoutez un tas.
  • noyaux sont très sensibles à l'endroit où les objets sont alloués; le modèle d'un tas habituellement utilisé en C ++ est pas vraiment approprié.
  • API de couplage à des structures de données est une mauvaise idée. BeOS a eu des problèmes avec cela. Vous devez cacher la taille de vos structures internes des utilisateurs, et cela signifie sauter à travers des cerceaux (Pimpl, constructeur privé, fonctions virtuelles) lorsque les API sont des fonctions membres.

On dirait que vous êtes déjà plus loin que la plupart, donc continuer de poser des questions et vous finirez probablement quelque part belle! : VD

pour ajouter également, Ce livre par Tanenbaum, où il explique la les détails de mise en œuvre de Minix.

Vous pouvez envisager de regarder MINIX qui est un petit système d'exploitation pour les systèmes x86. Il a été conçu à l'origine comme un projet d'enseignement et a évolué en quelque chose qui est destiné à être utile dans le monde réel.

Je ne connais pas les détails, mais par ma connaissance BeOS a été écrit en C ++. Les sources doivent être freeley disponibles ainsi que la documentation.

vous pouvez jeter un oeil à code source MINIX 3. il est un os très simple, créé dans le but de comprendre comment fonctionne le système d'exploitation.

vous pouvez également étudier tout le livre de Tanenbaum sur les os. ils sont tous très complet et je me souviens que l'un livre a la source complète de Minix ci-joint et commenté

Pour un système d'exploitation C de, vous voudrez peut-être regarder NewOS ou UnixLite .

Un système d'exploitation utilisable peut être développé sur le dessus de L4 , même un seul étudiant dans un semestre ainsi que d'autres cours (mais avec tous les problèmes de pilotes déjà résolus). Si trouvé ce qui est une grande aventure, et le micronoyau L4 est aussi un peu avancé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top