Ich bin mir nicht ganz sicher, was genau ich damit mache, und ich arbeite tatsächlich in der IT-Branche. Fühlen Sie sich also nicht schlecht, dass Sie nicht viele Informationen finden können, es ist einfach nicht da.
Basierend auf dem, was ich weiß, glaube ich, dass es tatsächlich ein paar Dinge tut, nämlich:
- Wenn das System über funktionierende Hardwarevirtualisierungsfunktionen verfügt (SVM bei AMD, VT-x bei Intel oder etwas in ARM, an das ich mich nicht erinnern kann), nutzt es diese, um die virtuellen Speicherbereiche etwas besser zu isolieren verarbeiten.
- Wenn das System eine Speicherverschlüsselungsunterstützung auf Hardwareebene (SME bei AMD oder SGX bei Intel) unterstützt, verwendet es diese, um jeden virtuellen Speicherkontext (der normalerweise, aber nicht immer das gleiche wie ein Prozess ist) mit einem eigenen zu versehen wirklich (theoretisch) privates Gedächtnis.
Um jede Ihrer spezifischen Fragen zu beantworten:
- Die Auswirkungen auf die Leistung sind für beide Teile im Allgemeinen ziemlich gering. Dies ist einer der Vorteile, die dies bei Hardware bietet. Sie haben jedoch unterschiedliche Auswirkungen. Der Verschlüsselungsteil wirkt sich hauptsächlich auf die reine Speicherbandbreite aus (obwohl ich in Linux selbst die gleiche Technologie unter Linux getestet habe, ist es nicht viel, ich habe manchmal Zyklen gezählt, um den Leistungsunterschied zu ermitteln). Der Virtualisierungsteil hat jedoch den größten Einfluss auf den Kontextwechsel (z. B. Aufruf der verschiedenen Windows-APIs oder Zugriff auf Hardware).
- Aus Kompatibilitätsgründen sollten Sie nicht viele Probleme sehen, es sei denn, Sie verwenden Software, die pathologisch dummes Zeug leistet, und Sie haben eine relativ neue CPU. Wenn Ihre CPU nicht neu genug ist, unterstützt sie keine geschachtelte Virtualisierung, und Sie können die meisten Arten von virtuellen Maschinen nicht ordnungsgemäß auf dem System ausführen (offiziell unterstützt Windows 10 keine X86-CPU, die dafür alt genug ist ein Problem, aber es wird immer noch auf solchen Systemen laufen).
- In Bezug auf das, wovor es schützt, ist es schwer zu sagen, ohne zu erklären, wie es funktioniert. Ich bezweifle jedoch, dass es einen realistischen Schutz vor Pufferüberlauf-Fehlern wie Heartbleed bietet, da diese nur in der Programmiersprache und nicht vor dem Betriebssystem richtig geschützt werden können.