Comment créer son système d'exploitation [Résolu/Fermé]

Cocker - 25 déc. 2004 à 08:20 - Dernière réponse :  gg
- 2 janv. 2018 à 16:54
Bonjour ,

Tous ces système d'exploitation : Windows , Linux , etc...
Comment sont t-ils créer peut - on s'en créer un et comment ?
Merci de votre partcipation ,


D'avance merci ,



Cocker
Afficher la suite 

170 réponses

unsomniak - 26 oct. 2007 à 23:40
+186
Utile
6
Bonjour,
Créer son propre système d'exploitation est certes une entreprise difficile dans le cas ou on veut rivaliser avec windows, linux mac ou autre. L'avantage qu'on eu les pionniers de l'informatique, est que ca en étais a ces balbutiemment aujourdhui cela parait nettement plus complexe car les couches sont nombreuses. Il faut bien comprendre que le windows et le linux que l'on observe aujourdhui n'on rien mais vraiment rien a voir avec ce qu'avais créer les inventeurs primaires. Ce qui en a fait les systèmes que l'on connait aujourdhui, c'est le milliers de personnes qui ont participés en commun a ces projets. Pour exemples XP c'est des milliers de lignes de codes derrière lesquels ne pourrait se trouver qu'un seul homme, pareil pour linux. Par contre il est facile de créer un système d'exploitation perso de premier niveau avec gestion des dd, des fichiers, ainsi que certains périphériques. Donc n'hésitez pas entreprenez et essayer et n'oublié jamais que l'ambition et toujours au dessus de la capacité, jusqu'a ce que l'expérience et les efforts fasse que la capacité dépasse l'ambition, parceque si on savez déja faire au commencement ce que l'on cherche a faire il n'y aurais donc aucuns intéret a chercher a faire cette chose et on en ambitionnerai une autre en claire aujourdhui a mon age je ne vais pas ouvrir un bouquain d'enfant de 3 ans pour réapprendre a lire chose que je sais déja. C'est pour phery et nats.........................
"rectification", au lieu de vouloir faire le malin en faisant le connaisseur... Saches que des systèmes d'explotations comme Linux ou Windows font quelque chose comme 10 millions de lignes de code. Maintenir un noyau de cette taille est déjà suffisament compliqué pas besoin en plus que cela fasse 1milliards de lignes ;) ...
sourtout qu'a mon avis tu ne dois pas etre tres experimenter en Fortrant 77(le fortrant est la base meme du codage informatique il est le premier system de codage universell)
AnotherProgrammer - 7 janv. 2008 à 20:50
+72
Utile
14
Pour ceux que sa intéresse je développe un système d'exploitation. Enfin un kernel plus exactement pour le moment. Et je peux vous dire que c'est pas de la tarte.

