Comment créer un système d'exploitation informatique : 13 étapes (avec des images)

Table des matières:

Comment créer un système d'exploitation informatique : 13 étapes (avec des images)
Comment créer un système d'exploitation informatique : 13 étapes (avec des images)

Vidéo: Comment créer un système d'exploitation informatique : 13 étapes (avec des images)

Vidéo: Comment créer un système d'exploitation informatique : 13 étapes (avec des images)
Vidéo: #1 Installer un logiciel en .deb sur Ubuntu - Tuto débutant 2024, Avril
Anonim

Ce wikiHow vous apprend à planifier et développer un système d'exploitation si vous ne savez pas coder en C ou C++. Les systèmes d'exploitation gèrent le matériel informatique et fournissent les ressources dont les applications ont besoin pour fonctionner. L'écriture d'un système d'exploitation à partir de zéro nécessite une solide maîtrise de l'informatique, d'un langage de programmation comme C ou C++, de l'assemblage et des pratiques de gestion de code.

Pas

Partie 1 sur 2: Apprendre les bases

Créer un système d'exploitation informatique Étape 1
Créer un système d'exploitation informatique Étape 1

Étape 1. Suivez des cours d'informatique de base

Contrairement au développement pour le Web, la création d'un système d'exploitation nécessite une solide compréhension des algorithmes, des structures de données, du matériel informatique et de la gestion des ressources. Les gens obtiennent des diplômes dans ce domaine, alors ne vous attendez pas à écrire un système d'exploitation entier après avoir lu un didacticiel en ligne ! Le cours d'introduction à l'informatique de Harvard est disponible en ligne via EDX sans frais.

Créer un système d'exploitation informatique Étape 2
Créer un système d'exploitation informatique Étape 2

Étape 2. Apprenez un langage de programmation de haut niveau comme Python

Une fois que vous avez acquis une solide compréhension de base de l'informatique, l'étape suivante consiste à maîtriser le C et/ou le C++. Comme l'apprentissage de l'informatique, la maîtrise d'un langage n'est pas facultative - vous ne pourrez pas coder un système d'exploitation si vous ne pouvez pas écrire d'applications solides.

Si vous débutez en C, consultez le cours C Programming: Getting Started de Dartmouth, qui est gratuit via EDX. Une fois que vous aurez terminé ce cours, vous pourrez suivre le cours suivant de la série: Programmation C: Fondements du langage. Ensuite, passez aux cours suivants comme la programmation modulaire et la gestion de la mémoire et les pointeurs et la gestion de la mémoire

Créer un système d'exploitation informatique Étape 4
Créer un système d'exploitation informatique Étape 4

Étape 3. Apprenez un langage d'assemblage

Les langages d'assemblage sont des langages de bas niveau conçus pour communiquer avec différents processeurs. Étant donné que l'assemblage est différent pour les différents types de processeurs (par exemple, le langage d'assemblage x86 pour Intel, AMD, VIA et d'autres processeurs), vous devrez apprendre la version du type de processeur pour lequel vous codez.

  • Ce livre open source, s'il est lu dans son intégralité, peut vous donner une compréhension suffisamment solide pour créer un système d'exploitation.
  • L'Art du langage d'assemblage est un livre hautement recommandé sur l'assemblage disponible à la fois en ligne et hors ligne.
  • Vous devriez également faire beaucoup de recherches sur le type de processeur(s) sur lequel votre système d'exploitation doit fonctionner. Les manuels pour l'architecture du processeur peuvent être facilement trouvés en utilisant une recherche Google ("Intel Manuals, " "ARM manuals, " etc.).
Créer un système d'exploitation informatique Étape 5
Créer un système d'exploitation informatique Étape 5

Étape 4. Suivez un didacticiel sur le système d'exploitation

