En virtuel maskine (ofte forkortet VM, på engelsk virtual machine) er et miljø/maskine, som reelt set ikke eksisterer og som enten kan fortolke, aflæse og udføre maskinkode eller maskinkode-lignende bytekode (som kun den virtuelle maskine kan læse, forstå og udføre). Denne maskinkode er ofte oversat fra et menneske-læseligt programmeringssprog af en præprocessor, og tilsammen kaldes disse 2 processer for en fortolker. F.eks. kan Javas virtuelle maskine (JVM) udføre Java-bytekode, som er bytekode der er blevet spyttet ud af en Java-kompiler (i virkeligheden en præprocessor).

VirtualBox

Virtuel maskine vs. virtuelt programmeringssprog

redigér

En virtuel maskine er det stykke software, der efterligner en fysisk maskines instruktionssæt og funktionalitet. En virtuel maskine giver derfor mulighed for

  • at køre flere operativsystemer samtidigt på en fysisk maskine
  • at gøre et stykke software kompatibelt med mange forskellige enheder uden at skulle skrive kompatibilitetskode til flere enheder
  • at køre et stykke software (for eksempel et operativsystem) på en computer som reelt set ikke er kompatibel

Et virtuelt programmeringssprog/instruktionssæt er et programmeringssprog eller instruktionssæt som kun kan aflæses, forstås og udføres på eller af en virtuel maskine. Sådanne programmeringssprog skal som regel kompileres/oversættes til et fysisk (maskinkode) eller virtuelt instruktionssæt. Virtuelle programmeringssprog kaldes også for højniveausprog.

Virtuelle programmeringssprog som ikke skal kompileres:

Virtualiseringssoftware og emuleringssoftware

redigér

Virtualiseringssoftware er programmer som kan virtualisere (efterligne) noget virkeligt. Indenfor virtuelle maskiner, efterligner disse typer software en større eller mindre del af en fysisk maskine i større eller mindre grad.

Når man snakker om virtualiseringssoftware menes der ofte emuleringssoftware, som kan køre maskinkode (et operativsystem) og på den måde emulere/simulere en fysisk maskine. Emuleringssoftware er derfor software som simulere hardware[1], så man kan køre diverse operativsystemer både samtidigt (på samme maskine) og på ikke kompatible maskiner.

Eksempler på emuleringssoftware er

  • VirtualBox (gratis open source virtualiseringssoftware fra Oracle)
  • Virtualiseringssoftware fra VMWare

Programmeringssprog der bruger en virtuel maskine

redigér

Se også

redigér
  1. ^ Forskellen mellem Simulator & Emulator, artikel på computerdk.com (Computer Viden)
  Der er for få eller ingen kildehenvisninger i denne artikel, hvilket er et problem. Du kan hjælpe ved at angive troværdige kilder til de påstande, som fremføres i artiklen.