Système d'exploitation et matériel

Apprenez la frontière entre système d'exploitation et matériel avec des QCM : interruptions et exceptions, modes de privilège et appels système, tables de pages et défauts de page, changements de contexte et virtualisation.

S'entraîner sur 10 questionsQuestions aléatoires de ce thème · environ 5 minutes S'entraîner sur ce thèmeToutes les questions de ce thème dans un ordre aléatoire Questions à revoirNe refaire que les questions manquées lors de la dernière tentative

Système d'exploitation et matériel : points clés

Un système d'exploitation (OS) est un logiciel qui permet à de nombreux programmes de partager en toute sécurité le matériel, comme les CPU, la mémoire et les périphériques d'E/S. Pour cela, les CPU offrent des modes privilégiés réservés à l'OS, des mécanismes d'interruption et d'exception, et du matériel qui parcourt les tables de pages pour la mémoire virtuelle.

Les applications demandent des services à l'OS par des appels système ; l'OS bascule entre les programmes sur interruption du timer (changement de contexte) et répond aux défauts de page en chargeant en mémoire les pages nécessaires. Des pilotes de périphériques et des E/S mappées en mémoire jusqu'à la virtualisation par hyperviseur, ce thème couvre la coopération entre matériel et logiciel.

Toutes les questions sur Système d'exploitation et matériel (50)

  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 ?
  6. Quel est le déroulement général du traitement lorsque le CPU accepte une interruption ?
  7. Quel est le rôle de la table des vecteurs d’interruption ?
  8. À quoi faut-il prendre garde lorsqu’on désactive (masque) temporairement les interruptions pendant un traitement important ?
  9. Pourquoi divise-t-on le traitement d’un gestionnaire d’interruption en une partie courte exécutée immédiatement et une partie restante exécutée plus tard dans un contexte normal ?
  10. Quel est le rôle de la table des pages ?
  11. Dans quel cas un défaut de page survient-il ?
  12. Lorsqu’un défaut de page survient à l’accès à une page évincée sur disque, quel est le déroulement du traitement par l’OS ?
  13. Quelle est la principale raison d’utiliser une table des pages à plusieurs niveaux (hiérarchique) plutôt qu’à un seul niveau ?
  14. Avec des adresses virtuelles de 32 bits, des pages de 4 KB et des entrées de table des pages de 4 octets, quelle est la taille d’une table des pages à un niveau ?
  15. Avec une table des pages à plusieurs niveaux utilisant 48 bits d’adresse virtuelle, des pages de 4 KB et des tables de 512 entrées (9 bits) à chaque niveau, combien de niveaux faut-il parcourir ?
  16. Quelle combinaison d’informations figure habituellement dans chaque entrée de la table des pages ?
  17. Quel est l’avantage de la copie sur écriture (copy-on-write) lors de la duplication d’un processus ?
  18. Quelle description de la pagination à la demande est correcte ?
  19. Dans l’algorithme de remplacement de page de l’horloge (seconde chance), à quoi sert le bit de référence de chaque page ?
  20. Avec le remplacement de page FIFO, augmenter le nombre de pages de mémoire physique peut augmenter les défauts de page. Comment s’appelle ce phénomène ?
  21. Comment s’appelle l’état où, faute de mémoire physique suffisante, le système ne fait plus qu’évincer et charger des pages et où le traitement ne progresse presque plus ?
  22. Avec un temps d’accès mémoire de 100 ns et un traitement de défaut de page de 8 ms, quel est approximativement le temps d’accès moyen si un défaut de page survient une fois sur un million d’accès ?
  23. Lors d’un changement de contexte, que faut-il sauvegarder pour le processus quitté ?
  24. Pour quelle raison principale un changement de contexte entre processus peut-il dégrader les performances bien plus que le seul temps de sauvegarde et de restauration des registres ?
  25. Quel est l’avantage d’associer un ASID (identifiant d’espace d’adressage) à chaque entrée du TLB ?
  26. Grâce à quel mécanisme principal l’OS peut-il reprendre périodiquement le CPU, même à un programme qui ne le cède pas de lui-même, pour passer à d’autres processus ?
  27. Pour lire le registre d’état d’un périphérique par entrées/sorties mappées en mémoire comme ci-dessus, pourquoi ajouter volatile et configurer cette zone comme non cachée ?
  28. Dans quel cas la scrutation (polling), où le CPU examine de façon répétée l’état d’un périphérique sans utiliser d’interruptions, est-elle avantageuse ?
  29. Dans un système où le matériel ne maintient pas la cohérence des caches (non cohérent), quel traitement le logiciel doit-il effectuer avant que le CPU lise des données écrites en mémoire principale par un périphérique via DMA ?
  30. Quel est le rôle principal d’une IOMMU ?
  31. Quel est le rôle d’un pilote de périphérique ?
  32. Pour quelle raison principale un OS courant empêche-t-il les applications de lire et écrire directement les registres des périphériques ?
  33. Comment s’appelle le logiciel qui permet d’exécuter simultanément sur un même ordinateur plusieurs OS, chacun dans une machine virtuelle indépendante ?
  34. Quelle description des types d’hyperviseurs est correcte ?
  35. Dans une virtualisation avec pagination imbriquée (traduction d’adresse à deux niveaux), quelle description de la traduction effectuée par le matériel est correcte ?
  36. En pagination imbriquée où l’invité et l’hôte utilisent tous deux des tables des pages à 4 niveaux, combien d’accès mémoire faut-il au pire lors d’un défaut de TLB ?
  37. Comment s’appelle la méthode où, lorsque l’OS d’une machine virtuelle exécute une instruction privilégiée, le traitement passe à l’hyperviseur, qui reproduit à sa place l’effet de l’instruction ?
  38. Quelle description de la paravirtualisation est correcte ?
  39. Quelle est la différence entre conteneurs et machines virtuelles ?
  40. Beaucoup d’OS placent la zone du noyau dans une partie de l’espace d’adressage de chaque processus (par exemple la plage haute) et en interdisent l’accès depuis le mode utilisateur par les bits de protection de la table des pages. Quel est l’avantage principal de cette disposition ?
  41. Avec des pages de 4 KB, combien de bits de l’adresse virtuelle représentent la position dans la page (déplacement) ?
  42. Avec des pages de 4 KB, quelle est la combinaison correcte du numéro de page et du déplacement de l’adresse virtuelle 32 bits 0x00403ABC ?
  43. Quelle combinaison correspond aux principaux modes de fonctionnement définis par l’architecture privilégiée RISC-V ?
  44. Pour revenir au programme initial après le traitement d’une interruption ou d’une exception, pourquoi utiliser une instruction de retour dédiée (sret, mret, etc. en RISC-V) plutôt que l’instruction de retour de fonction ordinaire ?
  45. Dans un système exigeant un comportement temps réel, quel facteur est le plus susceptible d’allonger le délai entre l’apparition d’une interruption et le démarrage du gestionnaire (latence d’interruption) ?
  46. Quelle description de la NMI (interruption non masquable) est correcte ?
  47. Dans un système multicœur, lorsque l’OS modifie l’entrée de table des pages d’une page pour supprimer sa correspondance, quel traitement est nécessaire ?
  48. 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 ?
  49. 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 ?
  50. 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 ?

Comparatifs sur ce thème

Autres thèmes de Systèmes informatiques