La mémoire est une zone dans laquelle les programmes
doivent être stockés pour pouvoir être exécutés.
Un ordinateur compatible PC peut posséder trois types de mémoire:
- conventionnelle
- étendue
- paginée
La quantité de mémoire présente (et disponible) dans le système
peut être connue en exécutant la commande "mem" (ou
"mem /c |more" pour avoir des informations détaillées).
La mémoire conventionnelle est la partie de la mémoire dans laquelle
les programmes peuvent se charger sans instruction spécifique. sa taille
varie suivant les systèmes de 256Ko à 640Ko (sur tous les ordinateurs
récents: 386, 486, Pentium...).
La quantité de mémoire disponible est la mémoire qui reste pour
les programmes après que le DOS se soit chargé en mémoire (c'est-à-dire
le système lui-même ainsi que tous les gestionnaires de périphériques
et toutes les commandes contenues dans les fichiers config.sys et autoexec.bat).
La mémoire étendue permet au système d'accéder à plus
de mémoire. Ce type de mémoire est disponible sur les ordinateurs dotés
d'un processeur de type 80286 ou supérieur.
Seules les adresses de la mémoire conventionnelle sont naturellement reconnues,
pour accéder à la zone de mémoire située au-delà des 640Ko
les programmes ont besoin d'instructions spécifiques. C'est un programme qui se charge
de gérer l'accès à la mémoire étendue, il empêche par
exemple deux programmes d'utiliser simultanément la même plage de mémoire.
On appelle ce programme "gestionnaire de mémoire étendue".
MS-DOs est livré en standard avec le gestionnaire de mémoire nommé
HIMEM.SYS (il est encore présent sur Windows 98). Il se déclare dans le config.sys
par la ligne:
DEVICE=chemin/himem.sys
où chemin représente le chemin d'accès au fichier
Un autre moyen d'accéder à la mémoire située au-delà des 640Ko
consiste à utiliser de la mémoire paginée. Certains programmes (peu aujourd'hui)
sont optimisés pour utiliser ce type de mémoire.
Tout comme la mémoire étendue, ce type de mémoire nécessite un programme
pour la gérer, il est appelé "gestionnaire de mémoire paginée".
Les programmes prévus pour utiliser ce type de mémoire ne peuvent pas l'utiliser directement:
le gestionnaire de mémoire doit copier des segments de 16Ko (appelés pages)
dans une zone (appelée segment de cadre) située en mémoire supérieure.
Ce type de mémoire est apparu avant la mémoire étendue, cette mémoire est
donc plus lente et ne permet l'utilisation que d'une portion limitée de mémoire à un instant donné.
Beaucoup de systèmes disposent de 384Ko de mémoire supérieure HMA, High Memory Adresses), situés
immédiatement après les 640Ko de mémoire conventionnelle. Cette zone de
mémoire peut être utilisée par le matériel. Les zones non utilisées
par le matériel sont appelées "blocs de zone de la mémoire supérieure"
(UMB, upper memory blocks), ils permettent d'exécuter les programmes se servant de la mémoire
paginée.
|