2009-06-07 14 views
0

Je lisais la page wikipedia sur ABI, qui décrit ce qu'un ABI doit spécifier, et la page Xen qui indique qu'ils ont un ABI hypercall spécial pour leur paravirtualisation. Ma question est, puisque les programmes s'exécuteront en utilisant say, l'ABI de Windows dans la machine virtuelle, comment le Xen ABI est-il un ABI?est le Xen ABI un véritable ABI?

Répondre

0

Xen a deux façons de gérer les systèmes invités:

  1. invités paravirtualisés, qui emploient que ABI à coopérer avec l'hyperviseur. Cela nécessite que l'invité soit modifié pour fonctionner (ce qui nécessite la disponibilité de son code source). Utilisation des fonctionnalités de virtualisation des processeurs, comme le SVM d'AMD ou le VT d'Intel. Dans ce cas, il n'y a aucun ABI auquel l'invité doit se conformer.

Donc, l'ABI de Xen ne concerne que le premier cas.

EDIT: Les applications de l'espace utilisateur en cours d'exécution sur le système d'exploitation invité besoin pas être modifiés, en supposant qu'ils ne tentent pas d'accéder directement au matériel (ou les systèmes d'exploitation des pièges les accès et les poignées d'une manière hôte conviviale). Donc, seul le noyau (y compris les pilotes, etc.) de cet invité doit être modifié, et il exécutera toutes les applications non modifiées.

+0

Si l'invité a été modifié, tous les binaires compilés sur cette supposition ne fonctionneraient-ils pas sur une installation normale du même OS? –

+0

J'ai modifié ma réponse pour répondre à votre question. –