Avant tout , je tien à préçiser que connaitre un language est simple, moi même comme certain de ce forum, j'ai maitrisé le C++ vers l'age de 12 ans. Mais il y a tellement de chose à connaitre en informatique que pouvoir aborder un sujet tel que les OS (qui concerne à peu près tout les aspets de l'informatique) est très périeux et long. En tout cas il ne faut pas abandoné.

On peu différentier les OS en 2 grandes catégories, ceux qui dispose d'un kernel 16 bits (mode réel) et ceux qui dispose d'un kernel 32 bits (mode protégé).
Le kernel 16 bits est beaucoup plus simple à réalisé car on peu appeller les intéruption du bios directement. J'ai pu créé un noyau qui permet simplement la prise d'une commande par l'utilisateur et l'affichage d'un texte en une après midi. Mais le problème du kernel 16 bits est qu'il faut connaitre l'assembleur et ce language est plutôt long à apprendre car il existe un nombre très important d'instructions qu'il faut absolument connaitre (il faut noté que l'usage de ce language est d'autant plus très restreint, surtout en mode 16 bits).
Le kernel 32 bits est difficile à réalisé et beaucoup plus long mais l'avantage et non négligeable et qu'il est possible de l'écrire en C. Par contre la notion de pointeur doit être comprise parfaitement ainsi que toute les subtilitée de ce language. La encore parfois de l'assembleur (32 bits cette fois-ci) sera nécéssaire, Ne serait-ce que pour optimisé vos routines de bases.

Enfin dernière chose, une très bonne connaissance de l'anglais est requise. On ne peut pas inventer un système d'exploitation en partant de rien. Il faut toujours lire des documents (pas des miliers d'ouvrage non plus hein...) techniques propre à la machine qu'on utilise (lorsque par exemple on decide de coder des drivers) et pour tout les fondement du système aussi.

Ca n'est pas impossible mais c'est long et fastidieux. Après il faut être réaliste, codé un OS comme Ms-Dos est techniquement réalisable, mais Windows ou Linux a moins d'avoir une très bonne équipe derrière soit tous compétent, c'est impossible. Il faut clairement fixé les objectifs du projet avant de se lancer dedans.

Voila un site très intéréssant (en anglais) qui regroupe des documents sur les système d'exploitation.
http://www.nondot.org/sabre/os/articles

Si vous desiré tout de même vous lancé dans l'aventure ( et je vous le conseille car c'est très instructif ) je vous conseille d'utiliser linux avec qemu, très pratique notament pour la possibilitée de débogage.

Enfin, je vais juste vous montrer un exemple de mon code source qui consiste à afficher une simple chaine de caractère, vous aller voir de quoi il en retourne :

void print_attr(const char *string, int attr){
int tmp;
char *ptr;
unsigned char* video = (unsigned char *)RAMSCREEN;

ptr = (char *)string;

while(*ptr){
if(*ptr == '\n'){
screen_x = 0;
screen_y ++;
}else if(*ptr == '\t'){
screen_x += 5;
}else{
video = (unsigned char *)RAMSCREEN + (screen_y*CHAR_PER_LINE) + (2*screen_x++);

*video = *ptr;
*(video+1) = attr;

if(screen_x > ((CHAR_PER_LINE/2) - 1)){ // 0xA0/2 - 1
screen_x = 0;
screen_y ++;
}
}
ptr ++;
}
}

Bonne chance
Cpcdos 428 Messages postés samedi 11 juillet 2009Date d'inscription 28 octobre 2016 Dernière intervention - 25 janv. 2012 à 11:47
Pas mal !
moi aussi justement , je suis entrain de développer un kernel 32bit émulé sous DPMI en 16bit
, mais avec mon propre langage de programation que j'ai développé (CpcdosC+) , qui mévite l'ecriture assembleur , et qui regroupe sous un compilateur Masm et BC

Ce projet sera pour les amateurs désirant de créer son OS via ce Kernel

Vous pouvez voir des vidéos , et des photos sur et surtout des explications à la page sur mon site :
http://microsf01.e-monsite.com/pages/cpcdos-os2-1.html

Merci :)
moi j'aimerais juste modifier un os qui existe déja !
XxProgrammeurQcxX 75 Messages postés vendredi 24 mai 2013Date d'inscription 2 avril 2014 Dernière intervention - 30 mai 2013 à 23:31
comment tu développe un langage de programmation pour créer mon OS ?
J'ai déja travaillé avec du c modifié(arduino - processing) je serais bien interessé de travailler avec vous et votre os!
+22
Utile
C'est très long, mais de grandes ambitions permettent de réaliser de grandes choses...

Si vous souhaitez créer votre propre OS certains d'entre vous vont devoir faire preuve d'une rigueur syntaxique à toute épreuve, et donc commencer par s'exprimer dans un langage compréhensible... J'avoue que des post du genre :

<cito> 2. c pas impossible feq "laisse tomber tout de suite" noway
c sure que ca ce fera pas tout seul mais si c pas un kick just demainme que sa ta pogner en voyant un film genre "vis libre ou creve" pi que sa t'interess vraiment vas-y fort</cito>

... me laissent perplexe, notamment lorsque je prends conscience que la langue dans laquelle il est écrit est celle de Molière !!
Le C++ n'offre pas une telle souplesse...

Bref, si vous souhaitez tenter l'aventure je vous suggère de commencer par un LFS (Linux from scratch) qui vous permettra de construire une distribution sur mesure à la hauteur de vos exigences.

C'est une bonne idée de créer, cependant il existe tellement de programmes Open Source qu'il est préférable de démarrer par un noyau Linux réglé par vos soin, ainsi qu'une sélection rigoureuse des programmes que vous souhaitez y intégrer :

- Un seul lecteur multimédia polyvalent.
- Un seul client de messagerie stable et efficace
... etc ... etc

C'est un projet que j'ai depuis fort longtemps et croyez moi ce n'est pas irréalisable : La distribution Slackware Linux et à l'origine l'oeuvre d'un seul homme.

