Posez votre question Signaler

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

Cocker - Dernière réponse le 20 avril 2012 à 17:57
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
Lire la suite 

Comment créer son système d'exploitation »

141 réponses
Réponse
+90
moins plus
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.........................
Ajouter un commentaire
Réponse
+38
moins plus
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
medben - 8 déc. 2011 à 14:17
est ce je pourrais vous joindre moi aussi? j'ai tout l'envie de contribuer à un tel projet
Pastounak- 23 janv. 2012 à 19:44
J'espère qu'il y aura moins de fautes dans ton OS que dans ton post : p
Cpcdos- 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 :)
Ajouter un commentaire
Réponse
+10
moins plus
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
Ajouter un commentaire
Réponse
+8
moins plus
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.
zagaga- 26 mars 2011 à 10:08
Les mathématiques ne posent pas problème, lors de l'apprentissage d'un langage on apprend le nécessaire sans s'en rendre compte, je suis en 4ème et je suis maintenant en avance d'au moins trois ans sur le programme de mathématiques, quant à la documentation, on trouve tout en ligne. Quant au reste, le temps, on est pas pressé et les langages on peut toujours les apprendre en ligne, le principal problème est le manque matériel et l'incompréhension de l'anglais.

Bref, le problème n'a rien avoir avec l'âge l'essentiel c'est d'être motivé.

Il est parfois indispensable d'avoir quelqu'un sur qui compter en cas de problème.
toine27 - 26 mars 2012 à 19:53
Exacte je suis en 5 ème et je voudrai créé un OS si sa t'intéresse on peut faire sa ensemble
KazL - 17 avril 2012 à 18:18
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...
Ajouter un commentaire
Réponse
+8
moins plus
Le sujet date de 2004, par conséquent le posteur doit avoir laissé tombé non ^^ ?
Ajouter un commentaire
Réponse
+4
moins plus
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
Ajouter un commentaire
Réponse
+4
moins plus
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
Ajouter un commentaire
Réponse
+3
moins plus
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 ?
Linuxenforce - 2 août 2010 à 11:39
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
Duopal - 17 déc. 2010 à 23:15
A Linuxenforce,
Killed link
Lien mort
CINDY - 3 janv. 2011 à 20:54
de quoi vou parler? bande de boloss ici c'est 95 rcm zoo.
Ajouter un commentaire
Réponse
+3
moins plus
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...
Ajouter un commentaire
Réponse
+2
moins plus
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
loler - 19 déc. 2011 à 14:33
mais tu connais pas le fran C lol
Ajouter un commentaire
Réponse
+2
moins plus
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 !!
Ajouter un commentaire
Réponse
+2
moins plus
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 !
Ajouter un commentaire
Réponse
+2
moins plus
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.
Ajouter un commentaire
Réponse
+2
moins plus
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
noa gump - 8 avril 2012 à 19:45
j'adore ce post qui ne sert pas a rien
je viens de survoler le forum et c'est vrai qu'il y a quelques dissonances entre le niveau de français et le niveau de capacité c++
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
Bon ba jai vu ke c'etai pa de la tarte je prefere rester derriere mais vieu jeu et mi attaquer kapres avoir fai des etude d'informatique et jai tou mon temps encore 5 avan le bacet un mot d'ordre vive l'informatique


youpi
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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 !!!
Ajouter un commentaire
Réponse
+1
moins plus
je cherche quelqun pour essayer de cree un systeme d'explotation j'ai que 10 ans mais je maitrise bien le C / C++
dorix SD système - 11 oct. 2011 à 18:38
Mois j'en ais 12 et je suis très bon en DOS et j'ais déjà rendu ma SD moin dépendante de l'ordi
Il faut juste l'interpreteur de commande de Windows (ça ne m'a pris que 45 minute).
Il ne faut pas se découragé ,quant on reve à font de faire qqchose on le fait.

PS: si à 10-12 ans on ne peut pas faire un OS genre Windows ,on peut faire un système par langage simple .

je finis par une citation: Quand on veut on peut.
Quentindu27 - 23 déc. 2011 à 19:44
moi j'ai 12 ns et je commence seulementa aprendre le C/C++quelqu'un peu m'aider svp
PS : desole pour les fautes mon clavier a un probleme
alarme.rs - 20 avril 2012 à 17:57
salem
pour quentindu c' est tres simple visiter site du zero .fr
Ajouter un commentaire
Ce document intitulé « Comment créer son système d'exploitation » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Comment créer son système d'exploitation - page 2