Organisation de la mémoire au moment de l'amorçage.

Pour discuter de l'assembleur
Warkering
Messages : 808
Inscription : ven. 08/janv./2010 1:14
Localisation : Québec, Canada

Organisation de la mémoire au moment de l'amorçage.

Message par Warkering »

Bonjour!

J'avais trouvé un document l'autre fois qui indiquait toutes les espaces mémoires disponibles aux programmeurs lors de l'amorçage, juste après la vérification matériel du BIOS. Il se trouve que, malheureusement, le lien en question a disparu le jour où mon petit frère a eu la brillante idée de formater mon ancien portable avec tous mes documents LE P'TIT MAUDUSSE DE ... :roll:
Quelqu'un n'aurait-il pas à tout hasard un lien comportent ce genre d'informations?
Ce serait très gentil.

Merci! :)
Warkering
Messages : 808
Inscription : ven. 08/janv./2010 1:14
Localisation : Québec, Canada

Re: Organisation de la mémoire au moment de l'amorçage.

Message par Warkering »

Laissez tombez, le lien sur BrokenThorn s'est finalement réparé après 2 bon mois de dodo! :wink:
ker2x
Messages : 61
Inscription : dim. 11/mai/2008 7:27

Re: Organisation de la mémoire au moment de l'amorçage.

Message par ker2x »

S'il y en a que ca interesse (même 5ans après le post) :

En gros c'est le bordel et t'as aucune garantie.
J'me suis amusé a coder un bout de bootloader (que je ne finirai probablement jamais) en ASM pur et que j'ai commenté a fond.
Je ne fais pas tous les tests possibles et imaginable et je me base sur ce que garantie les emulateurs BOCHS et QEmu (pour autant que je sache ils garantissent la même chose sur l'etat initial de la memoire)

Le MBR : https://github.com/network42/zymology/b ... ot/mbr.asm
Le 1er stage du bootloader : https://github.com/network42/zymology/b ... /oak64.asm

Le MBR est executé en premier et son role est de dire un petit bonjour et de charger le 1er stage du bootloader.

Il n'y a que 512 octets dispo pour le MBR, d'ou le fait qu'il ne serve qu'a charger le stage 1, qui fera des trucs puis chargera le stage 2 (puis evenutellement le 3 si c'est un bootloader a 3 stages).
Tout ca pour passer du mode 16 bit reel au 32 (et ses differents modes) puis au 64bit.

La doc est dans le code :wink:

EDIT : et y'a de la doc pour lire le filesysteme BMFS (BareMetal Filesystem, un OS en ASM dont je m'inspire)
Mesa
Messages : 1093
Inscription : mer. 14/sept./2011 16:59

Re: Organisation de la mémoire au moment de l'amorçage.

Message par Mesa »

Ça me fait penser que j'avais commencé un tuto sur comment faire un boot et un mini kernel. Ça s'appellait PureOS et ça ressemblait à ça:
Image

Si vous voulez voir comment j'ai fait, téléchargez ce rar
[Edit: j'ai du couper le rar en 3 à cause de problème de transfert]

La partie programmation est ici
http://frazier.wood.free.fr/pb/PureOS.rar
Le tuto en français pas à pas de l'OS "Pepin" de Arnauld Michelizza
http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.TutoOS
et les ebooks là
http://frazier.wood.free.fr/pb/AutresEtTuto.rar
Plusieurs OS écrit en asm à lancer avec Qemu (tout est déjà configuré)
http://frazier.wood.free.fr/pb/OS_Exemples.rar


Le brouillon du tuto s'appelle PureOS.doc

Lancer PureOS.pb
Dans les options choisissez "Noyau asm binaire", puis ouvrez "PureOS_05_PureBootChargeNoyauProtege.asm" (par exemple)
puis cliquez sur le N rouge sur fond vert, ça compilera le noyau PureOS avec Nasm et le lancera dans l'émulateur de PC QEMU.
Evidemment, ce noyau ne fait qu'afficher un texte et attendre... :)

Si vous voulez compiler et lancer le secteur de boot (pour disquette),
dans le menu option, choisir "Secteur de Boot" et ouvrez un des exemples,
comme "PureOS_02_PureBootColor.asm"
Qemu devrait clignoter, c'est normal.

Le rar est un peu fouillis et il contient plein d'ebooks + un tuto en français pour créer son propre OS...

Voilà, pour les curieux :D

Mesa.
Dernière modification par Mesa le mar. 17/nov./2015 14:52, modifié 1 fois.
ker2x
Messages : 61
Inscription : dim. 11/mai/2008 7:27

Re: Organisation de la mémoire au moment de l'amorçage.

Message par ker2x »

Merci :mrgreen:
(surtout pour la doc et les ebook)
Mesa
Messages : 1093
Inscription : mer. 14/sept./2011 16:59

Re: Organisation de la mémoire au moment de l'amorçage.

Message par Mesa »

@ker2x :D

J'ai découpé le rar en 3, et tout reposté, voir post ci dessus.

M.
Répondre