=D.OS : un petit OS gratuit

nono17pero Messages postés 5 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2011 - 8 janv. 2011 à 18:33
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 9 janv. 2011 à 14:20
Bonjour à tous !
Je suis en train de programmer un petit OS en mdoe texte en langage C. Il devrait être achevé d'ici février, mais il me reste un détail règler.

Je n'arrive pas à écrire de secteur boot. Les tutoriels sont mals expliqués, et je ne trouve pas de code source compréhensible (en ASM, bien sur !).

Alors si quelqu'un s'y connait en Assembleur (NASM), il est plus que bienvenue !

7 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
8 janv. 2011 à 18:45
salut,

Dans ce source, tu trouveras un code boot pour cd et un émulateur d'image iso codé avec nasm.
live cd omf

@++
0
nono17pero Messages postés 5 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2011
8 janv. 2011 à 22:09
Merci :D !
0
nono17pero Messages postés 5 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2011
8 janv. 2011 à 22:17
Waow ! Tout en ASM ! Combien de temps t'as mis pour tout ça ?
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
9 janv. 2011 à 02:31
Le projet a pris plus de 6 mois, mais les connaissances pour y arriver, c'est l'histoire d'une vie.

Quand j'ai commencé, internet n'existait pas. Je me rappelerais toujours de mon premier livre sur la programmation système et de la personne bénie qui me l'a offert car il était bien trop cher pour ma propre bourse. Payer pous apprendre, c'est une idée de capitaliste sous développé.

Vous avez une chance innouie d'avoir accès à la bibliothèque phénoménale que représente internet car le plus gros travail est d'arriver à se documenter correctement sur les diverses spécifications.

"specification" est un mot qui t'apporteras beaucoup dans tes recherches mais tu en trouveras d'autres...

bon courage et, ...
@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nono17pero Messages postés 5 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2011
9 janv. 2011 à 09:47
Et bé....
0
nono17pero Messages postés 5 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2011
9 janv. 2011 à 10:23
Y aurait pas un moyen de faire un boot en C ?
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
9 janv. 2011 à 14:20
Je pense que cela devrait être possible a voir si un compilateur C peut compiler un binaire 16 bits à une adresse définie (0x7C00). De plus, le problème est qu'un code mbr est limité à (512-(4*16)-2) octets pour un hd/fd et 2048 pour un cd. Optimiser pour la taille sera peut-être nécessaire.

Le code C comprendra forcement de l'assembleur car le peripherique de boot est transmis dans le registre dx et seule une instruction asm peut le recuperer. De même que les appels a l'API du bios.

La table des partitions doit être également à une adresse fixe (0x1BE) suivie du nombre magic 0x55AA (ou AA55, je ne sais plus) dans le code C.

Si on peut produire un .com avec le compilateur, alors, cela doit être possible mais, a mon avis, cela sera beaucoup plus dur que de le coder directement en asm.

@++
0
Rejoignez-nous