0

J'ai réfléchi à la manière dont l'ensemble de l'information (data) est transmise lors de l'exécution d'un programme ou d'une requête.Cycle complet de la mémoire lors de l'exécution d'un programme

Le diagramme ci-dessous j'utilisé développer mon hypothèse:

enter image description here

  • Toutes les données sont stockées dans une mémoire de disque.
  • Le plateau entier du disque est divisé en plusieurs sectors, et sectors sont divisés en blocks. Blocks sont divisés en pages, et pages sont contenir dans un page table et sequence id.
  • Les données les plus fréquemment utilisées sont stockées dans cache pour un accès plus rapide.
  • Si les données ne sont pas trouvées dans cache alors le programme va vérifier Main Memory et si une erreur de page se produit, alors il va dans le stockage sur disque.
  • Virtual Memory est utilisé en tant que mappage d'adresse de RAM à Disk Storage.

Pensez-vous qu'il me manque quelque chose ici? Est-ce que ma supposition est correcte concernant le fonctionnement de la gestion de la mémoire? Appréciera tous les commentaires utiles. Merci

Répondre

1

Je pense que vous mélangez trop de choses ensemble.

Toutes les données sont stockées dans un stockage sur disque. Dans la plupart des systèmes d'exploitation basés sur disque, toutes les données d'utilisateur (et parfois les données de noyau) sont stockées sur disque (quelque part) et mappées à la mémoire.

Le plateau entier du disque est divisé en plusieurs secteurs et les secteurs sont divisés en blocs. Les blocs sont divisés en pages et les pages sont contenues dans une table de pages et un ID de séquence.

No.

La plupart des disques ces jours-ci utilisent E/S logique pour que le logiciel ne voit que des blocs, pas des pistes, des secteurs et des plateaux (comme vous jours olde).

Les blocs existent uniquement sur le disque. Les pages n'existent qu'en mémoire. Les blocs sont divisés en pages.

Les données les plus fréquemment utilisées sont stockées dans le cache pour un accès plus rapide.

Il existe deux caches communs. Je ne peux pas dire de quoi vous parlez. L'un est le cache de l'unité centrale (matériel) et l'autre est le cache logiciel maintenu par le système d'exploitation. Si les données ne sont pas trouvées dans la mémoire cache alors le programme va vérifier la mémoire principale et si la faute de page se produit, alors il va dans le stockage de disque.

No.

Cela sonne comme vous faites référence à la mémoire cache du processeur. Les erreurs de page sont déclenchées lors de la lecture de la table de pages. La mémoire virtuelle est utilisée comme un mappage d'adresse de la mémoire vive à la mémoire de disque.

Le mappage de la mémoire logique est utilisé pour mapper les pages logiques aux trames de pages physiques. La mémoire virtuelle est utilisée pour mapper des pages logiques sur le stockage sur disque.

+0

Votre commentaire est très utile :) – python