Não sei exatamente o que ele faz, e realmente trabalho na indústria de TI, então não se sinta mal por não conseguir encontrar muita informação, simplesmente não está lá.
Com base no que sei, acredito que ele realmente faz algumas coisas, a saber:
- Se o sistema tiver recursos de virtualização de hardware em funcionamento (SVM na AMD, VT-x na Intel ou algo no ARM do qual não me lembro o nome), ele tirará vantagem deles para fornecer um isolamento melhor da memória virtual áreas para cada processo.
- Se o sistema tiver suporte à criptografia de memória em nível de hardware (SME no AMD ou SGX no Intel), ele usará esse contexto para fornecer cada contexto de memória virtual (que geralmente é, mas nem sempre, o mesmo que um processo) com a sua própria memória privada verdadeira (em teoria).
Para responder a cada uma das suas consultas específicas:
- Os impactos do desempenho são geralmente muito baixos para ambas as partes, essa é uma das vantagens de se fazer isso em hardware. No entanto, eles têm diferentes tipos de impacto. A parte de criptografia afeta principalmente a largura de banda bruta da memória (embora em meus próprios testes da mesma tecnologia no Linux, não seja muito, eu estava contando os ciclos às vezes para determinar a diferença de desempenho). A parte de virtualização, no entanto, tem a maior parte do impacto na comutação de contexto (por exemplo, chamando as várias APIs do Windows ou acessando hardware).
- Compatibilidade-sábio, você não deve ver muitos problemas, a menos que você esteja usando software que faz algumas coisas patologicamente estúpidas, e você tem uma CPU relativamente recente. Se a sua CPU não for nova o suficiente, ela não suportará virtualização aninhada, e você não poderá executar corretamente a maioria dos tipos de máquinas virtuais no sistema (oficialmente, o Windows 10 não suporta nenhuma CPU x86 com idade suficiente para isso ser um problema, mas ainda será executado em tais sistemas).
- Em termos do que protege, é difícil dizer sem nenhuma explicação concreta de como isso funciona. Eu duvido que forneça qualquer proteção real de bugs de saturação de buffer como Heartbleed, já que eles só podem ser protegidos adequadamente na linguagem de programação, não no SO.