Une chose que j'ai toujours voulu faire est de développer mon propre système d'exploitation (pas nécessairement sophistiqué comme Linux ou Windows, mais mieux qu'un simple chargeur de démarrage que j'ai déjà fait).
J'ai du mal à trouver des ressources / guides qui vous permettront d'écrire un simple système d'exploitation "Hello World".
Je sais que beaucoup de gens vont probablement recommander que je regarde Linux ou BSD; mais la base de code pour des systèmes comme celui-ci est (vraisemblablement) si grande que je ne saurais pas par où commencer.
Aucune suggestion?
Mise à jour: Pour faciliter la tâche des personnes qui accèdent à ce message via Google, voici quelques ressources de développement de système d'exploitation:
Écrire votre propre système d'exploitation (merci Adam)
Linux From Scratch (Merci John)
SharpOS (système d'exploitation C #) (Merci lomaxx)
OS Dev Wiki et Forums (Merci Steve)
BonaFide (Merci Steve)
Bran (merci Steve)
Faites rouler votre propre système d'exploitation clone UNIX (merci Steve)
Autres ressources:
J'ai trouvé une belle ressource nommée MikeOS , "MikeOS est un outil d'apprentissage pour montrer comment les systèmes d'exploitation simples fonctionnent. Il utilise le mode réel 16 bits pour l'accès au BIOS, de sorte qu'il n'a pas besoin de pilotes complexes"
Mise à jour 14/11/08
J'ai trouvé quelques ressources dans le guide de Freebyte pour ... des systèmes d'exploitation gratuits et non libres qui sont liés à des kits tels que OSKit et la bibliothèque ExOS. Ceux-ci semblent super utiles pour commencer le développement du système d'exploitation.
Mis à jour le 2/23/09
Ric Tokyo a recommandé des nanoos dans cette question . Nanoos est un OS écrit en C ++.
Mis à jour le 3/9/09
Dinah a fourni une discussion utile sur Stack Overflow des futurs développeurs de systèmes d'exploitation: Roadblocks dans la création d'un système d'exploitation personnalisé discute des pièges que vous pourriez rencontrer lors du développement d'un système d'exploitation et le développement du système d'exploitation est une discussion plus générale.
Mise à jour 7/9/09
LB a fourni un lien vers le projet Pintos , un système d'exploitation éducatif conçu pour les étudiants apprenant le développement de systèmes d'exploitation.
Mis à jour le 27/07/09 (Toujours aussi fort!)
Je suis tombé sur un cours OS en ligne de Berkley comprenant 23 conférences.
TomOS est un fork de MikeOS qui inclut un petit gestionnaire de mémoire et un support de souris. En tant que MikeOS, il est conçu pour être un projet éducatif. Il est écrit dans l'assembleur NASM.
Mise à jour 8/4/09
J'ai trouvé les diapositives et autres documents pour accompagner les conférences en ligne de Berkeley énumérées ci-dessus.
Mise à jour 23/08/09
Toutes les questions marquées osdev sur stackoverflow
OS / 161 est un OS académique écrit en c qui s'exécute sur un matériel simulé. Cet OS est similaire dans Nachos. Merci Novelocrat!
tangurena recommande http://en.wikipedia.org/wiki/MicroC/OS-II , un OS conçu pour les systèmes embarqués. Il y a aussi un livre d'accompagnement .
Le développement du noyau Linux par Robert Love est suggéré par Anders. Il s'agit d'un «regard d'initié largement acclamé sur le noyau Linux».
Mis à jour le 18/09/2009
Merci à Tim S. Van Haren de nous avoir parlé de Cosmos , un OS entièrement écrit en c #.
tgiphil nous parle du framework MOSA (Managed Operating System Alliance) , "un ensemble d'outils, de spécifications et de code source pour favoriser le développement de systèmes d'exploitation gérés basés sur le Common Intermediate Language".
Mise à jour 24/09/2009
Steve a trouvé quelques ressources pour le développement sur Windows à l'aide de Visual Studio, consultez la configuration du guide de BrokenThorn avec VS 2005 ou la section VS d'OSDev .
Mise à jour 9/5/2012
kerneltrap.org n'est plus disponible. Le noyau Linux v0.01 est disponible sur kernel.org
Mis à jour le 21/12/2012 Un didacticiel de développement de base du système d'exploitation conçu pour être un projet de semestre. Il vous guide pour créer un système d'exploitation avec des composants de base. Très bon début pour les débutants. Document connexe . Merci Srujan!
Mise à jour 15/11/2013
Écrire un système d'exploitation simple à partir de zéro . Merci James Moore!
Mise à jour 08/12/2013
Comment faire un système d'exploitation informatique Merci ddtoni!
Mise à jour 18/03/2014
ToAruOS un OS construit principalement à partir de zéro, y compris GUI
Mis à jour le 12 septembre 2016
Écrire votre propre système d'exploitation de jouet
Mis à jour le 10 décembre 2016
Écrire un système d'exploitation simple - à partir de Scratch (merci @Tyler C)