Creation d'un os
Fermé
Camile2000
Messages postés
1
Date d'inscription
samedi 9 mai 2015
Statut
Membre
Dernière intervention
9 mai 2015
-
Modifié par NHenry le 9/05/2015 à 13:09
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 10 mai 2015 à 13:22
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 10 mai 2015 à 13:22
A voir également:
- Creation d'un os
- Reinstaller mac os - Guide
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création organigramme - Guide
3 réponses
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 482
9 mai 2015 à 13:38
9 mai 2015 à 13:38
Salut
Pour la création d'un OS à base de linux : LFS
Rien qu'avec ce livre tu en as pour toutes tes vacances ;)
Pour la création d'un OS à base de linux : LFS
Rien qu'avec ce livre tu en as pour toutes tes vacances ;)
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
10 mai 2015 à 13:22
10 mai 2015 à 13:22
Bonjour
Que ça soit dans les livres où tutorielles toutes omette l'élément fondamental qui est architecture matérielle sur lequel un système d'exploitation va s'interfacer, certes les différents tutoriels ou bouquin se basent tous sur une architecture connue celle d'Intel mais néanmoins il est plus intéressant avant toute chose de bien, voir mieux connaître l'architecture matérielle avant de ce lancer.
Ayant déjà développé des micro-noyaux pour système embarquer.
Personnellement ,je vous conseille de savoir sur quelle architecture voulez-vous implanter votre future système d'exploitation, afins que le système d'exploitation puisse faire sont job correctement, car c'est lui qui fait office d'interface entre le matériel de l'ordinateur et les utilisateurs et doit accomplir deux objectifs générale bien distincte et claire à savoir :
->la prise en charge complexe des ressources et géré le partage de celle -ci
->et la mise en place ou la création d'une machine virtuelle pour faciliter l'emploi de celle-ci.
En clair le principe de base pour un système d'exploitation multi-programmé. Et qui dit multi-programmé, dit quel type de système d'exploitation à définir soit un système d'exploitation interactif donc multi-utilisateur, système d'exploitation à traitement par lots dit aussi batchs ou bien système temps réel.
Tous les tutoriels se basent sur une architecture Intel avec un cas d'école le système LINUX mais si on y prête bien attention le même système dépend fortement de l'architecture matérielle ainsi ont à LINUX pour des architectures AMD, Alpha, SPARC, Motorola, IBM Système, ARM, ASIX, MOS, Power PC, HP et gens passe et toute ont des jeux d'interrupteur différents donc ce n'est pas pour rien que vous télécharger des LINUX_AMD.iso correspondant à votre architecture.
A tout ceci viens la phase du langage machine adapter à l'architecture matérielle, exemple assembleur pour Intel où Amd.
Et oui implémenter certains mécanismes noyau en assembleur est bien plus efficace ensuite peut venir le reste du développement avec le langage de programmation système adapté comme le langage C et de l'assembleur avec , ensuite les module noyau (programme simple) comme par exemple le minimum de tout système, le déplacement la création du répertoire etc.
Et même bien avant cela, faut avoir un format de fichier avec un bon gestionnaire de fichiers et une API système que l'on doit mettre à disposition pour la conception des applications pour le système d'exploitation;
Bref, la conception d'un système d'exploitation demande de la finesse, la connaissance du matériel et pas mal de notion mais surtout un temps de développement de dingue.
Pour finir mon conseil est très simple, étudier l'architecture matérielle et son langage de programmation puis ce documenter sur les notions processus, gestion de fichier, gestion d'entrer sortie, gestion de mémoire centrale avec la mise en place de mécanismes de pagination virtuelle par exemple, mais aussi de connaître des algorithmes exemple les algorithmes d'ordonnancement qui sont essentiel
bref il vous faut du temps et de la maitrise.
à bientôt
Que ça soit dans les livres où tutorielles toutes omette l'élément fondamental qui est architecture matérielle sur lequel un système d'exploitation va s'interfacer, certes les différents tutoriels ou bouquin se basent tous sur une architecture connue celle d'Intel mais néanmoins il est plus intéressant avant toute chose de bien, voir mieux connaître l'architecture matérielle avant de ce lancer.
Ayant déjà développé des micro-noyaux pour système embarquer.
Personnellement ,je vous conseille de savoir sur quelle architecture voulez-vous implanter votre future système d'exploitation, afins que le système d'exploitation puisse faire sont job correctement, car c'est lui qui fait office d'interface entre le matériel de l'ordinateur et les utilisateurs et doit accomplir deux objectifs générale bien distincte et claire à savoir :
->la prise en charge complexe des ressources et géré le partage de celle -ci
->et la mise en place ou la création d'une machine virtuelle pour faciliter l'emploi de celle-ci.
En clair le principe de base pour un système d'exploitation multi-programmé. Et qui dit multi-programmé, dit quel type de système d'exploitation à définir soit un système d'exploitation interactif donc multi-utilisateur, système d'exploitation à traitement par lots dit aussi batchs ou bien système temps réel.
Tous les tutoriels se basent sur une architecture Intel avec un cas d'école le système LINUX mais si on y prête bien attention le même système dépend fortement de l'architecture matérielle ainsi ont à LINUX pour des architectures AMD, Alpha, SPARC, Motorola, IBM Système, ARM, ASIX, MOS, Power PC, HP et gens passe et toute ont des jeux d'interrupteur différents donc ce n'est pas pour rien que vous télécharger des LINUX_AMD.iso correspondant à votre architecture.
A tout ceci viens la phase du langage machine adapter à l'architecture matérielle, exemple assembleur pour Intel où Amd.
Et oui implémenter certains mécanismes noyau en assembleur est bien plus efficace ensuite peut venir le reste du développement avec le langage de programmation système adapté comme le langage C et de l'assembleur avec , ensuite les module noyau (programme simple) comme par exemple le minimum de tout système, le déplacement la création du répertoire etc.
Et même bien avant cela, faut avoir un format de fichier avec un bon gestionnaire de fichiers et une API système que l'on doit mettre à disposition pour la conception des applications pour le système d'exploitation;
Bref, la conception d'un système d'exploitation demande de la finesse, la connaissance du matériel et pas mal de notion mais surtout un temps de développement de dingue.
Pour finir mon conseil est très simple, étudier l'architecture matérielle et son langage de programmation puis ce documenter sur les notions processus, gestion de fichier, gestion d'entrer sortie, gestion de mémoire centrale avec la mise en place de mécanismes de pagination virtuelle par exemple, mais aussi de connaître des algorithmes exemple les algorithmes d'ordonnancement qui sont essentiel
bref il vous faut du temps et de la maitrise.
à bientôt
Utilisateur anonyme
Modifié par shaynox le 10/05/2015 à 04:33
Modifié par shaynox le 10/05/2015 à 04:33
Salut, tu peux t'aider sur ce site: https://wiki.osdev.org/Expanded_Main_Page et de sa database qui contient beaucoup d'OS homemade: https://wiki.osdev.org/Projects
Après tu pourras trouver ton bonheur dans les documentations présentes dans des projets (quand tu as de la chance) soit en format html ou soit par extraction dans les sources (analyse/extrait).
Les livres c'est bien bien, mais bon:
- https://www.amazon.com/Modern-Operating-Systems-4th-Edition/dp/013359162X
- https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/1118129385
- https://www.amazon.com/Understanding-Operating-Systems-Ann-McHoes/dp/128509655X
Tu peux aussi tester de lire mon OS didactique (basé sur rien) et mon tuto:
-https://codes-sources.commentcamarche.net/source/53941-2delete
-https://www.sfr.fr/fermeture-des-pages-perso.html
Et mon questionnaire à l'aide de création d'OS:
-https://www.developpez.net/forums/d1511716/autres-langages/assembleur/programmation-d-os/programmation-d-mini-os-kernel/#post8202164
(\___/)
(='.'=)
(")_(")
This is Bunny. Copy and paste bunny into...
...your signature to help him gain world domination
Après tu pourras trouver ton bonheur dans les documentations présentes dans des projets (quand tu as de la chance) soit en format html ou soit par extraction dans les sources (analyse/extrait).
Les livres c'est bien bien, mais bon:
- https://www.amazon.com/Modern-Operating-Systems-4th-Edition/dp/013359162X
- https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/1118129385
- https://www.amazon.com/Understanding-Operating-Systems-Ann-McHoes/dp/128509655X
Tu peux aussi tester de lire mon OS didactique (basé sur rien) et mon tuto:
-https://codes-sources.commentcamarche.net/source/53941-2delete
-https://www.sfr.fr/fermeture-des-pages-perso.html
Et mon questionnaire à l'aide de création d'OS:
-https://www.developpez.net/forums/d1511716/autres-langages/assembleur/programmation-d-os/programmation-d-mini-os-kernel/#post8202164
(\___/)
(='.'=)
(")_(")
This is Bunny. Copy and paste bunny into...
...your signature to help him gain world domination
Modifié par gravgun le 9/05/2015 à 15:36
(en même temps en virant la moitié des paquets que je juge inutiles et en utilisant musl libc plutôt que ce lourdingue de glibc, ça va 20x plus vite... ah et j'oubliais, systemd c'est caca)