Les didacticiels du système d'exploitation vous guideront tout au long du processus de création d'un système d'exploitation de base. Cela vous habitue au processus et vous aide à déterminer s'il vous manque des pièces. Une fois que vous aurez terminé un ou deux didacticiels, vous serez sur la bonne voie pour créer votre propre système d'exploitation.

  • Bare Bones est un tutoriel qui vous aide à écrire votre premier noyau 32 bits simple. Après avoir terminé le didacticiel, l'étape suivante consiste à utiliser Meaty Skeleton pour structurer votre propre système d'exploitation.
  • Linux from Scratch est un livre en ligne qui vous guide dans la création de votre propre système d'exploitation Linux.
  • Les systèmes d'exploitation de 0 à 1 est un livre gratuit sur la création de divers systèmes d'exploitation du début à la fin.
Créer un système d'exploitation informatique Étape 3
Créer un système d'exploitation informatique Étape 3

Étape 5. Déterminez les objectifs de votre système d'exploitation

Que voulez-vous que votre système d'exploitation fasse ? À quoi devrait-il ressembler ? Avez-vous vraiment besoin d'écrire un système d'exploitation complet ou cherchez-vous simplement à créer un certain look pour votre bureau ? Ce sont toutes des choses à considérer avant de commencer à coder.

  • Envisagez de développer avec une équipe d'autres programmeurs. Avoir une équipe de développeurs travaillant sur le projet réduira considérablement le temps de développement.
  • Ajoutez les objectifs, les plans et les questions de votre projet à votre référentiel public afin que les autres puissent facilement vous aider.

Partie 2 sur 2: Construire votre système d'exploitation

Amusez-vous avec l'ordinateur Étape 16
Amusez-vous avec l'ordinateur Étape 16

Étape 1. Choisissez un environnement de développement

C'est la plate-forme que vous utiliserez pour coder votre nouveau système d'exploitation. C'est une question de préférence personnelle, mais la plupart des gens utilisent soit Windows, soit une version d'UNIX. Si vous utilisez Windows, c'est une bonne idée d'installer un environnement UNIX comme Cygwin ou MinGW. Vous voudrez généralement vous assurer que l'environnement que vous utilisez comprend les éléments suivants:

  • GCC (le compilateur Gnu). Si vous utilisez Windows, vous pouvez l'installer dans Cygwin ou MinGW.
  • Binutils est une collection d'outils utilisés pour manipuler des fichiers objets. Encore une fois, si vous utilisez Windows, vous pouvez l'installer dans Cygwin.
  • Un bon éditeur de texte. Vim et emacs sont couramment utilisés dans les environnements UNIX. Les utilisateurs de Windows peuvent utiliser le Bloc-notes ou consulter le Bloc-notes ++ pour une mise à niveau multi-onglets.
  • Perl et/ou Python. Un ou les deux sont recommandés pour la manipulation des chaînes.
Créer un système d'exploitation informatique Étape 13
Créer un système d'exploitation informatique Étape 13

Étape 2. Configurez votre système de contrôle de version

Écrire un système d'exploitation signifie que vous allez probablement créer des centaines (ou des milliers !) de lignes de code. Lorsque vous travaillez sur des révisions, cela peut prêter à confusion. Certaines options à vérifier sont CVS, Mercurial et Subversion.

Créer un système d'exploitation informatique Étape 6
Créer un système d'exploitation informatique Étape 6

Étape 3. Choisissez un chargeur de démarrage

Si vous ne souhaitez pas créer le vôtre, vous pouvez en utiliser un existant comme Grand Unified Bootloader (GRUB). Si vous vous sentez assez audacieux pour coder un chargeur de démarrage, consultez Rolling Your Own Bootloader sur OSDev.org.

Créer un système d'exploitation informatique Étape 9
Créer un système d'exploitation informatique Étape 9

Étape 4. Choisissez une conception de noyau

Le noyau est le cœur de votre système d'exploitation, fournissant une interface entre l'utilisateur et le matériel informatique. Il existe des noyaux monolithiques et des micro-noyaux. Les noyaux monolithiques implémentent tous les services du noyau, tandis que les micro-noyaux ont un petit noyau combiné à des démons utilisateurs implémentant des services. En général, les noyaux monolithiques sont plus rapides, mais les micronoyaux ont une meilleure isolation des pannes et une meilleure fiabilité.

