Page suivantePage pr�c�denteTable des mati�res

2. Qu'est-ce que MILO ?

Sur machines Intel, le BIOS configure le syst�me et ensuite charge, depuis le secteur d'amor�age d'un disque DOS, une image � ex�cuter. Cela est en quelque sorte la fonction principale de MILO sur un syst�me Alpha. Il existe toutefois un certain nombre de diff�rences entre BIOS et MILO, notamment le fait que MILO int�gre certains pilotes de p�riph�riques Linux inchang�s. MILO est un logiciel appel� FirmWare, � l'inverse de LILO qui d�pend du logiciel FirmWare BIOS responsable de son chargement et de son ex�cution en m�moire centrale. Les principales fonctions de MILO sont :

  1. PALcode ;
  2. Initialisation du gestionnaire de m�moire. (construction des tables de pages et mise en service de l'adressage virtuel) ;
  3. Logiciel d'affichage (Code d'�mulation BIOS et TGA (21030)) ;
  4. Une partie du noyau Linux. Incluant, par exemple, un gestionnaire d'interruption qui fait office de noyau Linux ;
  5. Gestionnaires de p�riph�riques en mode bloc (par exemple le pilote de disquettes) ;
  6. Un support des syst�mes de fichiers (ext2, MS-DOS et ISO9660) ;
  7. Un logiciel d'interface utilisateur (MILO) ;
  8. Une interface avec le noyau (configure le HWRPB et la cartographie de la m�moire sp�cifiques � linux) ;
  9. Configuration de la NVRAM (m�moire non volatile) pour la gestion de variables d'environnement.

Les paragraphes suivants d�crivent ces fonctionnalit�s plus en d�tail.

Le PALcode peut �tre per�u comme une minuscule couche logicielle qui pr�pare le processeur Alpha en vue de l'utilisation d'un syst�me d'exploitation sp�cifique. Il fonctionne dans un mode sp�cial du processeur (PALmode) qui a certaines limitations mais utilise les instructions standard des processeurs Alpha, plus cinq instructions suppl�mentaires. De cette mani�re le processeur Alpha peut ex�cuter une grande diversit� de syst�mes d'exploitation tels que Windows NT, OpenVMS, Digital Unix et bien s�r Linux. Le PALcode que MILO utilise (et in extenso Linux lui-m�me) est, comme le reste de MILO un freeware. Il est inspir� d'un exemple de PALcode pour Digital Unix que Digital fournissait avec ses premi�res cartes d'�valuation. Les diff�rences entre les PALcode sont dues � des diff�rences qui existent dans la cartographie de la m�moire, dans la gestion des interruptions entre les diff�rentes versions du processeur Alpha (par exemple le 21066 poss�de une cartographie des entr�es-sorties diff�rente de l'association du 21064 avec les contr�leurs E/S de la famille 2107x, en effet le 21066 int�gre un �quivalent de ce contr�leur sur son support).

Pour que MILO fonctionne correctement il lui faut savoir quelle est la quantit� de m�moire disponible, � quel endroit Linux peut �ventuellement �tre charg� en m�moire, et il doit, de plus, �tre capable d'allouer temporairement de la m�moire pour les pilotes de p�riph�riques Linux. Le code contient une cartographie de la m�moire qui comporte des espaces disponibles pour une allocation de pages m�moire permanentes ou temporaires. Lorsqu'il d�marre, MILO se d�compresse � l'emplacement m�moire ad�quat. Lorsqu'il transf�re le contr�le au noyau Linux, il r�serve un espace pour une instance compress�e de lui-m�me, pour le PALcode (indispensable au fonctionnement du noyau) ainsi que quelques structures de donn�es. Cela laisse la quasi-totalit� de la m�moire centrale libre pour Linux.

L'op�ration finale du gestionnaire m�moire est de configurer et d'activer l'adressage virtuel afin que les structures de donn�es attendues par Linux soient � leur place en m�moire virtuelle.

MILO contient du code d'initialisation de l'affichage qui pr�pare le syst�me graphique � l'utilisation de Linux. Il d�tectera et utilisera un adaptateur VGA s'il est pr�sent, sinon il essaiera d'utiliser le pilote TGA (21030). S'il y a �chec de cette initialisation, MILO consid�rera qu'il n'y a aucun p�riph�rique graphique sur le syst�me. L'�mulation BIOS incluse dans MILO est en fait celle de Digital qui est capable de supporter la plupart, voire la totalit�, des cartes graphiques disponibles.

Les pilotes de p�riph�riques de Linux r�sident dans le noyau dont ils attendent un certain nombre de services. Certains de ces services sont directement fournis par le code du noyau Linux inclus dans MILO. Par exemple la gestion des interruptions est r�alis�e par un ensemble de fonctions similaires � celles du vrai noyau Linux.

La fonctionnalit� la plus puissante de MILO est de permettre l'inclusion de n'importe quel pilote Linux sans apporter de modifications. Cela lui offre la possibilit� d'�tre compatible avec n'importe quel p�riph�rique compatible avec Linux. MILO contient, en standard, tous les pilotes de p�riph�riques en mode bloc du noyau Linux.

MILO charge le noyau Linux depuis un vrai syst�me de fichiers plut�t que depuis un secteur d'amor�age ou d'autres emplacements �tranges. Il supporte les syst�mes de fichiers MSDOS, EXT2 et ISO9660. Les fichiers GZIPp�s sont �galement reconnus et recommand�s, en particulier lors d'un chargement � partir d'une disquette qui reste un support relativement lent. MILO les reconna�t gr�ce � leur suffixe .gz.

Un gestionnaire de clavier rudimentaire est inclus dans MILO si bien qu'avec un pilote de p�riph�rique vid�o d'une simplicit� �gale il dispose d'une interface utilisateur simple. Cette interface permet de lister les syst�mes de fichiers disponibles par le biais de pilotes de p�riph�riques configur�s, de d�marrer Linux ou des utilitaires de mises � jour de la m�moire flash, de d�finir des variables d'environnement agissant sur le d�marrage du syst�me. Comme avec LILO vous pouvez transmettre des arguments au noyau.

MILO doit renseigner le noyau Linux sur la nature du mat�riel sous-jacent (type de carte m�re, quantit� de m�moire RAM totale et quantit� libre). Il effectue cela en utilisant les informations contenues dans le HWRPB. Celles-ci sont dispos�es aux emplacements appropri�s en m�moire virtuelle juste avant que le contr�le du syst�me ne soit transf�r� au noyau Linux.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:23