La relation entre les instructions privilégiées, les pièges et les appels système

Je suis en train d'essayer de comprendre comment un moniteur de la machine virtuelle (VMM) virtualise le CPU.

Ma compréhension est que le PROCESSEUR problèmes d'une défaillance de protection interrompre lorsque privilégié d'instruction est sur le point d'être exécutée alors que le CPU est en mode utilisateur. Dans des langages comme C, a privilégié les instructions sont enveloppés à l'intérieur d'appels système. Par exemple, lorsqu'une application a besoin de la date et l'heure actuelles (les instructions qui interagissent avec les périphériques d'e/S sont privilégiés), il demande une certaine fonction de la bibliothèque. L'assemblé version de cette fonction de la bibliothèque contient une instruction appelée " int " qui provoque un piège dans le CPU. La CPU passe à partir du mode utilisateur au mode privilégié et les sauts à la trappe gestionnaire de l'OS. Chaque appel système a son propre piège gestionnaire. Dans cet exemple, le piège gestionnaire lit la date et l'heure de l'horloge matérielle et retourne, puis le CPU passe lui-même à partir privilégié au mode utilisateur. (source: http://elvis.rowan.edu/~hartley/Courses/OperatingSystems/Handouts/030Syscalls.html)

Cependant, je ne suis pas tout à fait sûr que cette compréhension est correcte. Cet article mentionne la notion que l' (privilégié) x86 popf instruction n'a pas pour cause un piège, et complique les choses pour la VMM: http://www.csd.uwo.ca/courses/CS843a/papers/intro-vm.pdf. Dans ma compréhension du popf enseignement ne devrait pas causer un piège, mais une erreur de protection interrompre, lorsqu'il est explicitement appelé par un programme utilisateur et non par le biais d'un appel système.

Donc mes deux questions sont les suivantes:

  • Ce qui se passe quand un programme utilisateur exécute un lieu privilégié d'instruction alors que le CPU est en mode utilisateur?
  • Ce qui se passe quand un programme utilisateur effectue un appel système?

source d'informationauteur datwelk | 2013-05-18