Tp java : simulation mémoire vive

Fermé
PvRaz Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 12 mai 2005 - 11 mai 2005 à 17:59
 patrick - 24 janv. 2007 à 18:18
Bonjour,

Dans le cadre de mes études, je dois réaliser un projet en java dont l'objectif est de simuler l'état d'une mémoire vive.(décomposer un programme...)

Toutes aides, idées sont les bien venues.

Merci.
A voir également:

3 réponses

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
11 mai 2005 à 19:05
salut, tu représentes ta mémoire vive coe un tableau d'entiers (ds la machine des 32bits, une adressse a la meme taille q'un entier). Ensuite, ben un programme est une suite de mots&adresses de 32bits. Par exemple sous Nachos, c'est ce qui est fait pour simuler un OS avec un processeur mips. Bon voila une piste, je penseq c'est q tu cherchais.
0
PvRaz Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 12 mai 2005
12 mai 2005 à 12:34
Bonjour,

Merci pour la réponse.

En fait, le probleme est de representer (simuler) un programme en mémoire vive, en le décomposant. Un programme en mémoire est representé par :
- le code exec : les fonctions
- donnees globales
- pile
- tas

Il faut faire une classe (java) par element. Par exemple, une classe Donnees dont hérite les classe donneesSimple et DonneeComposee, une classe fonctions... Le but est de simuler des tailles afin de savoir la taille du programme en mémoire. Il faut juste saisir des tailles et représenter le programme brique par brique pour avoir la taille de chaque parti du programme.
Mon probleme est dans la classe donnees, qui peut etre une donneeSimple ou une donnee composee....

J'ai un peu de mal à expliquer clairement le sujet (Ne l'ayant pas trés bien compris moi meme!!!)

Merci beaucoup
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
14 mai 2005 à 17:48
Salut, je pense que t'a suivi des cours de systeme d'exploitation sinon je ne vois pas comment te l'expliquer. Un fichier exécutable est un fichier spécial ds un OS, chaq OS a sa facon de représenter l'entete et ensuite apres tout le reste n'est que du code binaire que le processeur va exécuter (ya abus de langage la, jespere q ta compris ce q j'ai voulu dire, tout fichier n'est qu'une suite binaire d'ailleurs). Mettre un prog en mémoire, c'est lire l'entete, recupérer le nom et tout ce dont a besoin, lui allouer de la mémoire ou tu as sa pile, le tas et une partie code (parce q il se peu que le code soit tres grd et ds ce cas une seule partie cela en memoire et lorsq le processeur ne trouve pas le reste, il lance une exception et l'os reprend la main et charge la partie du code, il ya plusieurs techniques qui existent). Donc ta mémoire vive, tu le divises en 3/4 parties : la pile, le tas, les données et le code. Ou trouver le code, les données, c'est ds l'entete de l'exécutable. Je ne sais pas si j'ai été clair. Si t'as besoin d'un exemple, regarde le code de Nachos http://www.cs.washington.edu/homes/tom/nachos/ , c'est bien structuré, tu trouveras une partie ou on traite de la mémoire, des adresses, etc...
0
Slut j ai lu ton message et j aimerais savoir ou tu en es avec la simmulation en java de la memoire et si possible avoir le code source.
merci d avance
0