Bon courage à tous.

Cordialement

Naka
+16
Utile
6
Je réitère...

Créer c'est bien beau, mais le faire de A à Z est littéralement inconcevable surtout lorsque l'on a 13 ans. N'y voyez rien d'insultant ou quoique ce soit de "trollique", mais le développement informatique embarqué nécessite de solide connaissances mathématiques qui dépassent nettement le programme de 4ème ! Je ne souhaite pas vous décourager bien au contraire, je vous encourage à créer votre propre build d'une méta-distribution existante de type Debian par exemple. Commencer par créer un Live cd est une bonne initiative et probablement la meilleure manière de démarrer. Cela vous permettra d'assimiler les concepts et préceptes de la communication entre les composants (a commencer par le système de boot d'un cd. ), et vous donner une idée du contenu de votre future distro. Non croyez moi sur parole, bien que certains aspects du développement peuvent paraître simples du point de vue conceptuel, on se laisse rapidement submerger par le fonctionnement d'un disque dur par exemple : Un disque dur gère les données d'une manière totalement irrationnelle et ce, à un point, que ça en devient épuisant.

Si vous souhaitez vous lancer dans l'aventure, je vous conseille :

- Des cours d'algorithmiques (C'est passionnant ! !)
- Algèbre de boole
- Théorie sur les ensembles : Produit cartésien, ...
- Calcul Matriciel
- Suites arithmétiques et géométriques
- Fonctions
- Dérivées, primitives et calculs d'intégrales
- Une bonne connaissance des niveaux d'abstraction
- Une bonne maîtrise de soit.
- Du temps
- ... Et aucune vie sociale !! (Je déconne.)
- Il faut effectivement se procurer certains ouvrages traitant de l'architecture matérielle et logicielle des systèmes informatiques : Fonctionnement et adressage de la mémoire, structure du noyau Linux ...
- Et enfin C/C++ pour les nuls.

L'apprentissage de ce langage n'est pas des plus aisé mais il vous permet de tout faire sans exception, vous apprendrez ce que sont les directives de préprocesseur, les pointeurs, la surcharge et tous ce qui fait que la programmation est un univers fabuleux.

Bonne chance et meilleurs voeux à tous.
Exacte je suis en 5 ème et je voudrai créé un OS si sa t'intéresse on peut faire sa ensemble
Tu es sur d'être en avance de 3ans ?
Tu pense maîtriser tout ce qu'un terminal peut faire ?
Je suis loin d'être sur de ça...
pourtant y a des jeunes de 13 ans qui programment...
zagaga 40 Messages postés lundi 26 octobre 2009Date d'inscription 7 septembre 2013 Dernière intervention - 28 août 2012 à 22:48
@KazL
Si je suis en avance de trois ans et que je suis en 4ème... je suis en mesure de maîtriser ce qu'un élève de première peut faire, pas de ce qu'un élève de terminale peut faire :)
Le calcul était simple quand même, pas besoin d'être en avance de trois ans pour le résoudre ;)
citorva > zagaga 40 Messages postés lundi 26 octobre 2009Date d'inscription 7 septembre 2013 Dernière intervention - 24 déc. 2014 à 09:45
C'est sûr qu'avec le niveau des mathématique maintenant maintenant, c'est facile d'avoir 3 ans d'avance.
Kayzer54 825 Messages postés mercredi 6 août 2008Date d'inscription 30 juin 2010 Dernière intervention - 4 août 2009 à 20:53
+15
Utile
Le sujet date de 2004, par conséquent le posteur doit avoir laissé tombé non ^^ ?
+10
Utile
Salut Cocker,

Wouah ! Créer un système d'exploitation, rien que cà !!

Cà nécessite d'être capable de gérer des interruptions systèmes au plus bas niveau (pour créer un "système de fichiers"), de connaître parfaitement "le matériel" (pour créer les drivers qui piloteront les périphériques) et d'écrire des commandes et le shell qui sera capable de les interpréter :-))
Au moins !!

Mais si les systèmes d'exploitation dans leur plus simple expression t'intéressent, démarre d'un LiveCD léger ou d'une disquette de secours Linux pour t'amuser à créer tes propres utilitaires système en C/C++ ou en shell (une fois ceux-ci installés sur ton LiveCD ou ta disquette).

En bref, c'est sûrement pas de la tarte !

Joyeux Noël à Tous.

