Forum Clubic

Systeme d'exploitation - faire un systeme d'exploitation

Salut à tous je voudrais savoir comment faire un systeme d’exploitation, mais un programme sur liberty basic sa serais sympas de m’aider.

Sa serais sympas…

Est-ce une blague ? :lol: Ou est-ce que tu ne sais pas exactement ce qu’est un système d’exploitation…

Bill GATES a bien créé le sien vers l’age de 15 ans je crois et il l’a vendu (et plutôt bien à ce qui se dit), alors pourquoi pas un nouveau Billou en 2006…

Petite rectification. c’est Tim Paterson qui a inventé le systeme d’exploitation DOS pour la microinformatique. Bill l’a acheté pour 50000 dollars (de l’époque) pour le revendre 3 dollars sur chaque micro vendu par IBM…

Un article sur le site de wikipedia :[URL=http://en.wikipedia.org/wiki/Tim_Paterson[/URL]

Mais quoi qu’il en soit, ce ne sera pas une partie de plaisir.

Bon courage !

Le véritable créateur de MSDOS est Gary Kildall, le premier msdos n’étant qu’un fork de CP/M avec une meilleure gestion de la ram et un nouveau système de fichier.
En tout cas, on est d’accord sur le fait qu’à part sa vision de visionnaire et d’opportuniste, Microsoft n’a rien inventé.

je sais c’est quoi un systeme d’exploitation mais ce que je veux savoir c’est d’en créer un.

euh, je suis le seul à ne pas comprendre le sens de la phrase ? :neutre:
parce que là je comprend que tu veux faire “un système d’exploitation, mais en fait un programme sur liberty basic” … donc tu veux faire un OS ou un programme sur liberty basic ? parce que c’est pas vraiment du même niveau :paf:

sinon bah, il te faut connaitre tout sur un ordinateur, comment ça marche etc …

oui c’est ce que j’ai envie de faire. C’est essayer de programmer un systemme d’exploitation sur liberty basic.
si ce n’est p

oups je bugersi ce n’es pas possible sur quelle programme alors?

bah c’est sur que c’est pas avec un programme tout fait comme LB que tu pourras faire un système d’exploitation :smiley:

un OS, ce seras surtout un mélange d’assembleur / C / C++ si je ne m’abuse … regarde comment est fait Linux :super: …

Il parait qu’il y a quelques étudiants qui faisaient un mini-système pour s’entrainer à titre éducatif, c’est l’intérêt carc’est évident que tu ne va pas concurrencer linux tout de suite. :wink:

Je n’en ai jamais fait, et je pense que c’est très long à faire, mais pas impossible, il faut que tu définisse ce que tu veut faire avec ton système: mono ou multi-tâches, quel type de système de fichiers, gestion graphique on non.

Tu peut t’instpirer de quelques sytèmes libres créés par des amateurs (mais très costaud en prog): Small OS etc.
http://www.openbg.net/sto/os/
http://www.google.fr/search?hl=fr&q=small+…he+Google&meta=

Petite remarque en passant: historiquement, tous les programmes n’étaient pas lancé dans un système, ils avaient parfois leur propre boot ( sur les atari XL, XE en 8 bits, les jeux étaient lancé comme ça).

Pou moi un système, c’est au minimum un boot, une gestion de fichiers, et un lancement de programme.
j’avais commencé à faire un boot sur disquette (c’est plsu simple, après on peut surement l’adapter en boot CD): il faut programmer en assembleur un bout de code qui tient sur un secteur, qui finit par le “magic number” qui identifie un secteur de boot, et qui évidemment va lancer le chargement des autres secteurs pour que le boot continue.

Après, la gestion de fichiers reste difficile, tu peut tenter d’implémenter une FAT, au delà, ça risque d’être difficile…

La suite après midi !
:slight_smile:

alors a aprem et merci d’avance

d’accord, mais tu ne nous a toujours pas dit ce que tu voulais faire comme système, le temps que tu veux y consacrer. :??:

  • Voilà, alors il faut d’abord voir l’assembleur 86, tu va faire tout tes sources en assembleur, (au moins pour le boot), que tu ai donc soit un MASM soit un TASM ou un compilateur sous Linux, le reste se programme en C.

j’ai trouvé cette page intéressante pour avoir quelques sources assembleur de systèmes:
http://kos.enix.org/otheros.php?lang=fr
regarde notamment les sources de linux0.01, les sources assembleur sont les fichier en .s

  • Ensuite, il y a tout un ensemble de chose à gérer dans un système, essaye de trouver un maximum d’info sur des sites, dans des bouquins, c’est un peu dur à résumer; dans le désordre, les difficultés à gérer:
    . le boot (gérer tout la gestion de l’amorçage du système uniquement à partir du chargement des secteurs)
    . le passage en mode protégé, ou toutes les interruptions BIOS ne sont plus dispo, ce qui rend le dev assembleur d’autant plus difficile, voir dans l’exemple de source du 1er linux version 0 le passage dans ce mode.
    . la gestion du système de fichier pour accéder au moins à un volume FAT.
    . la gestion du lancement des processus
    . la gestion de la mémoire
    . la gestion de l’affichage.
    . réaliser quelques programmes compatible avec ce système.

pour ce dernier point, j’espère que tu est bien conscient que aucun programme ne pourra se lancer dans ton système !! , tu devra développer toi même tous les programmes.

ça explique un peu le principe du fonctionnement du boot.
pour programmer le boot, regarde un peu le source:
http://inferno.cs.univ-paris8.fr/~am/tutor…tutorial02.html
ce tutorial explique d’ailleurs pas mal de chose, il faut jeter un oeil sur toutes les pages.

c’est un programme d’exactement 512 car (avec un filler) et qui finit par le “Magic Number” 0xAA55 qui definit le secteur comme un secteur de boot.
ensuite, ce secteur ne faite qu’afficher un message, c’est à toi de programmer un bootloader pour charger le noyau du système.

Tu peux à nouveau regarder à titre informatif ce que fait linux, il charge apparamment en premier le programme "init" qui sera le processus N°1 du système.

bref, il y a pas mal de connaissance à acquérir pour réaliser un système: la connaissance de l’assembleur, de l’adressage mémoire en mode protégé(gdt: Global Descriptor Table), la gestion du chargement d’un programme, les sytème fichier… c’et plutôt très difficile, et pour moi, réaliser un petit secteur de boot qui fait 2-3 choses, c’est déjà pas mal :wink:

edit: le site d’un système abandonné, mais qui explique un peu des choses:
http://minso.free.fr/cavinfo/systeme/sos.html#premier

ok merci mais je créer sous quellle programme

merci t trop sympas

:MDR

ps : merci deltree pour les infos :jap:

bah un compilo assembleur, puis C et/ou C++ …

mais si tu ne sait pas de quoi on parle, je te conseille avant tout d’apprendre à programmer (c’est à dire autre chose que du Visual machin “je clique, je tire, hop, mon logiciel il est finis”) :oui:
(note: je ne dis pas ça méchamment hein :neutre:)

ça me rappelle quand j’étais au collège et que je voulais faire un jeux 3D style Wolfenstein 3D avec un pote graphiste … je m’étais acheté un gros bouquin (“Programmation des jeux 3D”) avec un joli CD d’exemple … donc evidemment je me jette direct sur les fichiers .asm et .c de la lesson 1 du CD d’exemple …
et ma réaction “oui bon ok, j’ai un joli fichier texte avec plein de commande, mais j’en fais quoi maintenant ?” :MDR
évidemment à l’époque, pas d’internet grand public, donc j’ai un peu lutté pour récup TASM et TC, mais après ça allait (et pour ceux qui veulent le fin de mot de l’histoire, au final on a pas fait le jeux : on a préférer faire du réseau avec cable série sur Doom :o :ane: )

ok merci t’est sympas

C’est de l’assembleur; donc tu prend un compilo assembleur: “Visual Studio” au pire.
:slight_smile:
C’est pas pour dire, mais il faut commencer par apprendre l’assembleur, moi en 2 ans, j’ai abandonné, alors comme c’est parti tu va avoir du mal, tu es sûr que c’est pas une blague? :confused:
Bon sinon, dit nous plutôt ton problème, il y a peut-être un moyen plus simple que de réaliser un OS? :neutre:

Edit: bon OK, apparramment tu as la réponse :wink:

Je t’en prie, :wink: ça m’avait amusé de faire un secteur de boot pour lancer un petit prog assembleur, je voulais même me lancer à faire un petit OS avec un collèque en inter-contrat. on a quand même fait presque un an d’intercontrat, mais quand on n’y connait pas grand chose, il faut quand même pas mal de temps.