Question

( Je sens que cette question appartient à moitié appartenant ici et à moitié sur la faute du serveur; s'il vous plaît laissez-moi savoir si vous pensez qu'il y a un meilleur lieu pour cela. )

Comment Xen, voire, n'importe quel hyperviseur, expose du matériel aux systèmes d'exploitation invités?

Par exemple, un invité souhaitant communiquer sur le réseau; À un moment donné, sa demande doit être traduite dans une demande à la carte réseau. L'hyperviseur expose-t-il un périphérique réseau factice, que nous supposons que l'invité sait comment utiliser? Ou faire des invités paravirtualisés ont une connaissance de la manière de faire directement une demande de matériel donné? (Si oui, qu'est-ce que les invités non paravirtualisés font?)

Une fois la demande effectuée, qui le gère? Je suppose que l'hyperviseur n'a pas de peu de connaissances sur le matériel physique (du point de vue du conducteur), il faut donc probablement descendre au DOM0. Droite?

Je demande parce que j'aime faire du développement des noyaux, mais écrire des pilotes est une corvée. Si je pouvais compter sur un DOM0 avec un assez bon support matériel (Ubuntu, dire), puis écrivez-vous mon noyau à courir paravirtualisé et / ou à utiliser un appareil simulé que Xen expose, qui rendrait ma vie beaucoup plus facile . Il est assez difficile de trouver une documentation sur ces sujets. Cependant, mon prochain arrêt est probablement de consulter une gamme de mises en œuvre des invités Xen; halvm , un port de GHC pour exécuter le logiciel HASKELL Nativement en tant qu'invité Xen, ressemble à un bon départ.

Merci et salutations!

Modifier : Ce docteur marketing de xen.org semble indiquer que le DOM0 gère les conducteurs afin de faciliter le dispositif de blocage de Domus et l'accès au réseau, conformément à ma supposition. Dans ce cas, toutes références techniques / spécifications / etc. serait génial!

Modifier : Cette documentation (apparemment obsolète) a l'air bien.

Était-ce utile?

La solution

Il existe trois types de modèles de périphériques.

  1. PV - Par exemple, les invités PV Linux utilisent PV_OPS ( http://wiki.xen .org / wiki / xenparavirtops , http://wiki.xen.org/wiki / Catégorie: PVOPS )

  2. HVM - Virtualisation complète des appareils avec QEMU ( HTTPS : //serverfault.com/questions/222010/Difefence-between-xen-pv-xen-kvm-and-hvm )

  3. passthrough ( http://wiki.xensource.com/wiki/xen_pci_passthrough ) < / li>

    Le livre Le guide définitif de l'hyperviseur Xen pourrait être utile à vous.

    Il y a beaucoup de détails sur le développement sur le wiki: http://wiki.xen.org/wiki/category:developers .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top