IOMMU

Az IOMMU egy olyan, az integrált vagy különálló chipsetben elhelyezett címfordítási és védelmi funkció, amely felprogramozása után teljesítményveszteség nélkül teszi lehetővé, hogy a virtualizált operációs rendszerek közvetlenül és egymástól védetten kezeljék az egyes eszközöket. A futó programok a lapozáshoz hasonló (gyakorlatilag annak megfelelő) memóriavédelemmel együtt kezelhetik egyszerre a hardvereket és azoknak is ugyanilyen szintű védelem mellett, teljes körű hozzáférésük van a rendszermemória programonkénti részeihez. Hasonló a virtuális memóriához: az sem virtuális gépekre, hanem nagyon is valósan egymás mellett futó programokra vonatkoznak. Fontos, hogy a DMA-megközelítésű IOMMU-nak nincs CPU-terhelése, mivel az (integrált) északi vagy déli hídban van a dedikált hardvere.

Míg a technológia nélkül az operációs rendszer drivere kezeli a hardvert és ezért a driverért versengenek a virtuális gépek driverei, addig IOMMU-egység jelenléte esetén (annak felprogramozása után) a virtuális és a host driverek egyenrangúak, közvetlenül a hardverért versengenek. Az IOMMU-egység dönti el, mely hardvereket láthatja egyáltalán egy-egy operációs rendszer, illetve azok írási/olvasási kérései mely memóriaterületekkel köthetők össze illetve melyek szabálytalanok.

Nagyon leegyszerűsítve: ezzel egy virtuális rendszer alá is feltelepíthetjük például kedvenc grafikus gyorsítónk meghajtóját, és kihasználhatjuk annak erőforrásait.

Az AMD megoldása szimplán IOMMU, míg az Intelé VT-d (Virtualization Technology for Directed I/O) névre hallgat, ergo a két technológia megfelelő operációs rendszeri és/vagy drivertámogatás mellett kvázi ugyanazt nyújtja.

Hirdetés