Simulateur de traduction d'adresses virtuelles - SIMAV


Sommaire

  1. À qui s'adresse ce logiciel ?
  2. Comment utiliser ce simulateur ?
  3. Options de sauvegarde et d'exportation

À qui s'adresse ce logiciel ?

À 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.

Retour au début

Comment utiliser ce simulateur ?


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.






Retour au début

Options de sauvegarde et d'exportation

L'option de sauvegarde permet de conserver l'état des mémoires virtuelles et de la mémoire physique et elle sauvegarde aussi l'état et le contenu des pages, le tout dans un fichier binaire. Grâce à cette particularité, il est possible de reprendre une simulation antérieure et de continuer celle-ci avec de nouveaux appels.

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.

Retour au début

Références:
Andrew S. Tanenbaum. Systèmes d'exploitation, 2e édition, Pearson Education, 2003
Andrew S. Tanenbaum. Modern Operating Systems, 2nd edition, Prentice Hall, 2001
Hanifa Boucheneb, Juan-Manuel Torres-Moreno. INF3600 - Systèmes d'exploitation, v3.90, École Polytechnique de Montréal, 2003

Simor, par Samuel Bérubé
Pour l'École Polytechnique de Montréal, dans le cadre d'un projet FATIC.
Copyright (C) 2003
24 August 2006 Révision : 20 août 2003.