Virtuel maskine
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).
Virtuel maskine vs. virtuelt programmeringssprog
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:
- PHP (serversprog til hjemmesider)
- JavaScript (bruges til at tildele forskellige handlinger til HTML-elementer, for eksempel OnClick)
- VBscript
- Batch
Virtualiseringssoftware og emuleringssoftware
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
- Lua
- Java
- C#
- VB.NET
- C++/CLI (Common Language Infrastructure)
- Common Intermediate Language (CIL)
Se også
Kilder
- ^ 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.
|
|
Medier brugt på denne side
Forfatter/Opretter: VirtualBox: Sun Microsystems, Inc., innotek GmbH; other works: various, Licens: CC BY-SA 4.0
VirtualBox (version 2.0.4_OSE) on Ubuntu (version 8.10), running Fedora (version 10)