Système d'exploitation et matériel

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 ?

  1. AParce qu’écrire en bloc réduit la quantité totale de données écrites
  2. BParce que la réduction du nombre d’appels limite le coût fixe de chaque appel système
  3. CParce que les données accumulées dans le tampon peuvent être conservées sans utiliser le disque
Afficher la réponse et l'explication

Réponse : B. Parce que la réduction du nombre d’appels limite le coût fixe de chaque appel système

Chaque appel système exige la bascule du mode utilisateur au mode privilégié, la sauvegarde des registres, la vérification des arguments et le retour ; ce coût fixe s’applique même pour un seul octet. De plus, l’entrée dans le noyau perturbe le contenu du cache et du TLB. En accumulant dans un tampon et en écrivant par blocs de quelques KB, le nombre d’appels système diminue fortement et l’ensemble est plus rapide. La quantité totale de données écrites est inchangée, et elles finissent bien sur le disque.

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

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

  1. Quel est le but principal de la distinction, dans le CPU, entre mode privilégié (mode noyau) et mode utilisateur ?
  2. Comment s’appelle le mécanisme par lequel une application demande à l’OS d’effectuer par exemple une lecture ou une écriture de fichier ?
  3. Que se passe-t-il lorsque l’instruction ecall à la fin du code RISC-V ci-dessus est exécutée ?
  4. Quelle est l’explication générale de la différence entre interruption et exception ?
  5. Parmi les événements suivants, lequel est asynchrone, sans rapport avec l’exécution des instructions et survenant à un moment imprévisible ?

Comparatifs sur ce thème