Système d'exploitation et matériel

Que se passe-t-il en général lorsqu’un programme accède à une adresse que l’OS ne lui a pas allouée ?

  1. ALe CPU ajoute automatiquement de la mémoire physique pour cette adresse
  2. BL’accès est ignoré et le programme poursuit normalement à l’instruction suivante
  3. CUn défaut de page survient, l’OS juge l’accès illégitime et arrête le programme
Afficher la réponse et l'explication

Réponse : C. Un défaut de page survient, l’OS juge l’accès illégitime et arrête le programme

Un accès à une adresse non allouée provoque un défaut de page, car la table des pages ne contient pas d’entrée valide. L’OS vérifie si l’adresse appartient aux plages autorisées du processus ; s’il s’agit d’un accès illégitime à une adresse allouée nulle part, il signale l’anomalie au programme et l’arrête (la fameuse erreur de segmentation). On empêche ainsi un pointeur erroné de corrompre la mémoire d’autres processus ou de l’OS. La mémoire physique n’augmente pas automatiquement, et l’accès n’est pas ignoré en silence.

S'entraîner sur ce thème Retour au thème

Autres questions sur Système d'exploitation et matériel

  1. Avec un mécanisme qui associe un fichier à la mémoire (comme mmap), que se passe-t-il lors de la lecture du contenu du fichier ?
  2. Pour écrire de petites données octet par octet, pourquoi est-il plus rapide de les accumuler dans un tampon en espace utilisateur et de les écrire en bloc plutôt que d’invoquer un appel système à chaque fois ?
  3. Quel est le but principal de la distinction, dans le CPU, entre mode privilégié (mode noyau) et mode utilisateur ?
  4. Comment s’appelle le mécanisme par lequel une application demande à l’OS d’effectuer par exemple une lecture ou une écriture de fichier ?
  5. Que se passe-t-il lorsque l’instruction ecall à la fin du code RISC-V ci-dessus est exécutée ?

Comparatifs sur ce thème