13579 schrieb:
Ist Sandbox nicht dasselbe wie eine Virtuelle Maschine?
Nein. Eine Sandbox ist eher vergleichbar mit Containern (bspw. Docker oder LXC), wo der Prozess direkt auf dem Host-Kernel läuft. Je nachdem wie weit man das macht, bekommen die Prozesse im Container/Sandbox bspw. ein eigenes Dateisystem, einen eigenen Prozess-Namespace, ein eigenes Netzwerk, ..., oder auch alles zusammen.
Bei einigen Sandboxen ist das Dateisystem das des Hosts, jedoch nur read-only. "Virtualisiert" werden dabei dann nur Schreibvorgänge und kommen auf eine eigene "Schicht", die am Ende vorworfen werden kann.
Eine vollwertige VM kapselt aber nicht einfach die Prozesse innerhalb eines Kernels, sondern virtualisiert eine ganze CPU, samt Instruktionen, dem State wie Registern etc., und die ganze andere eigene virtuelle Hardware, alleine für die VM. Darin läuft dann auch ein eigener Kernel. Ohne spezielle Agents oder Treiber (die in der VM laufen und Infos über eine Schnittstelle bereitstellen) und Gegenstellen auf dem Host weiß weder der Host was in der VM abgeht, noch umgekehrt.
kurz:
Sandbox/Container: alles läuft auf dem Host, der Host-Kernel "versteckt" die anderen Sachen einfach nur ggü. den Prozessen. Hier gibt es kein sparat laufendes Betriebssystem.
VM: komplett eigene virtuelle und in gewisser Weise unabhängige Hardware ohne weitere Verbindung zum Host. Hier läuft eine vollwertige Instanz eines beliebigen Betriebssystems.
Aus dem Grund geht weder ein Windows Container auf Linux, noch ein Linux-Container auf Windows. Aber Linux kann eine Windows VM hosten und Windows eine Linux VM.
Falls jetzt jemand an das
Windows Subsystem for Linux denkt: hier werden Linux Kernel-Aufrufe auf den Windows Kernel adaptiert/konvertiert - es läuft effektiv also gar kein Linux.
Die in der News genannte Sandbox scheint jetzt ein Mix aus beidem zu sein. Eigene Windows 10 Instanz, die sich aber beim Host bedient.