Page 1 sur 1

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

Publié : mar. 02/nov./2010 4:31
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! :)

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

Publié : mar. 02/nov./2010 19:22
par Warkering
Laissez tombez, le lien sur BrokenThorn s'est finalement réparé après 2 bon mois de dodo! :wink:

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

Publié : ven. 13/nov./2015 16:17
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)

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

Publié : sam. 14/nov./2015 12:22
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.

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

Publié : sam. 14/nov./2015 16:34
par ker2x
Merci :mrgreen:
(surtout pour la doc et les ebook)

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

Publié : mar. 17/nov./2015 15:02
par Mesa
@ker2x :D

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

M.