Marc
+9
Utile
2
Bon , beaucoup d'entre vous disent connaitre tel ou tel langage à 13 ans ...

Je pense qu'il y a un moment ou faut remettre les pieds sur Terre , des génies sa cours pas les rues ....

Les personnes disant quelles connaissent le C++ à 13 ans n'ont pas mis un poil de leur soi-disant travail sur le fofo .

Je pense qu'ils y a des Mythomanes qui s'inventent une vie !


Après je ne casse pas les rêves de ceux qui veulent rêver , mais y a un moment faut arrêter des dire des bêtises et savoir écrire un minimum ( Si vous lisez les règles du forum c'est marqué ) .



Mon post ne sert peut être à rien vu la date du dernier , mais je trouve déconcertant que des gamins veuillent créer des systèmes d'exploitations alors qu'il ont un niveau de français de CP .



Jbgames
+1 Étant moi même un adolescent, je trouve hallucinant comment les autres jouent à celui qui a la plus grosse en s'inventant une vie...
ThithiC 3 Messages postés lundi 22 juillet 2013Date d'inscription 11 juillet 2014 Dernière intervention - 22 juil. 2013 à 15:50
"Maitriser" un langage à 13 ans, non, mais on peut facilement avoir des bases (pour moi, de Java).
Après selon le langage, c'est plus ou moins crédible...
bug59 1 Messages postés vendredi 5 septembre 2008Date d'inscription 5 septembre 2008 Dernière intervention - 5 sept. 2008 à 17:25
+7
Utile
voici comment creer son os: http://www.grappa.univ-lille3.fr/polys/frime/sortie004.html
si non il ya nlite pour xp et vlite pour xp qui sont de formidable logiciel de modification , ils sont assez simple j'en suis a ma quinzieme realisation et assez surpris du tres bon resultat
goldenmike 316 Messages postés samedi 21 juillet 2007Date d'inscription 23 août 2012 Dernière intervention - 14 juil. 2009 à 16:42
+7
Utile
Salut !
Dans la vie , 'faut avoir de l'objectivité : regardez autour de vous : Microsoft et Apple se battent comme des fous pour avoir LA plcae en haut du podium... pendant ce temps la , Les distrib linux se mettent a jour , deviennent de plus en plus intuitives , et encore pandant ce temps la , des programmeurs devellopent des supers choses... Qui resteznt malheureusmnt des fois dans l'ombre....

Donc pour develloper un OS , c'est comme develloper un jeu video ou meme , .... une maison.
Imaginez que sur le net , vous postiez un forum : " Salut ! J'aimerais savoir coment crer une maison. Merci ! "
Les gens vont vous prendrent pour un con. C'est normal.
Mais voila qu'aujourd'ui on demande coment crre un OS ...
Et bien les gens vont vous prendre TOUJOURS pour un con. Un os ? Ca prend plus longtemps a faire qu'une maison alors ...

Je ne decourage personne ! Je voulais juste dire (comme certain l'on aussi dit sur ce forum) que crrer un OS , ca vous prendrait des années... Allez , pour le fun :
1. 5 ans a lire des livres et a bien les assimils ( pour les ados : donc 5 ans de "Cours" )
2. 3 ans a reflechir au code
3. 1 ans a corrigés les erreurs du code
4. 2 ans a faire beta - tester.

--------------------------------
ca fait 11 ans + les moments ou vous ne travillerai pas , + ca , + ci , etc....

15 ans....

Mais attention !
Mmee si vous le develloper , vous , le devellpeur n'osera pas le mettre en Download car imaginez comment les technologies auront evoluée dans 15 ans... Si ca se trouve , les os n'existeront plus ... Qui sait ?


Aler , sur ce , jvais acheter mon livre de programmation.

Je vous souhaite a tous un long chemin de reussite...

a+
newkiller31 - 16 sept. 2007 à 11:25
+6
Utile
3
je trouve ca très interressant, perso j'ai 13 ans je connais un peu près le language C++ je maitrise le shell dos, le dos(ben oui) et windows(nooooon...)et ce serait interessant dessayer de creer mon systeme dexploitation(ou rien qu'un prototype...)quelqu'un pour éclairer ma lanterne ?
tu veux participer MIC 795
Ok merci pour la documentation qui nous sera sans doute précieuse.

Pour ceux qui sont intérésser mon projet et poster ici: http://www.commentcamarche.net/forum/affich-18686854-systeme-d-exploitation

merci a tous
A Linuxenforce,
Killed link
Lien mort
+5
Utile
Vous n'êtes pas très gentil avec lui je trouve que sont idée est intéraissante personellement je ne pourais pas l'aider. Pour se qui est des composant à enlever s'il te manque de place tu peut enlever le lecteuc disquet et tous les autre lecteur tu en laise un extèrne et si tu a plusieur barret de ram tu peut en enlever un ordinateur peut très bien rouler avec seulement 512mo tu peut aussi lui mêtre un plus petit rad.
Cpcdos 428 Messages postés samedi 11 juillet 2009Date d'inscription 28 octobre 2016 Dernière intervention - 25 juil. 2013 à 11:31
+5
Utile
J'ai créer un tutoriel pour savoir comment créer son OS avec le noyau CPCDOS OS2 :
https://www.youtube.com/channel/UCShOH7zxE4f-r_KU-PlNdNg/videos
Utilisateur anonyme - 27 oct. 2007 à 00:06
+4
Utile
C'est vrai il ne faut jamais baisser les bras c'est très important surtout en informatique. J'ai une connaissance qui s'est lancée à fond là-dedans et qui, aujourd'hui, à environ 20 ans, a créé un premier système d'exploitation et il remet ça.
Alors si newkiller est si doué déjà à 13 ans je pense qu'il a beaucoup d'espoir et je lui conseille de persévérer, j'aurais tant aimé commencer si tôt...
Bonne chance
Utilisateur anonyme - 29 oct. 2007 à 20:48
+4
Utile
Attends... tu vas me dire que tu sais faire tout ça mais t'arrive pas à installer linux? Et t'as 13 ans? En tout cas t'as de l'humour.
Si tu veux une version de linux pour les pro faut prendre plutôt Debian ou Gentoo, si tu veux un truc plus facile faut prendre Ubuntu, Fedora ou Mandriva.


Life is life! never changes...
+4
Utile
et ben moi j'en ai 11 et je maitrise un peu le c, windows, linux et je peut te dire que pour ton sisteme il faut connaitre le c ETla programation d'assembleur pour le c www.siteduzero.com
+4
Utile
Salut
G 15 ans et je usis intérésé par la proposition de Newkiller31 pour créer son propre système déxploitation je tient aussi a dire ke g un cd dinstalation de ubuntu7.10 je conné un pe le C et je vé pa tardé a apprendre le C++ et je mi conné pa mal en info caravec un pote on crée un jeux comme counterstrike
P.S on a besoin d'infografiste de scenariste et d'ingénieur du son si vous paticipé vous auré une version du jeu
+4
Utile
mon idé c de creer d'abor des ptite parti comme un menu, une horloge, ...
et apré ont assemble tout et apré i restera que les grosse parti !

ou alor ont essaye de décomposé Windows et apré ont modifi comme ont a envi !!!
+4
Utile
Le plus simple ?

S'inspirer de ce qui se fait avec la communauté Linux. Sans pour autant créer une nième version de Linux. Tout d'abord, sauf si tu veux faire un pseudo-DOS, entoure toi d'amis qui touchent en programmation. Tout seul ? Une vie ne te suffirait pas. Sauf si tu es un génie ;o))
Car pour créer un OS valable (qui ressemble à du windows, linux et autres Tiger & Co), il faut être beaucoup (sinon pourquoi Billou engagerait plein de monde pour développer ? Et oui, ça change du DOS !

Conseil : Récupère le code source d'une quelconque version de Linux et modifie-là selon, tes désires. ça te fera un bon début, et tu partiras avec des bases déjà établies. Surtout si tu n'es pas un as du développement

En tout cas, belle initiative et bon courage !!
jojomisterjo 596 Messages postés lundi 15 juin 2009Date d'inscription 13 août 2013 Dernière intervention - 22 déc. 2009 à 10:27
+4
Utile
Ben attends je t'en crée un, je reviens. Tu veux que je l'appelle comment ton OS ? Cocker OS ? Cockerux ? Cockerows ? Ou MAC Cocker tiens !
+3
Utile
Bonjour, newkiller31 si tu t y met tt de suite tu y arrivera a 26 ans et crois moi c'est tres possible cherche dabord par ou commancer je te conseil d'esayer de manipuler un noyau linux
Comment créer son système d'exploitation - page 2