Créer un système d'exploitation informatique Étape 12
Créer un système d'exploitation informatique Étape 12

Étape 5. Commencez petit

Commencez par de petites choses telles que l'affichage de texte et d'interruptions avant de passer à des choses telles que la gestion de la mémoire et le multitâche. Vous pouvez également essayer de créer un système d'exploitation 16 bits simple, au lieu de faire un grand saut.

Vous n'aurez pas un système complet en deux semaines. Commencez avec un système d'exploitation qui démarre, puis passez aux trucs sympas

Créer un système d'exploitation informatique Étape 14
Créer un système d'exploitation informatique Étape 14

Étape 6. Testez votre nouveau système d'exploitation avec une machine virtuelle

Plutôt que de redémarrer votre ordinateur chaque fois que vous apportez des modifications ou de devoir transférer les fichiers de votre ordinateur de développement vers votre machine de test, utilisez une application de machine virtuelle. VMWare est une option courante qui fonctionne à la fois avec Windows et Linux, tout comme Bochs. Vérifiez les blocages potentiels et autres bogues et réparez-les si nécessaire.

Créer un système d'exploitation informatique Étape 15
Créer un système d'exploitation informatique Étape 15

Étape 7. Libérez un "release candidate

Vous pouvez le faire en téléchargeant votre code testé dans votre référentiel public. Cela permettra aux utilisateurs de tester votre système d'exploitation et de signaler tout problème rencontré.

Amusez-vous avec l'ordinateur Étape 28
Amusez-vous avec l'ordinateur Étape 28

Étape 8. Réseau avec d'autres développeurs de systèmes d'exploitation

Il existe toute une communauté de développeurs de systèmes d'exploitation qui se rassemblent sur divers forums, y compris /r/osdev sur Reddit et Software Engineering Stack Exchange. Une fois que vous avez compris le développement d'un système d'exploitation de base, lisez les articles existants pour voir quel genre de choses surviennent au cours du processus de développement.

Vidéo - En utilisant ce service, certaines informations peuvent être partagées avec YouTube

Des astuces

  • Assurez-vous de mettre en œuvre des fonctionnalités de sécurité comme votre priorité absolue si vous voulez que votre système soit viable.
  • Une fois que tout le développement est terminé, décidez si vous souhaitez publier le code en open source ou en propriétaire.
  • Pour rendre un système d'exploitation capable de gérer plusieurs processeurs, votre gestionnaire de mémoire doit disposer de mécanismes de « verrouillage » pour empêcher plusieurs processeurs d'accéder à la même ressource en même temps. Les « verrous » utilisés pour cela nécessiteront la présence d'un ordonnanceur pour s'assurer qu'un seul processeur accède à une ressource critique à un moment donné et que tous les autres sont mis en attente. Pourtant, l'ordonnanceur dépend de la présence d'un gestionnaire de mémoire. Il s'agit d'un cas de dépendance bloquée. Il n'y a pas de méthode standard pour résoudre des problèmes comme celui-ci; en tant que programmeur, on s'attend à ce que vous soyez suffisamment compétent pour trouver sa propre façon de gérer le problème.
  • Un système d'exploitation peut également être convivial. Assurez-vous d'ajouter des fonctionnalités conviviales, en les faisant partie intégrante de votre conception.
  • Ne pas adhérer les forums OSDev.org et commencez à poser des questions évidentes. Il en résultera simplement "Lire le manuel" réponses. Vous devriez essayer de lire Wikipedia et les manuels des différents outils que vous souhaitez utiliser.
  • Ne commence pas un projet de système d'exploitation pour commencer à apprendre la programmation. Si vous ne connaissez pas déjà C, C++, Pascal ou un autre langage approprié, y compris la manipulation de pointeurs, la manipulation de bits de bas niveau, le décalage de bits, le langage d'assemblage en ligne, etc., vous n'êtes pas prêt pour le développement de système d'exploitation.
  • Si vous faites quelque chose de mal avisé, comme écrire des octets aléatoires sur des ports d'E/S aléatoires, vous ferez planter votre système d'exploitation et pourrez (en théorie) griller votre matériel.

Conseillé: