Petites questions sur les espaces virtuels, pagination, segmentation..

Petites questions sur les espaces virtuels, pagination, segmentation.. - Matériels & problèmes divers - Hardware

Marsh Posté le 31-03-2003 à 20:05:35    

Bonjour,
 
Je c'est pas si c'est le lieux pour demandé ca mais j'aimerais savoir comment on calcul :
 
un espace virtuel d'un systeme?
 
Comment savoir combien  un systeme gere de page et de segment dans le cas de la gestion de la memoire en pagination-segmentation.
 
Pareil pour un programme comment on sait combien il utilise de table de page?
 
Merci
 
PS : Si vous etes chaud j'ai plein d'autre question après :)

Reply

Marsh Posté le 31-03-2003 à 20:05:35   

Reply

Marsh Posté le 31-03-2003 à 20:18:47    

Le principe de l'adressage virtuel, c'est que chaque processus à son propre espace d'adresses. Ainsi, chaque processus accède à la mémoire indépendamment des autres processus, il croit être seul et avoir tout l'espace d'adressage à sa disposition.
A chaque accès mémoire, il y a une conversion qui est effectuée, de l'adresse virtuelle (telle que la voit le processus) vers l'adresse réelle.
 
La mémoire est donc gérée sous forme de cases (4 ko généralement), et l'OS fait en sorte de mettre des pages (les blocs de 4 ko d'adresses virtuelles) dans les cases de la mémoire. Mais il peut aussi les déplacer vers le swap pour faire de la place et mettre d'autres pages dans la mémoire.
Ainsi, la taille totale de mémoire gérée par l'ensemble des processus peut être supérieur à la taille physique de la RAM :)


Message édité par mrbebert le 31-03-2003 à 20:23:13
Reply

Marsh Posté le 31-03-2003 à 20:36:41    

Pour le fonctionnement j'ai a peu près quoi que en fait pas tout car je savez pas que chaque programme pensez avoir tout l'espace.
 
Mais mon pb pour donner un exemple précis est le suivant :
je considère un système gérant ses adresses sur 20 bits. La émoire et géré en Segmentation-Pagination avec des page de 2 Ko et des segments de 64 Ko. Ma memoire physique est de 2 Mo.
 
Je voudrais connaitre l'espace virtuel du sustème qui je crois est de 2^20 bits mais je suis meme pas sure.
 
Après je voudras savoir comment calculer combien le systeme gère de page et de segments.
 
Enfin sachant que je charge un progremme de 100 Ko combien de table de pahe j'obtient?

Reply

Marsh Posté le 31-03-2003 à 20:41:05    

J'ai jamais compris ce que les segments venaient faire là dedans [:proy]  
 
Si l'adressage se fait sur 20 bits, ca fait effectivement une taille 2^20 octets
2 ko, ca fait 11 bits, ca ferait 2^9 pages (512) :??:

Reply

Marsh Posté le 31-03-2003 à 20:46:18    

pourquoi 2^9
 
Tu connais un site ou il explique tout ca?
 
Je cherche depuis 2-3h j'ai trouver 1000 explication sur les phenomene de segmentation et pagination mais pas un seul exemple de calcul...

Reply

Marsh Posté le 31-03-2003 à 20:47:55    

20-11 = 9 ;)  
 
20 bits d'adressage, dont 11 pour l'adressage dans la page (2 ko). Il reste 9 bits pour le numéro de page :)

Reply

Marsh Posté le 31-03-2003 à 20:49:05    

est pourquoi si c'est codé sur 20 bits c'est du 2^20 OCTETS pourquoi pas 2^20 BITS

Reply

Marsh Posté le 31-03-2003 à 20:51:01    

Une adresse, c'est l'adresse d'un octet, pas d'un bit :heink:  
20 bits, ca permet d'avoir 2^20 valeurs, donc 2^20 adresses.

Reply

Marsh Posté le 31-03-2003 à 20:58:17    

a oki.
 
T'as pas de site alors pour tout ca?
 
 
donc comme je te disait si tu charges un programme de 100 Ko a l'adresse (A0000)H Combien de tables de pages ontient on pour ce programme?
 
Si la première tables de la pages est implantée a l'adresse physique 0100, qu'elle est la table de segment du programme sachant que l'implantation est continue et que la taille d'une table de page est de 128 octets?
 
Enfin le 18eme fil d'adresse est coupé est ce que l'espace virtuel est changé?
 
A qu'elle adresse physique peut on charger le programme pour qu'il soit dans des segment contigus?
 

Reply

Marsh Posté le 31-03-2003 à 20:58:32    

C'est pas tres facil tout ca...

Reply

Marsh Posté le 31-03-2003 à 20:58:32   

Reply

Marsh Posté le 01-04-2003 à 19:29:01    

non, ca n'a rien de simple :(  
 
Désolé, je connais pas de site détaillé sur le sujet. J'ai bien souvenir de mes cours mais je les ais pas avec moi [:proy]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed