À toute personne désirant comprendre le phénomène de traduction d'adresses virtuelles en adresses physiques. Ce logiciel vise plus directement les étudiants du cours INF3600 - Systèmes d'exploitation qui pourront grâce à ce simulateur, visualiser plus concrètement les notions apprises dans le cours concernant la traduction d'adresses à 1 ou 2 niveaux de pages. À l'aide d'un schéma simplifié et imaginaire d'une architecture, composée d'une mémoire virtuelle ayant des adresses de 8bits et d'une mémoire physique adressée sur 7bits, les étudiants pourront comprendre le principe sur une base simple pour ensuite extrapoler vers des systèmes plus réalistes.
L'utilisation de ce simulateur est très simple. Il possède deux modes
de simulation : une simulation à un seul niveau de pages ou à deux
niveaux.
La figure ici représentée est une simulation à un niveau de pages,
qui sont représentées au centre de la fenêtre. Dans les deux types de
simulation, une seule donnée d'entrée est nécessaire avant de lancer
l'exécution, soit l'adresse virtuelle désirée. Elle peut être entrée de
diverses manières, soit directement par bits, par le numéro d'adresse ou
encore en cliquant directement sur le cadre mémoire virtuelle désiré.
Il est de plus possible de modifier le type de simulation. Du mode
normal, on peut passer sur une simulation instantanée qui nous donne
simplement le résultat final. La simulation peut de plus être
totalement supprimée, ce qui est pratique pour remplir la mémoire
rapidement si on ne se soucis pas de la visualisation.
.
On voit ici la simulation à deux niveaux de pages. Le premier niveau
étant formé de pages contenant des pointeurs vers les autres pages du
deuxième niveau.
Que l'on se trouve à un niveau de pages ou à deux niveaux, les
adresses virtuelles peuvent être entrées pour divers processus jusqu'à 9
différents. Chaque processus est désigné par une couleur distincte, il
s'agit d'une méthode purement visuelle pour les besoins de la
simulation, afin de bien voir quels cadres mémoires sont associés à
quels processus.
.
On remarque bien sur la figure l'utilisation des couleurs pour la
représentation des processus. On constate que la mémoire virtuelle
appartient en entier au processus (tous les cadres portent sa couleur),
tandis que la mémoire physique est partagée en fragments par les
différents processus.
Le deuxième niveau de page contient les numéros de cadres en mémoire
physique où trouver l'information recherchée. Ce numéro est accompagné
d'un bit de validité qui indique si le pointeur est toujours valide.
Les cadres en mémoire virtuelle qui sont présents en mémoire
physique sont mis en évidence grâce à un fond blanc. On peut ainsi voir
rapidement les cadres qui occasionneront un défaut de page contrairement
à ceux qui seront retrouvés dans la mémoire physique.
Il est possible, lorsque l'on ne se trouve pas au milieu d'une simulation, de cliquer sur un cadre physique afin de connaître ses propriétés : le processus auquel il appartient, les adresses physiques contenues dans ce cadre et les adresses virtuelles menant à ces adresses physiques.
.
On voit ici la représentation d'une simulation. Une fois l'adresse virtuelle spécifiée et la simulation lancée, on peut voir la progression de la traduction d'adresses au travers des différents niveaux de pages jusqu'à la mémoire physique. Lorsque la simulation est terminée, l'utilisateur doit appuyer sur le bouton "Ok" afin de revenir au point initial de simulation et entrer une nouvelle adresse.
Les détails de la simulation sont aussi disponibles dans un format texte à partir du menu Fichier. Il est, de cette manière, plus facile de suivre la progression de la mémoire au travers des diverses étapes de la simulation. Ces détails peuvent par la suite être sauvegardés dans un fichier pour consultations ultérieures.L'option d'exportation vers un fichier texte permet à l'usager
d'obtenir un fichier de résultats de la simulation pour consultation
ultérieure. Cette exportation est possible en consultant les détails de
la simulation à partir du menu Fichier
et en appuyant sur le bouton Sauvegarder
au bas de la fenêtre montrant les détails.
Les options d'écriture et de lecture de
fichier ne sont offerte que dans la version autonome (fichier .jar)
du simulateur. Cette limitation est imposée pour des raisons de sécurité
par la machine virtuelle java (celle qui s'occupe d'exécuter les applets
java). En effet, personne n'aimerait qu'un programmeur malveillant
s'amuse avec des fichiers sur son ordinateur via Internet. Pour cette
raison, il est impossible (à moins de conditions particulières)
d'effectuer des écritures et des lectures de fichier via un applet Java.
Cette limitation se fait donc ressentir dans la version "Applet" du
simulateur.