Rapport
Pour mieux comprendre le projet il faut connaitre quelques définitions importants, lesquels seront développes au cours de cette section
D’abord il faut savoir qu’est ce que la mémoire virtuelle?, selon la définition, est une mémoire employé par le CPU comme une mémoire vive, mais dont les informations sont stockées sur un disque dur. La mémoire virtuelle répond à deux utilisations. La première vise à éviter le gaspillage de fragments de mémoire en permettant à la mémoire linéaire vue par le programme d'être physiquement constituée de fragments disjoints, ce qui supprime l'inconvénient de la fragmentation de la mémoire, au prix d'un mécanisme que nous allons étudier pour rétablir la fiction de la linéarité. Le second but répond à un phénomène appelé localité des traitements. Si nous observons, cycle par cycle, le déroulement d'un programme dont la taille mémoire est par exemple de un million d'octets, nous constaterons que pendant une tranche de temps donnée, brève par rapport au temps d'exécution total, il ne fait référence qu'à un petit nombre d'adresses proches les unes des autres. Ceci veut dire qu'à chaque instant le programme a besoin de beaucoup moins de mémoire qu'il ne lui en faut au total, et que le contenu de la mémoire inutile à un instant donné pourrait être stocké provisoirement dans un endroit moins coûteux, par exemple sur disque. Lorsque le système d'exploitation lance l'exécution d'un programme, il lui alloue un espace de mémoire virtuelle. Comme cette mémoire est virtuelle, donc gratuite ou presque, l'espace alloué est aussi vaste que l'on veut, dans les limites de l'adressage possible avec la taille de mot disponible. Les principes de la mémoire virtuelle sont les suivantes: • Les adresses mémoires émises par le processeur sont des adresses virtuelles, indiquant la position d'un mot dans la mémoire virtuelle.
• Cette mémoire virtuelle est formée de zones de même taille, appelées