Virtualisierung für Software - .NET (CLR)

Das Prinzip der Virtualisierung wird auch in einigen modernen Programmiersprachen bzw. Frameworks/Plattformen angewendet. Das Programm wird dann nicht direkt nativ ausführt sondern läuft in einer eigenen virtuellen Maschine.

Generell

.NET mit der CLR

Der C#-Code

class HalloWelt 
{
   public static void Main()
   {
      Console.WriteLine("Hallo Welt");
   }
}

wird zum CIL-Code:

.assembly HalloWelt { }
.assembly extern mscorlib { }
.method public static void Main() cil managed
{
    .entrypoint
    .maxstack 1
    ldstr "Hallo Welt!"
    call void [mscorlib]System.Console::WriteLine(string)
    ret
}

Der selbe CIL-Code wäre auch entstanden, wenn das Programm in Visual Basic .NET, IronPython usw. geschrieben worden wäre