Virtuell maskin (VM, från engelska virtual machine ) - ett mjukvaru- och/eller hårdvarusystem som emulerar hårdvaran för en viss plattform (gäst - gästplattform) och som kör program för gästplattformen på värdplattformen (värd - värdplattform, plattform - värd) eller virtualisera en viss plattform och skapa miljöer på den som isolerar program och till och med operativsystem från varandra (se: sandlåda ); Se även specifikationen för någon datormiljö (till exempel: "virtuell maskin för programmeringsspråket C").
Den virtuella maskinen exekverar någon maskinoberoende kod (t.ex. bytecode , threaded code , p-code ) eller riktig processormaskinkod . Förutom processorn kan en virtuell dator emulera driften av både enskilda hårdvarukomponenter och en hel riktig dator (inklusive BIOS , RAM , hårddisk och annan kringutrustning ). I det senare fallet kan operativsystem installeras på en virtuell maskin, precis som på en riktig dator (till exempel kan Windows köras i en virtuell maskin under Linux, eller vice versa). Flera virtuella maskiner kan köras på en enda dator (detta kan användas för att simulera flera servrar på en enda riktig server för att optimera användningen av serverresurser).
Konceptet med en virtuell maskin som en samling resurser som simulerar beteendet hos en verklig maskin dök upp i Cambridge i slutet av 1960-talet som en förlängning av det virtuella minneskonceptet i Atlas Manchester-datorn [1] . På det hela taget definieras beräkningsprocessen inom ramen för detta koncept av innehållet i arbetsminnesutrymmet som det har tillgång till. Förutsatt att den specifika situationen i den arbetsytan är som förväntat, har processen inga sätt att avgöra om den resurs som presenteras för den verkligen är en fysisk resurs av den typen, eller om den simuleras av åtgärder från andra resurser som resulterar i liknande förändringar till innehållet i processens arbetsyta. .
Till exempel kan en process inte avgöra om den använder processorn exklusivt eller i multiprogrammeringsläge med andra processer. I en virtuell maskin kan ingen process uteslutande använda någon resurs, och alla systemresurser betraktas som potentiellt delade resurser. Dessutom ger användningen av virtuella maskiner frikoppling mellan flera användare som arbetar i samma datorsystem, vilket ger en viss nivå av dataskydd.
Idén med en virtuell maskin ligger bakom ett antal operativsystem, särskilt IBM VM/CMS (och dess sovjetiska klon CBM ) och DEC VAX/VMS .
Virtuella maskiner kan användas för:
Några anmärkningsvärda virtuella maskiner:
Programmeringsspråksmiljöer
|
Operativsystem och hypervisorer | Fristående datoremulatorer |