Knowledge (XXG)

Virtual machine

Source 📝

1245:. Any requests by the VM for a location on its physical disk are transparently translated into an operation on the corresponding file. Once such a translation layer is present, however, it is possible to intercept the operations and send them to different files, depending on various criteria. Every time a snapshot is taken, a new file is created, and used as an overlay for its predecessors. New data is written to the topmost overlay; reading existing data, however, needs the overlay hierarchy to be scanned, resulting in accessing the most recent version. Thus, the entire stack of snapshots is virtually a single coherent disk; in that sense, creating snapshots works similarly to the 977: 654:. Such a VM does not consist of a single process, but one process per physical machine in the cluster. They are designed to ease the task of programming concurrent applications by letting the programmer focus on algorithms rather than the communication mechanisms provided by the interconnect and the OS. They do not hide the fact that communication takes place, and as such do not attempt to present the cluster as a single machine. 4094: 4104: 697: 4114: 33: 498:
as "an efficient, isolated duplicate of a real computer machine." Current use includes virtual machines that have no direct correspondence to any real hardware. The physical, "real-world" hardware running the VM is generally referred to as the 'host', and the virtual machine emulated on that machine
2151:
Surprisingly, we find that the first-generation hardware support rarely offers performance advantages over existing software techniques. We ascribe this situation to high VMM/guest transition costs and a rigid programming model that leaves little room for software flexibility in managing either the
1285:
The snapshots described above can be moved to another host machine with its own hypervisor; when the VM is temporarily stopped, snapshotted, moved, and then resumed on the new host, this is known as migration. If the older snapshots are kept in sync regularly, this operation can be quite fast, and
1167:
In OS-level virtualization, a physical server is virtualized at the operating system level, enabling multiple isolated and secure virtualized servers to run on a single physical server. The "guest" operating system environments share the same running instance of the operating system as the host
1222:
is a state of a virtual machine, and generally its storage devices, at an exact point in time. A snapshot enables the virtual machine's state at the time of the snapshot to be restored later, effectively undoing any changes that occurred afterwards. This capability is useful as a
767:: each program appeared to have full access to the machine, but only one program was executed at the time, with the system switching between programs in time slices, saving and restoring state each time. This evolved into virtual machines, notably via IBM's research systems: the 1086:
In hardware-assisted virtualization, the hardware provides architectural support that facilitates building a virtual machine monitor and allows guest OSes to be run in isolation. Hardware-assisted virtualization was first introduced on the IBM System/370 in 1972, for use with
878:. This has been influential, and virtual machines in this sense have been often generally called p-code machines. In addition to being an intermediate language, Pascal p-code was also executed directly by an interpreter implementing the virtual machine, notably in 506:
The desire to run multiple operating systems was the initial motive for virtual machines, so as to allow time-sharing among several single-tasking operating systems. In some respects, a system virtual machine can be considered a generalization of the concept of
1357:
capabilities. If a particular architecture does not provide hardware support required for nested virtualization, various software techniques are employed to enable it. Over time, more architectures gain required hardware support; for example, since the
953:
Java virtual machine. Other innovations include a register-based virtual machine, to better match the underlying hardware, rather than a stack-based virtual machine, which is a closer match for the programming language; in 1995, this was pioneered by the
1333:
Nested virtualization becomes more necessary as widespread operating systems gain built-in hypervisor functionality, which in a virtualized environment can be used only if the surrounding hypervisor supports nested virtualization; for example,
1300:
Similar to the migration mechanism described above, failover allows the VM to continue operations if the host fails. Generally it occurs if the migration has stopped working. However, in this case, the VM continues operation from the
527:(CMS). Unlike virtual memory, a system virtual machine entitled the user to write privileged instructions in their code. This approach had certain advantages, such as adding input/output devices not allowed by the standard system. 799:
for details). An important distinction was between using multiple virtual machines on one host system for time-sharing, as in M44/44X and CP-40, and using one virtual machine on a host system for prototyping, as in SIMMON.
405:
and provide the functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination of the two. Virtual machines differ and are organized by their function, shown here:
1317:
Nested virtualization refers to the ability of running a virtual machine within another, having this general concept extendable to an arbitrary depth. In other words, nested virtualization refers to running one or more
542:(KSM). This is especially useful for read-only pages, such as those holding code segments, which is the case for multiple virtual machines running the same or similar software, software libraries, web servers, 890:(1967), which was written in the SNOBOL Implementation Language (SIL), an assembly language for a virtual machine, which was then targeted to physical machines by transpiling to their native assembler via a 657:
Unlike other process VMs, these systems do not provide a specific programming language, but are embedded in an existing language; typically such a system provides bindings for several languages (e.g.,
457:, are designed to also emulate (or "virtually imitate") different system architectures, thus allowing execution of software applications and operating systems written for another CPU or architecture. 894:. Macros have since fallen out of favor, however, so this approach has been less influential. Process virtual machines were a popular approach to implementing early microcomputer software, including 565:
simultaneously with a preferred complex operating system, such as Linux or Windows. Another use would be for novel and unproven software still in the developmental stage, so it runs inside a
3052: 601:(MRE), runs as a normal application inside a host OS and supports a single process. It is created when that process is started and destroyed when it exits. Its purpose is to provide a 546:
components, etc. The guest operating systems do not need to be compliant with the host hardware, thus making it possible to run different operating systems on the same computer (e.g.,
538:
that have identical contents among multiple virtual machines that run on the same physical machine, what may result in mapping them to the same physical page by a technique termed
1565:
Some people use that capability to set up a separate virtual machine running Windows on a Mac, giving them access to the full range of applications available for both platforms.
605:-independent programming environment that abstracts away details of the underlying hardware or operating system and allows a program to execute in the same way on any platform. 1172:
is also used to implement the "guest" environments, and applications running in a given "guest" environment view it as a stand-alone system. The pioneer implementation was
2419: 2371: 1061: 588: 1271:
Restoring a snapshot consists of discarding or disregarding all overlay layers that are added after that snapshot, and directing all new changes to a new overlay.
431:
to share and manage hardware, allowing for multiple environments that are isolated from one another yet exist on the same physical machine. Modern hypervisors use
2390: 495: 489: 4148: 3073: 364: 3137: 2196:
Muli Ben-Yehuda; Michael D. Day; Zvi Dubitzky; Michael Factor; Nadav Har’El; Abel Gordon; Anthony Liguori; Orit Wasserman; Ben-Ami Yassour (2010-09-23).
1322:
inside another hypervisor. The nature of a nested guest virtual machine does not need to be homogeneous with its host virtual machine; for example,
1577: 2225: 3847: 3819: 2252: 686: 3872: 2727: 2364: 2086: 1968: 1812: 1697: 1661: 1153:
In 2006, first-generation 32- and 64-bit x86 hardware support was found to rarely offer performance advantages over software virtualization.
4143: 3723: 3040: 1342:
applications inside a built-in virtual machine. Furthermore, moving already existing virtualized environments into a cloud, following the
3877: 3156: 1792: 1723: 569:. Virtual machines have other advantages for operating system development and may include improved debugging access and faster reboots. 3389: 1771: 534:
may be applied to manage memory sharing among multiple virtual machines on one computer operating system. It may be possible to share
4029: 3857: 3394: 3106: 3007: 2311: 2292: 2050: 1930: 1852: 1747: 736: 2072:
Proceedings of the Java Virtual Machine Research and Technology Symposium on Java Virtual Machine Research and Technology Symposium
989:
In full virtualization, the virtual machine simulates enough hardware to allow an unmodified "guest" OS (one designed for the same
2303: 1286:
allow the VM to provide uninterrupted service while its prior physical host is, for example, taken down for physical maintenance.
4117: 3218: 2357: 1354: 1081: 714: 432: 198: 2169: 1617: 3505: 1913:
OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
1904: 1719:
EULER: a generalization of ALGOL, and its formal definition: Part II, Communications of the Association for Computing Machinery
609: 357: 3758: 1549: 3796: 3422: 3130: 760: 718: 566: 2143: 650:
A special case of process VMs are systems that abstract over the communication mechanisms of a (potentially heterogeneous)
3938: 3915: 3645: 3635: 2646: 859: 524: 242: 4019: 3607: 3515: 3427: 3203: 3188: 2434: 1111: 959: 851: 830:
compiler-writing system using it for both syntax description and target code generation. A notable 1966 example was the
291: 4107: 3842: 3347: 2472: 1461: 1359: 1343: 1265: 1213: 938: 819: 624: 454: 99: 749:
Both system virtual machines and process virtual machines date to the 1960s and remain areas of active development.
4079: 3728: 2969: 2451: 1346:(IaaS) approach, is much more complicated if the destination IaaS platform does not support nested virtualization. 1323: 1280: 1139: 946: 581: 562: 350: 707: 4138: 4097: 4024: 3999: 3862: 3510: 3123: 2701: 2652: 1469: 1135: 1013: 950: 670: 462: 215: 186: 46: 42: 846:
compiler. This abstraction allowed the compiler to be easily ported to a new architecture by implementing a new
499:
is generally referred to as the 'guest'. A host can emulate several guests, each of which can emulate different
3948: 3781: 3374: 3243: 2657: 2637: 1951:
Proceedings of the Eighth Annual Conference on Object-oriented Programming Systems, Languages, and Applications
1416: 1406: 1033: 922: 666: 658: 617: 539: 270: 192: 2197: 4009: 3943: 3834: 3650: 3317: 3062: 3002: 2954: 2949: 2746: 2398: 1327: 1169: 1162: 640: 613: 485: 458: 323: 248: 127: 338: 4074: 3905: 3786: 3553: 3543: 3538: 3067: 3032: 2936: 2768: 1432: 1391: 1381: 1201: 1099: 930: 925:
forward as an implementation approach that uses process virtual machine. Later notable Smalltalk VMs were
772: 632: 479: 411: 297: 75: 4044: 4014: 4004: 3900: 3814: 3690: 3630: 3597: 3587: 3477: 3442: 3432: 3369: 3238: 3213: 3208: 3173: 2642: 2504: 2123:
Randal, A. (2019). The Ideal Versus the Real: Revisiting the History of Virtual Machines and Containers.
2085:
Uhlig, Rich; Neiger, Gil; Rodgers, Dion; Santoni, Amy L.; Martins, Fernando C. M.; Anderson, Andrew V.;
1585: 1350: 1147: 1088: 1009: 1002: 942: 815: 531: 402: 220: 203: 115: 105: 56: 850:
that took the existing O-code and compiled it to machine code for the underlying physical machine. The
572:
Multiple VMs running their own guest operating system are frequently engaged for server consolidation.
1252:
Other components of a virtual machine can also be included in a snapshot, such as the contents of its
419:
VMs) provide a substitute for a real machine. They provide the functionality needed to execute entire
3804: 3776: 3748: 3743: 3572: 3548: 3500: 3485: 3467: 3457: 3452: 3414: 3364: 3359: 3276: 3222: 1376: 1253: 1029: 883: 764: 628: 276: 4069: 3994: 3910: 3895: 3660: 3447: 3404: 3399: 3296: 3286: 3258: 2982: 2944: 2912: 2798: 2793: 2609: 2026: 1984: 1513: 1426: 1197: 971: 955: 784: 612:(compared to the low-level ISA abstraction of the system VM). Process VMs are implemented using an 516: 416: 92: 976: 4034: 3933: 3809: 3766: 3675: 3617: 3602: 3592: 3384: 3183: 2871: 2788: 2697: 2604: 2106: 1886: 1713: 1530: 1486: 1457: 1421: 1401: 1396: 1246: 1181: 1127: 1115: 1103: 1045: 1689: 557:
The use of virtual machines to support separate guest operating systems is popular in regard to
1653: 4054: 3984: 3963: 3925: 3733: 3700: 3680: 3379: 3291: 3165: 3102: 2987: 2814: 2564: 2456: 2444: 2307: 2288: 2046: 2004: 1964: 1926: 1870: 1848: 1808: 1743: 1736: 1693: 1657: 1411: 1177: 796: 682: 644: 547: 3887: 3771: 3738: 3533: 3462: 3351: 3337: 3332: 3281: 3268: 3193: 3146: 3012: 2886: 2098: 2089:; Kägi, Alain; Leung, Felix H.; Smith, Larry (May 2005). "Intel virtualization technology". 2038: 1996: 1954: 1949:; Griswold, David (1993). "Strongtalk: Typechecking Smalltalk in a Production Environment". 1916: 1911:(1997). "Back to the future: the story of Squeak, a practical Smalltalk written in itself". 1878: 1840: 1828: 1760: 1645: 1522: 1478: 1386: 651: 500: 420: 70: 1763: 1110:
processors in 2005. Examples of virtualization platforms adapted to such hardware include
3958: 3852: 3824: 3718: 3670: 3655: 3640: 3495: 3490: 3437: 3301: 3253: 3198: 2997: 2850: 2829: 1908: 1677: 1641: 1453: 1238: 990: 891: 602: 558: 398: 252: 236: 2344: 616:; performance comparable to compiled programming languages can be achieved by the use of 4064: 3968: 3867: 3713: 3685: 3017: 2959: 2492: 2380: 1804: 1682: 1363: 875: 871: 831: 805: 636: 508: 390: 210: 110: 2030: 1832: 4132: 3953: 3248: 2773: 2692: 2687: 2022: 1797: 1717: 1646: 1606: 1189: 1119: 1049: 1041: 911: 2110: 1890: 1490: 1091:, the first virtual machine operating system offered by IBM as an official product. 530:
As technology evolves virtual memory for purposes of virtualization, new systems of
4049: 3708: 3057: 3046: 2763: 2732: 2677: 2339: 1946: 1553: 1534: 1173: 1021: 899: 756: 520: 165: 85: 804:, with hardware emulation of earlier systems for compatibility, date back to the 4039: 3665: 3577: 2992: 2845: 2594: 2554: 2487: 2134: 2067: 1053: 926: 879: 768: 696: 445:
are designed to execute computer programs in a platform-independent environment.
428: 306: 287: 155: 150: 17: 937:. A related language that produced a lot of virtual machine innovation was the 4059: 3989: 3582: 3322: 3178: 3090: 2917: 2682: 2672: 2497: 2462: 2403: 2326: 1339: 1319: 1261: 1231: 1143: 1102:
provided additional hardware to support virtualization. Sun Microsystems (now
1017: 934: 895: 808:
in 1963, while the software emulation (then-called "simulation") predates it.
788: 543: 424: 122: 37: 2340:
Sandia National Laboratories Runs 1 Million Linux Kernels as Virtual Machines
2008: 1508: 1309:
state, based on whatever materials the backup server was last provided with.
3564: 3525: 2922: 2514: 2331: 1335: 1242: 1025: 918: 907: 776: 378: 170: 2345:
The design of the Inferno virtual machine by Phil Winterbottom and Rob Pike
993:) to be run in isolation. This approach was pioneered in 1966 with the IBM 608:
A process VM provides a high-level abstraction – that of a
2349: 2042: 1959: 1921: 1882: 1844: 1482: 3625: 2224:
Alex Fishman; Mike Rapoport; Evgeny Budilovsky; Izik Eidus (2013-06-25).
2198:"The Turtles Project: Design and Implementation of Nested Virtualization" 1295: 1235: 1107: 867: 863: 847: 839: 823: 801: 394: 160: 80: 2102: 2000: 1526: 554:, or prior versions of an operating system) to support future software. 32: 2896: 2876: 2855: 2616: 2526: 2429: 2165: 2136:
A Comparison of Software and Hardware Techniques for x86 Virtualization
1123: 1069: 1065: 1037: 903: 887: 827: 721: in this section. Unsourced material may be challenged and removed. 662: 301: 257: 1987:; Smith, Randall B. (December 1987). "Self: The power of simplicity". 1462:"Formal requirements for virtualizable third generation architectures" 580:"Application virtual machine" redirects here. Not to be confused with 3022: 2881: 2824: 2819: 2783: 2722: 2662: 2589: 2574: 2569: 2519: 2482: 2467: 2424: 2031:"Optimizing dynamically-dispatched calls with run-time type feedback" 1613: 1224: 1185: 921:-80, particularly the Deutsch/Schiffmann implementation which pushed 914:
argues is "possibly the most portable virtual machine ever created".
854:
language used a similar design, with the intermediate language named
835: 780: 512: 282: 3115: 2977: 2632: 2584: 2559: 2439: 2259: 1607:"Server Consolidation and Containment With Virtual Infrastructure" 1095: 998: 994: 975: 792: 791:. The first widely available virtual machine architecture was the 551: 333: 31: 1578:"Super Fast Server Reboots – Another reason Virtualization rocks" 1349:
The way nested virtualization can be implemented on a particular
949:. These techniques proved commercially successful in 1999 in the 2891: 2667: 2599: 2579: 2531: 1362:
microarchitecture (announced in 2013), Intel started to include
1257: 1057: 843: 523:
by providing each user with a single-user operating system, the
450: 329: 266: 261: 3119: 2353: 2285:
Virtual Machines: Versatile Platforms For Systems And Processes
1227:
technique, for example, prior to performing a risky operation.
2778: 2509: 2477: 2253:"4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing" 1193: 1131: 763:(CTSS). Time-sharing allowed multiple users to use a computer 690: 436: 2295:, 656 pages (covers both process and system virtual machines) 461:
allows the resources of a computer to be partitioned via the
435:, with virtualization-specific hardware features on the host 2066:
Paleczny, Michael; Vick, Christopher; Click, Cliff (2001).
2142:. ASPLOS’06 21–25 October 2006. San Jose, California, US. 2037:. Orlando, Florida, United States: ACM. pp. 326–336. 1326:
can be deployed within a virtual machine created by using
898:
and adventure games, from one-off implementations such as
2074:. Vol. 1. Monterey, California: USENIX Association. 1868:
Aycock, John (2003). "A brief history of just-in-time".
1366:
as a technology that accelerates nested virtualization.
882:(1978); this influenced later interpreters, notably the 1953:. OOPSLA '93. New York, NY, US: ACM. pp. 215–230. 917:
Significant advances occurred in the implementation of
1742:. San Francisco, CA: W. H. Freeman and Company, 1972 ( 1833:"Efficient implementation of the Smalltalk-80 system" 1648:
Building IBM: Shaping an Industry and Its Technology
3977: 3924: 3886: 3833: 3795: 3757: 3699: 3616: 3562: 3524: 3476: 3413: 3346: 3310: 3267: 3231: 3164: 3083: 3031: 2968: 2935: 2905: 2864: 2838: 2807: 2756: 2745: 2715: 2625: 2547: 2540: 2412: 2397: 2314:, 269 pages (covers only process virtual machines) 1796: 1681: 1234:for their storage; in a very simple example, a 10- 2191: 2189: 1915:. New York, NY, US: ACM Press. pp. 318–326. 1799:Smalltalk-80: The Language and its Implementation 589:Comparison of application virtualization software 465:. The terms are not universally interchangeable. 858:(portable). This was popularized around 1970 by 1907:; Kaehler, Ted; Maloney, John; Wallace, Scott; 1502: 1500: 2391:Comparison of platform virtualization software 826:; early examples date to around 1964 with the 814:arose originally as abstract platforms for an 494:A "virtual machine" was originally defined by 490:comparison of platform virtualization software 3155:Note: This template roughly follows the 2012 3131: 2365: 1803:. Addison-Wesley Series in Computer Science. 1008:Examples outside the mainframe field include 358: 8: 3074:Generic Network Virtualization Encapsulation 1052:(discontinued, formerly called GSX Server), 623:This type of VM has become popular with the 1260:settings, or its configuration settings. " 3138: 3124: 3116: 2753: 2544: 2409: 2372: 2358: 2350: 365: 351: 52: 1958: 1920: 737:Learn how and when to remove this message 27:Software that emulates an entire computer 2133:Adams, Keith; Agesen, Ole (2006-10-21). 870:compiler (1975), in which it was termed 449:Some virtual machine emulators, such as 2327:"The Reincarnation of Virtual Machines" 2170:"Nested virtualization: Shadow turtles" 2152:frequency or cost of these transitions. 1445: 315: 228: 178: 142: 62: 55: 3848:Knowledge representation and reasoning 1905:Ingalls Jr., Daniel "Dan" Henry Holmes 1509:"The Architecture of Virtual Machines" 1200:, Parallels Virtuozzo Containers, and 980:Logical diagram of full virtualization 941:programming language, which pioneered 687:timeline of virtualization development 3873:Philosophy of artificial intelligence 2728:System Center Virtual Machine Manager 511:that historically preceded it. IBM's 7: 3199:Energy consumption (Green computing) 3041:Distributed Overlay Virtual Ethernet 1507:Smith, James E.; Nair, Ravi (2005). 719:adding citations to reliable sources 439:providing assistance to hypervisors. 4149:Programming language implementation 3878:Distributed artificial intelligence 3157:ACM Computing Classification System 1740:The Macro Implementation of SNOBOL4 3390:Integrated development environment 2452:LDoms / Oracle VM Server for SPARC 2068:"The Java HotSpot server compiler" 1552:. VirtualComputing. Archived from 1106:) added similar features in their 834:, a virtual machine that executes 593:A process VM, sometimes called an 561:. A typical use would be to run a 316:Notable compilers & toolchains 25: 3858:Automated planning and scheduling 3395:Software configuration management 3107:List of computer system emulators 3008:Symantec Workspace Virtualization 2149:from the original on 2010-08-20. 1268:is an example of such snapshots. 902:to a general-purpose engine like 886:(JVM). Another early example was 627:, which is implemented using the 401:. Virtual machines are based on 4112: 4102: 4093: 4092: 1355:hardware-assisted virtualization 1305:coherent state, rather than the 1241:is simulated with a 10-gigabyte 1230:Virtual machines frequently use 1082:Hardware-assisted virtualization 1076:Hardware-assisted virtualization 759:, as notably implemented in the 695: 639:, which runs on a VM called the 433:hardware-assisted virtualization 4103: 3506:Computational complexity theory 2325:Mendel Rosenblum (2004-08-31). 1774:from the original on 2009-12-03 1684:IBM's 360 and Early 370 Systems 1623:from the original on 2013-12-28 947:generational garbage collection 874:and the resulting machine as a 706:needs additional citations for 610:high-level programming language 3297:Network performance evaluation 1831:; Schiffman, Allan M. (1984). 923:just-in-time (JIT) compilation 761:Compatible Time-Sharing System 643:. All of them can serve as an 1: 3661:Multimedia information system 3646:Geographic information system 3636:Enterprise information system 3232:Computer systems organization 2287:, Morgan Kaufmann, May 2005, 2226:"HVX: Virtualizing the Cloud" 1839:. Salt Lake City, Utah: ACM. 838:(object code) emitted by the 787:, and were early examples of 631:. Other examples include the 525:Conversational Monitor System 515:, the first systems to allow 4020:Computational social science 3608:Theoretical computer science 3428:Software development process 3204:Electronic design automation 3189:Very Large Scale Integration 2839:Virtual kernel architectures 1584:. 2006-05-09. Archived from 1266:video game console emulators 455:video game console emulators 273:target-specific initializer) 49:operating system in a window 4144:Operating system technology 3843:Natural language processing 3631:Information storage systems 2283:James E. Smith, Ravi Nair, 1344:Infrastructure as a Service 1214:Snapshot (computer storage) 820:intermediate representation 647:for any computer language. 599:Managed Runtime Environment 595:application virtual machine 100:Intermediate representation 4165: 3759:Human–computer interaction 3729:Intrusion detection system 3641:Social information systems 3626:Database management system 2335:. Vol. 2, no. 5. 1324:application virtualization 1293: 1281:Migration (virtualization) 1278: 1211: 1160: 1140:Oracle VM Server for SPARC 1079: 969: 680: 586: 582:application virtualization 579: 563:real-time operating system 483: 477: 4088: 4025:Computational engineering 4000:Computational mathematics 3153: 3099: 2653:Parallels Desktop for Mac 2388: 1722:. Vol. 9. New York: 1470:Communications of the ACM 1176:; other examples include 1136:Parallels Desktop for Mac 1064:, Mac-on-Linux, Win4BSD, 1014:Parallels Desktop for Mac 966:Virtualization techniques 671:Message Passing Interface 625:Java programming language 4035:Computational healthcare 4030:Differentiable computing 3949:Graphics processing unit 3375:Domain-specific language 3244:Computational complexity 2658:Parallels Server for Mac 2638:Microsoft Virtual Server 1795:; Robson, David (1983). 1716:; Weber, Helmut (1966). 1417:Virtual backup appliance 1407:Universal Turing machine 1168:system. Thus, the same 812:Process virtual machines 667:Parallel Virtual Machine 618:just-in-time compilation 576:Process virtual machines 540:kernel same-page merging 503:and hardware platforms. 443:Process virtual machines 4010:Computational chemistry 3944:Photograph manipulation 3835:Artificial intelligence 3651:Decision support system 3063:Virtual security switch 3003:Remote Desktop Services 2955:Remote Desktop Services 2950:Citrix Virtual Desktops 2865:Related kernel features 1328:hardware virtualization 1170:operating system kernel 1163:OS-level virtualization 1157:OS-level virtualization 753:System virtual machines 641:Common Language Runtime 486:Hardware virtualization 474:System virtual machines 459:OS-level virtualization 412:System virtual machines 324:GNU Compiler Collection 249:Common Language Runtime 4075:Educational technology 3906:Reinforcement learning 3656:Process control system 3554:Computational geometry 3544:Algorithmic efficiency 3539:Analysis of algorithms 3194:Systems on Chip (SoCs) 3068:Virtual Extensible LAN 2808:Application containers 2769:iCore Virtual Accounts 1680:; et al. (1991). 1433:Virtual machine escape 1392:Native development kit 1382:Desktop virtualization 1338:is capable of running 1202:iCore Virtual Accounts 1001:, predecessors of the 981: 931:Squeak Virtual Machine 773:partial virtualization 633:Parrot virtual machine 480:System virtual machine 403:computer architectures 179:Compilation strategies 50: 4045:Electronic publishing 4015:Computational biology 4005:Computational physics 3901:Unsupervised learning 3815:Distributed computing 3691:Information retrieval 3598:Mathematical analysis 3588:Mathematical software 3478:Theory of computation 3443:Software construction 3433:Requirements analysis 3311:Software organization 3239:Computer architecture 3209:Hardware acceleration 3174:Printed circuit board 2643:Parallels Workstation 2505:VMware Infrastructure 2043:10.1145/178243.178478 1960:10.1145/165854.165893 1922:10.1145/263698.263754 1883:10.1145/857076.857077 1845:10.1145/800017.800542 1521:(5): 32–38, 395–396. 1483:10.1145/361011.361073 1353:depends on supported 1351:computer architecture 1313:Nested virtualization 1148:Parallels Workstation 1010:Parallels Workstation 979: 943:adaptive optimization 816:intermediate language 532:memory overcommitment 204:Compile and go system 35: 3805:Concurrent computing 3777:Ubiquitous computing 3749:Application security 3744:Information security 3573:Discrete mathematics 3549:Randomized algorithm 3501:Computability theory 3486:Model of computation 3458:Software maintenance 3453:Software engineering 3415:Software development 3365:Programming language 3360:Programming paradigm 3277:Network architecture 2027:Ungar, David Michael 1985:Ungar, David Michael 1764:"About Interpreters" 1377:Amazon Machine Image 1254:random-access memory 1072:vBlade technology. 884:Java virtual machine 715:improve this article 629:Java virtual machine 277:Java virtual machine 199:Tracing just-in-time 4080:Document management 4070:Operations research 3995:Enterprise software 3911:Multi-task learning 3896:Supervised learning 3618:Information systems 3448:Software deployment 3405:Software repository 3259:Real-time computing 2983:Citrix Virtual Apps 2945:Citrix Virtual Apps 2799:Workload Partitions 2610:Virtual DOS machine 2103:10.1109/MC.2005.163 2001:10.1145/38807.38828 1989:ACM SIGPLAN Notices 1714:Wirth, Niklaus Emil 1548:Oliphant, Patrick. 1527:10.1109/MC.2005.173 1458:Goldberg, Robert P. 1427:Virtual DOS machine 1198:Workload Partitions 1108:UltraSPARC T-Series 985:Full virtualization 972:Full virtualization 956:Dis virtual machine 785:full virtualization 517:full virtualization 417:full virtualization 93:Optimizing compiler 3863:Search methodology 3810:Parallel computing 3767:Interaction design 3676:Computing platform 3603:Numerical analysis 3593:Information theory 3385:Software framework 3348:Software notations 3287:Network components 3184:Integrated circuit 2789:Solaris Containers 2698:VMware Workstation 2605:Windows on Windows 2087:Bennett, Steven M. 1737:Griswold, Ralph E. 1550:"Virtual Machines" 1422:Virtual disk image 1402:Storage hypervisor 1397:Paravirtualization 1247:incremental backup 1182:Solaris Containers 1128:Windows Virtual PC 1116:VMware Workstation 1104:Oracle Corporation 1094:In 2005 and 2006, 1046:VMware Workstation 982: 866:system (1973) and 822:of a program by a 496:Popek and Goldberg 51: 4126: 4125: 4055:Electronic voting 3985:Quantum Computing 3978:Applied computing 3964:Image compression 3734:Hardware security 3724:Security services 3681:Digital marketing 3468:Open-source model 3380:Modeling language 3292:Network scheduler 3113: 3112: 3103:List of emulators 2931: 2930: 2741: 2740: 2711: 2710: 2565:Cooperative Linux 2457:Logical partition 1970:978-0-89791-587-8 1871:ACM Comput. Surv. 1829:Deutsch, L. Peter 1814:978-0-201-11371-6 1761:Nelson, Graham A. 1726:. pp. 89–99. 1699:978-0-262-16123-7 1663:978-0-262-16147-3 1412:Virtual appliance 862:, notably in the 797:History of CP/CMS 747: 746: 739: 683:History of CP/CMS 645:abstraction layer 501:operating systems 421:operating systems 375: 374: 57:Program execution 16:(Redirected from 4156: 4139:Virtual machines 4116: 4115: 4106: 4105: 4096: 4095: 3916:Cross-validation 3888:Machine learning 3772:Social computing 3739:Network security 3534:Algorithm design 3463:Programming team 3423:Control variable 3400:Software library 3338:Software quality 3333:Operating system 3282:Network protocol 3147:Computer science 3140: 3133: 3126: 3117: 2779:Linux Containers 2754: 2545: 2410: 2374: 2367: 2360: 2351: 2336: 2300:Virtual Machines 2271: 2270: 2268: 2267: 2257: 2249: 2243: 2242: 2240: 2239: 2230: 2221: 2215: 2214: 2212: 2211: 2202: 2193: 2184: 2183: 2181: 2180: 2174: 2164:Orit Wasserman, 2161: 2155: 2154: 2148: 2141: 2130: 2124: 2121: 2115: 2114: 2082: 2076: 2075: 2063: 2057: 2056: 2019: 2013: 2012: 1981: 1975: 1974: 1962: 1943: 1937: 1936: 1924: 1909:Kay, Alan Curtis 1901: 1895: 1894: 1865: 1859: 1858: 1825: 1819: 1818: 1802: 1789: 1783: 1782: 1780: 1779: 1757: 1751: 1734: 1728: 1727: 1710: 1704: 1703: 1688:. MIT. pp.  1687: 1678:Pugh, Emerson W. 1674: 1668: 1667: 1651: 1642:Pugh, Emerson W. 1638: 1632: 1631: 1629: 1628: 1622: 1611: 1603: 1597: 1596: 1594: 1593: 1574: 1568: 1567: 1562: 1561: 1545: 1539: 1538: 1504: 1495: 1494: 1466: 1454:Popek, Gerald J. 1450: 1387:Linux containers 742: 735: 731: 728: 722: 699: 691: 665:). Examples are 652:computer cluster 559:embedded systems 429:native execution 367: 360: 353: 229:Notable runtimes 216:Transcompilation 63:General concepts 53: 21: 18:Virtual machines 4164: 4163: 4159: 4158: 4157: 4155: 4154: 4153: 4129: 4128: 4127: 4122: 4113: 4084: 4065:Word processing 3973: 3959:Virtual reality 3920: 3882: 3853:Computer vision 3829: 3825:Multiprocessing 3791: 3753: 3719:Security hacker 3695: 3671:Digital library 3612: 3563:Mathematics of 3558: 3520: 3496:Automata theory 3491:Formal language 3472: 3438:Software design 3409: 3342: 3328:Virtual machine 3306: 3302:Network service 3263: 3254:Embedded system 3227: 3160: 3149: 3144: 3114: 3109: 3095: 3079: 3027: 2998:Microsoft App-V 2964: 2927: 2901: 2860: 2851:User-mode Linux 2834: 2803: 2748: 2737: 2707: 2621: 2536: 2401: 2393: 2384: 2378: 2324: 2321: 2298:Craig, Iain D. 2280: 2278:Further reading 2275: 2274: 2265: 2263: 2255: 2251: 2250: 2246: 2237: 2235: 2228: 2223: 2222: 2218: 2209: 2207: 2200: 2195: 2194: 2187: 2178: 2176: 2172: 2163: 2162: 2158: 2146: 2139: 2132: 2131: 2127: 2122: 2118: 2084: 2083: 2079: 2065: 2064: 2060: 2053: 2021: 2020: 2016: 1995:(12): 227–242. 1983: 1982: 1978: 1971: 1945: 1944: 1940: 1933: 1903: 1902: 1898: 1867: 1866: 1862: 1855: 1827: 1826: 1822: 1815: 1793:Goldberg, Adele 1791: 1790: 1786: 1777: 1775: 1759: 1758: 1754: 1735: 1731: 1712: 1711: 1707: 1700: 1676: 1675: 1671: 1664: 1652:. MIT. p.  1640: 1639: 1635: 1626: 1624: 1620: 1609: 1605: 1604: 1600: 1591: 1589: 1576: 1575: 1571: 1559: 1557: 1547: 1546: 1542: 1506: 1505: 1498: 1464: 1452: 1451: 1447: 1442: 1437: 1372: 1315: 1298: 1292: 1283: 1277: 1239:hard disk drive 1216: 1210: 1165: 1159: 1084: 1078: 991:instruction set 987: 974: 968: 892:macro assembler 743: 732: 726: 723: 712: 700: 689: 679: 591: 585: 578: 492: 482: 476: 471: 399:computer system 383:virtual machine 371: 251:(CLR) and  237:Android Runtime 133:Virtual machine 28: 23: 22: 15: 12: 11: 5: 4162: 4160: 4152: 4151: 4146: 4141: 4131: 4130: 4124: 4123: 4121: 4120: 4110: 4100: 4089: 4086: 4085: 4083: 4082: 4077: 4072: 4067: 4062: 4057: 4052: 4047: 4042: 4037: 4032: 4027: 4022: 4017: 4012: 4007: 4002: 3997: 3992: 3987: 3981: 3979: 3975: 3974: 3972: 3971: 3969:Solid modeling 3966: 3961: 3956: 3951: 3946: 3941: 3936: 3930: 3928: 3922: 3921: 3919: 3918: 3913: 3908: 3903: 3898: 3892: 3890: 3884: 3883: 3881: 3880: 3875: 3870: 3868:Control method 3865: 3860: 3855: 3850: 3845: 3839: 3837: 3831: 3830: 3828: 3827: 3822: 3820:Multithreading 3817: 3812: 3807: 3801: 3799: 3793: 3792: 3790: 3789: 3784: 3779: 3774: 3769: 3763: 3761: 3755: 3754: 3752: 3751: 3746: 3741: 3736: 3731: 3726: 3721: 3716: 3714:Formal methods 3711: 3705: 3703: 3697: 3696: 3694: 3693: 3688: 3686:World Wide Web 3683: 3678: 3673: 3668: 3663: 3658: 3653: 3648: 3643: 3638: 3633: 3628: 3622: 3620: 3614: 3613: 3611: 3610: 3605: 3600: 3595: 3590: 3585: 3580: 3575: 3569: 3567: 3560: 3559: 3557: 3556: 3551: 3546: 3541: 3536: 3530: 3528: 3522: 3521: 3519: 3518: 3513: 3508: 3503: 3498: 3493: 3488: 3482: 3480: 3474: 3473: 3471: 3470: 3465: 3460: 3455: 3450: 3445: 3440: 3435: 3430: 3425: 3419: 3417: 3411: 3410: 3408: 3407: 3402: 3397: 3392: 3387: 3382: 3377: 3372: 3367: 3362: 3356: 3354: 3344: 3343: 3341: 3340: 3335: 3330: 3325: 3320: 3314: 3312: 3308: 3307: 3305: 3304: 3299: 3294: 3289: 3284: 3279: 3273: 3271: 3265: 3264: 3262: 3261: 3256: 3251: 3246: 3241: 3235: 3233: 3229: 3228: 3226: 3225: 3216: 3211: 3206: 3201: 3196: 3191: 3186: 3181: 3176: 3170: 3168: 3162: 3161: 3154: 3151: 3150: 3145: 3143: 3142: 3135: 3128: 3120: 3111: 3110: 3100: 3097: 3096: 3094: 3093: 3087: 3085: 3081: 3080: 3078: 3077: 3071: 3065: 3060: 3055: 3050: 3044: 3037: 3035: 3029: 3028: 3026: 3025: 3020: 3018:VMware ThinApp 3015: 3010: 3005: 3000: 2995: 2990: 2985: 2980: 2974: 2972: 2966: 2965: 2963: 2962: 2960:VMware Horizon 2957: 2952: 2947: 2941: 2939: 2933: 2932: 2929: 2928: 2926: 2925: 2920: 2915: 2909: 2907: 2903: 2902: 2900: 2899: 2894: 2889: 2884: 2879: 2874: 2868: 2866: 2862: 2861: 2859: 2858: 2853: 2848: 2842: 2840: 2836: 2835: 2833: 2832: 2827: 2822: 2817: 2811: 2809: 2805: 2804: 2802: 2801: 2796: 2791: 2786: 2781: 2776: 2771: 2766: 2760: 2758: 2751: 2743: 2742: 2739: 2738: 2736: 2735: 2730: 2725: 2719: 2717: 2713: 2712: 2709: 2708: 2706: 2705: 2695: 2690: 2685: 2680: 2675: 2670: 2665: 2660: 2655: 2650: 2640: 2635: 2629: 2627: 2623: 2622: 2620: 2619: 2614: 2613: 2612: 2602: 2597: 2592: 2587: 2582: 2577: 2572: 2567: 2562: 2557: 2551: 2549: 2542: 2538: 2537: 2535: 2534: 2529: 2524: 2523: 2522: 2517: 2507: 2502: 2501: 2500: 2495: 2493:VMware vSphere 2485: 2480: 2475: 2470: 2465: 2460: 2454: 2449: 2448: 2447: 2442: 2432: 2427: 2422: 2416: 2414: 2407: 2395: 2394: 2389: 2386: 2385: 2381:Virtualization 2379: 2377: 2376: 2369: 2362: 2354: 2348: 2347: 2342: 2337: 2320: 2319:External links 2317: 2316: 2315: 2296: 2279: 2276: 2273: 2272: 2244: 2216: 2185: 2156: 2125: 2116: 2077: 2058: 2051: 2014: 1976: 1969: 1938: 1931: 1896: 1860: 1853: 1820: 1813: 1805:Addison-Wesley 1784: 1768:Inform website 1752: 1729: 1705: 1698: 1669: 1662: 1633: 1598: 1569: 1540: 1496: 1477:(7): 412–421. 1444: 1443: 1441: 1438: 1436: 1435: 1430: 1424: 1419: 1414: 1409: 1404: 1399: 1394: 1389: 1384: 1379: 1373: 1371: 1368: 1364:VMCS shadowing 1314: 1311: 1294:Main article: 1291: 1288: 1279:Main article: 1276: 1273: 1212:Main article: 1209: 1206: 1161:Main article: 1158: 1155: 1080:Main article: 1077: 1074: 1034:Virtual Server 986: 983: 970:Main article: 967: 964: 876:p-code machine 832:O-code machine 806:IBM System/360 745: 744: 703: 701: 694: 678: 675: 637:.NET Framework 577: 574: 519:, implemented 509:virtual memory 478:Main article: 475: 472: 470: 467: 447: 446: 440: 391:virtualization 373: 372: 370: 369: 362: 355: 347: 344: 343: 342: 341: 336: 327: 318: 317: 313: 312: 311: 310: 304: 295: 285: 280: 274: 264: 255: 246: 240: 231: 230: 226: 225: 224: 223: 218: 213: 211:Precompilation 208: 207: 206: 201: 190: 181: 180: 176: 175: 174: 173: 168: 163: 158: 153: 145: 144: 140: 139: 138: 137: 136: 135: 130: 125: 120: 119: 118: 111:Runtime system 103: 97: 96: 95: 90: 89: 88: 73: 65: 64: 60: 59: 45:, running the 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 4161: 4150: 4147: 4145: 4142: 4140: 4137: 4136: 4134: 4119: 4111: 4109: 4101: 4099: 4091: 4090: 4087: 4081: 4078: 4076: 4073: 4071: 4068: 4066: 4063: 4061: 4058: 4056: 4053: 4051: 4048: 4046: 4043: 4041: 4038: 4036: 4033: 4031: 4028: 4026: 4023: 4021: 4018: 4016: 4013: 4011: 4008: 4006: 4003: 4001: 3998: 3996: 3993: 3991: 3988: 3986: 3983: 3982: 3980: 3976: 3970: 3967: 3965: 3962: 3960: 3957: 3955: 3954:Mixed reality 3952: 3950: 3947: 3945: 3942: 3940: 3937: 3935: 3932: 3931: 3929: 3927: 3923: 3917: 3914: 3912: 3909: 3907: 3904: 3902: 3899: 3897: 3894: 3893: 3891: 3889: 3885: 3879: 3876: 3874: 3871: 3869: 3866: 3864: 3861: 3859: 3856: 3854: 3851: 3849: 3846: 3844: 3841: 3840: 3838: 3836: 3832: 3826: 3823: 3821: 3818: 3816: 3813: 3811: 3808: 3806: 3803: 3802: 3800: 3798: 3794: 3788: 3787:Accessibility 3785: 3783: 3782:Visualization 3780: 3778: 3775: 3773: 3770: 3768: 3765: 3764: 3762: 3760: 3756: 3750: 3747: 3745: 3742: 3740: 3737: 3735: 3732: 3730: 3727: 3725: 3722: 3720: 3717: 3715: 3712: 3710: 3707: 3706: 3704: 3702: 3698: 3692: 3689: 3687: 3684: 3682: 3679: 3677: 3674: 3672: 3669: 3667: 3664: 3662: 3659: 3657: 3654: 3652: 3649: 3647: 3644: 3642: 3639: 3637: 3634: 3632: 3629: 3627: 3624: 3623: 3621: 3619: 3615: 3609: 3606: 3604: 3601: 3599: 3596: 3594: 3591: 3589: 3586: 3584: 3581: 3579: 3576: 3574: 3571: 3570: 3568: 3566: 3561: 3555: 3552: 3550: 3547: 3545: 3542: 3540: 3537: 3535: 3532: 3531: 3529: 3527: 3523: 3517: 3514: 3512: 3509: 3507: 3504: 3502: 3499: 3497: 3494: 3492: 3489: 3487: 3484: 3483: 3481: 3479: 3475: 3469: 3466: 3464: 3461: 3459: 3456: 3454: 3451: 3449: 3446: 3444: 3441: 3439: 3436: 3434: 3431: 3429: 3426: 3424: 3421: 3420: 3418: 3416: 3412: 3406: 3403: 3401: 3398: 3396: 3393: 3391: 3388: 3386: 3383: 3381: 3378: 3376: 3373: 3371: 3368: 3366: 3363: 3361: 3358: 3357: 3355: 3353: 3349: 3345: 3339: 3336: 3334: 3331: 3329: 3326: 3324: 3321: 3319: 3316: 3315: 3313: 3309: 3303: 3300: 3298: 3295: 3293: 3290: 3288: 3285: 3283: 3280: 3278: 3275: 3274: 3272: 3270: 3266: 3260: 3257: 3255: 3252: 3250: 3249:Dependability 3247: 3245: 3242: 3240: 3237: 3236: 3234: 3230: 3224: 3220: 3217: 3215: 3212: 3210: 3207: 3205: 3202: 3200: 3197: 3195: 3192: 3190: 3187: 3185: 3182: 3180: 3177: 3175: 3172: 3171: 3169: 3167: 3163: 3158: 3152: 3148: 3141: 3136: 3134: 3129: 3127: 3122: 3121: 3118: 3108: 3104: 3098: 3092: 3089: 3088: 3086: 3082: 3075: 3072: 3069: 3066: 3064: 3061: 3059: 3056: 3054: 3051: 3048: 3045: 3042: 3039: 3038: 3036: 3034: 3030: 3024: 3021: 3019: 3016: 3014: 3011: 3009: 3006: 3004: 3001: 2999: 2996: 2994: 2991: 2989: 2986: 2984: 2981: 2979: 2976: 2975: 2973: 2971: 2967: 2961: 2958: 2956: 2953: 2951: 2948: 2946: 2943: 2942: 2940: 2938: 2934: 2924: 2921: 2919: 2916: 2914: 2911: 2910: 2908: 2906:Orchestration 2904: 2898: 2895: 2893: 2890: 2888: 2885: 2883: 2880: 2878: 2875: 2873: 2870: 2869: 2867: 2863: 2857: 2854: 2852: 2849: 2847: 2844: 2843: 2841: 2837: 2831: 2828: 2826: 2823: 2821: 2818: 2816: 2813: 2812: 2810: 2806: 2800: 2797: 2795: 2792: 2790: 2787: 2785: 2782: 2780: 2777: 2775: 2774:Linux-VServer 2772: 2770: 2767: 2765: 2762: 2761: 2759: 2757:OS containers 2755: 2752: 2750: 2744: 2734: 2731: 2729: 2726: 2724: 2721: 2720: 2718: 2714: 2703: 2699: 2696: 2694: 2693:VMware Server 2691: 2689: 2688:VMware Fusion 2686: 2684: 2681: 2679: 2676: 2674: 2671: 2669: 2666: 2664: 2661: 2659: 2656: 2654: 2651: 2648: 2644: 2641: 2639: 2636: 2634: 2631: 2630: 2628: 2624: 2618: 2615: 2611: 2608: 2607: 2606: 2603: 2601: 2598: 2596: 2593: 2591: 2588: 2586: 2583: 2581: 2578: 2576: 2573: 2571: 2568: 2566: 2563: 2561: 2558: 2556: 2553: 2552: 2550: 2546: 2543: 2539: 2533: 2530: 2528: 2525: 2521: 2518: 2516: 2513: 2512: 2511: 2508: 2506: 2503: 2499: 2496: 2494: 2491: 2490: 2489: 2486: 2484: 2481: 2479: 2476: 2474: 2471: 2469: 2466: 2464: 2461: 2458: 2455: 2453: 2450: 2446: 2443: 2441: 2438: 2437: 2436: 2433: 2431: 2428: 2426: 2423: 2421: 2418: 2417: 2415: 2411: 2408: 2405: 2400: 2396: 2392: 2387: 2382: 2375: 2370: 2368: 2363: 2361: 2356: 2355: 2352: 2346: 2343: 2341: 2338: 2334: 2333: 2328: 2323: 2322: 2318: 2313: 2312:1-85233-969-1 2309: 2305: 2301: 2297: 2294: 2293:1-55860-910-5 2290: 2286: 2282: 2281: 2277: 2261: 2254: 2248: 2245: 2234: 2227: 2220: 2217: 2206: 2199: 2192: 2190: 2186: 2171: 2167: 2160: 2157: 2153: 2145: 2138: 2137: 2129: 2126: 2120: 2117: 2112: 2108: 2104: 2100: 2096: 2092: 2088: 2081: 2078: 2073: 2069: 2062: 2059: 2054: 2052:0-89791-662-X 2048: 2044: 2040: 2036: 2032: 2028: 2024: 2018: 2015: 2010: 2006: 2002: 1998: 1994: 1990: 1986: 1980: 1977: 1972: 1966: 1961: 1956: 1952: 1948: 1947:Bracha, Gilad 1942: 1939: 1934: 1932:0-89791-908-4 1928: 1923: 1918: 1914: 1910: 1906: 1900: 1897: 1892: 1888: 1884: 1880: 1877:(2): 97–113. 1876: 1873: 1872: 1864: 1861: 1856: 1854:0-89791-125-3 1850: 1846: 1842: 1838: 1834: 1830: 1824: 1821: 1816: 1810: 1806: 1801: 1800: 1794: 1788: 1785: 1773: 1769: 1765: 1762: 1756: 1753: 1750:), Chapter 1. 1749: 1748:0-7167-0447-1 1745: 1741: 1738: 1733: 1730: 1725: 1721: 1720: 1715: 1709: 1706: 1701: 1695: 1691: 1686: 1685: 1679: 1673: 1670: 1665: 1659: 1655: 1650: 1649: 1643: 1637: 1634: 1619: 1615: 1608: 1602: 1599: 1588:on 2006-06-14 1587: 1583: 1579: 1573: 1570: 1566: 1556:on 2016-07-29 1555: 1551: 1544: 1541: 1536: 1532: 1528: 1524: 1520: 1516: 1515: 1510: 1503: 1501: 1497: 1492: 1488: 1484: 1480: 1476: 1472: 1471: 1463: 1459: 1455: 1449: 1446: 1439: 1434: 1431: 1428: 1425: 1423: 1420: 1418: 1415: 1413: 1410: 1408: 1405: 1403: 1400: 1398: 1395: 1393: 1390: 1388: 1385: 1383: 1380: 1378: 1375: 1374: 1369: 1367: 1365: 1361: 1356: 1352: 1347: 1345: 1341: 1337: 1331: 1329: 1325: 1321: 1312: 1310: 1308: 1304: 1297: 1289: 1287: 1282: 1274: 1272: 1269: 1267: 1264:" feature in 1263: 1259: 1255: 1250: 1248: 1244: 1240: 1237: 1233: 1232:virtual disks 1228: 1226: 1221: 1215: 1207: 1205: 1203: 1199: 1195: 1191: 1190:Linux-VServer 1187: 1183: 1179: 1175: 1174:FreeBSD jails 1171: 1164: 1156: 1154: 1151: 1149: 1145: 1141: 1137: 1133: 1129: 1125: 1121: 1120:VMware Fusion 1117: 1113: 1109: 1105: 1101: 1097: 1092: 1090: 1083: 1075: 1073: 1071: 1067: 1063: 1059: 1055: 1051: 1050:VMware Server 1047: 1043: 1042:VMware Fusion 1039: 1035: 1031: 1027: 1023: 1019: 1015: 1011: 1006: 1004: 1000: 996: 992: 984: 978: 973: 965: 963: 961: 957: 952: 948: 944: 940: 936: 932: 928: 924: 920: 915: 913: 912:Graham Nelson 909: 905: 901: 897: 893: 889: 885: 881: 877: 873: 869: 865: 861: 857: 853: 849: 845: 841: 837: 833: 829: 825: 821: 817: 813: 809: 807: 803: 798: 794: 790: 786: 783:, which used 782: 778: 774: 771:, which used 770: 766: 762: 758: 754: 750: 741: 738: 730: 720: 716: 710: 709: 704:This section 702: 698: 693: 692: 688: 684: 676: 674: 672: 668: 664: 660: 655: 653: 648: 646: 642: 638: 634: 630: 626: 621: 619: 615: 611: 606: 604: 600: 596: 590: 583: 575: 573: 570: 568: 564: 560: 555: 553: 549: 545: 541: 537: 533: 528: 526: 522: 518: 514: 510: 504: 502: 497: 491: 487: 481: 473: 468: 466: 464: 460: 456: 452: 444: 441: 438: 434: 430: 426: 422: 418: 415:(also called 414: 413: 409: 408: 407: 404: 400: 396: 392: 388: 384: 380: 368: 363: 361: 356: 354: 349: 348: 346: 345: 340: 337: 335: 331: 328: 325: 322: 321: 320: 319: 314: 308: 305: 303: 299: 296: 293: 289: 286: 284: 281: 278: 275: 272: 268: 265: 263: 259: 256: 254: 250: 247: 244: 241: 238: 235: 234: 233: 232: 227: 222: 221:Recompilation 219: 217: 214: 212: 209: 205: 202: 200: 197: 196: 194: 191: 188: 187:Ahead-of-time 185: 184: 183: 182: 177: 172: 169: 167: 164: 162: 159: 157: 154: 152: 149: 148: 147: 146: 143:Types of code 141: 134: 131: 129: 126: 124: 121: 117: 114: 113: 112: 109: 108: 107: 104: 101: 98: 94: 91: 87: 84: 83: 82: 79: 78: 77: 74: 72: 69: 68: 67: 66: 61: 58: 54: 48: 44: 40: 39: 34: 30: 19: 4050:Cyberwarfare 3709:Cryptography 3327: 3058:Open vSwitch 3047:Ethernet VPN 2764:FreeBSD jail 2733:Virt-manager 2678:Virtual Iron 2330: 2299: 2284: 2264:. Retrieved 2247: 2236:. Retrieved 2232: 2219: 2208:. Retrieved 2204: 2177:. Retrieved 2159: 2150: 2135: 2128: 2119: 2097:(5): 48–56. 2094: 2090: 2080: 2071: 2061: 2034: 2017: 1992: 1988: 1979: 1950: 1941: 1912: 1899: 1874: 1869: 1863: 1836: 1823: 1798: 1787: 1776:. Retrieved 1767: 1755: 1739: 1732: 1718: 1708: 1683: 1672: 1647: 1636: 1625:. Retrieved 1601: 1590:. Retrieved 1586:the original 1581: 1572: 1564: 1558:. Retrieved 1554:the original 1543: 1518: 1512: 1474: 1468: 1448: 1348: 1332: 1316: 1306: 1302: 1299: 1284: 1270: 1251: 1229: 1219: 1217: 1166: 1152: 1093: 1085: 1022:Virtual Iron 1007: 988: 916: 900:Pyramid 2000 855: 818:used as the 811: 810: 765:concurrently 757:time-sharing 755:grew out of 752: 751: 748: 733: 724: 713:Please help 708:verification 705: 656: 649: 622: 607: 598: 594: 592: 571: 556: 536:memory pages 535: 529: 521:time sharing 505: 493: 448: 442: 410: 386: 382: 376: 193:Just-in-time 166:Machine code 132: 86:Compile time 36: 29: 4060:Video games 4040:Digital art 3797:Concurrency 3666:Data mining 3578:Probability 3318:Interpreter 2993:InstallFree 2970:Application 2846:Rump kernel 2626:Independent 2595:SheepShaver 2555:Basilisk II 2548:Specialized 2488:VMware ESXi 2404:hypervisors 2233:rackcdn.com 2175:. KVM forum 2023:Hölzle, Urs 1582:vmwarez.com 1320:hypervisors 1249:technique. 1066:Win4Lin Pro 1054:VMware ESXi 927:VisualWorks 880:UCSD Pascal 789:hypervisors 614:interpreter 469:Definitions 307:Zend Engine 288:Objective-C 156:Object code 151:Source code 128:Interpreter 76:Translation 4133:Categories 4118:Glossaries 3990:E-commerce 3583:Statistics 3526:Algorithms 3323:Middleware 3179:Peripheral 3101:See also: 3091:BlueStacks 2918:Kubernetes 2913:Amazon ECS 2887:namespaces 2683:Virtual PC 2673:VirtualBox 2473:Proxmox VE 2463:LynxSecure 2266:2014-12-16 2238:2014-12-16 2210:2014-12-16 2205:usenix.org 2179:2021-05-07 1778:2009-11-07 1627:2015-09-29 1592:2013-06-14 1560:2015-09-23 1440:References 1340:Windows XP 1303:last-known 1262:Save state 1144:VirtualBox 1030:Virtual PC 1018:VirtualBox 962:language. 935:Strongtalk 896:Tiny BASIC 795:/CMS (see 775:, and the 681:See also: 669:(PVM) and 587:See also: 544:middleware 484:See also: 425:hypervisor 123:Executable 38:VirtualBox 3939:Rendering 3934:Animation 3565:computing 3516:Semantics 3214:Processor 2923:OpenShift 2794:Virtuozzo 2747:Operating 2515:XenServer 2332:ACM Queue 2009:0362-1340 1336:Windows 7 1275:Migration 1243:flat file 1208:Snapshots 1026:Oracle VM 919:Smalltalk 908:z-machine 840:front end 802:Emulators 727:July 2015 395:emulation 389:) is the 379:computing 332:and  300:and  290:and  260:and  171:Microcode 106:Execution 4098:Category 3926:Graphics 3701:Security 3370:Compiler 3269:Networks 3166:Hardware 3084:See also 3076:(GENEVE) 2445:KubeVirt 2399:Hardware 2383:software 2306:, 2006, 2304:Springer 2168:(2013). 2144:Archived 2111:18514555 2091:Computer 2029:(1994). 1891:15345671 1772:Archived 1644:(1995). 1618:Archived 1616:. 2007. 1514:Computer 1491:12680060 1460:(1974). 1370:See also 1296:Failover 1290:Failover 1236:gigabyte 1220:snapshot 1005:family. 958:for the 910:, which 868:Pascal-S 864:Pascal-P 848:back end 824:compiler 635:and the 603:platform 245:(Erlang) 161:Bytecode 81:Compiler 4108:Outline 3070:(VXLAN) 3033:Network 2937:Desktop 2897:seccomp 2877:cgroups 2856:vkernel 2647:Extreme 2617:Win4Lin 2527:XtratuM 2430:Hyper-V 2166:Red Hat 1690:160–161 1535:6578280 1360:Haswell 1307:current 1256:(RAM), 1124:Hyper-V 1070:Egenera 1038:Hyper-V 951:HotSpot 904:Infocom 888:SNOBOL4 842:of the 828:META II 769:M44/44X 677:History 673:(MPI). 663:Fortran 567:sandbox 548:Windows 302:Node.js 258:CPython 116:Runtime 3049:(EVPN) 3043:(DOVE) 3023:ZeroVM 2988:Dalvik 2882:chroot 2872:BrandZ 2825:lmctfy 2820:Podman 2815:Docker 2784:OpenVZ 2749:system 2723:Ganeti 2702:Player 2663:PearPC 2590:PikeOS 2575:DOSEMU 2570:DOSBox 2541:Hosted 2520:XCP-ng 2498:vCloud 2483:SIMMON 2468:PikeOS 2459:(LPAR) 2425:CP/CMS 2413:Native 2310:  2291:  2262:. 2013 2109:  2049:  2007:  1967:  1929:  1889:  1851:  1811:  1746:  1696:  1660:  1614:VMware 1533:  1489:  1225:backup 1196:, AIX 1186:OpenVZ 1178:Docker 1089:VM/370 1068:, and 933:, and 929:, the 872:p-code 860:Pascal 836:O-code 781:SIMMON 513:CP/CMS 463:kernel 283:LuaJIT 195:(JIT) 47:Fedora 43:Ubuntu 3511:Logic 3352:tools 3053:NVGRE 3013:Turbo 2978:Ceedo 2716:Tools 2633:bhyve 2585:86Box 2560:Bochs 2440:oVirt 2420:Adeos 2260:Intel 2256:(PDF) 2229:(PDF) 2201:(PDF) 2173:(PDF) 2147:(PDF) 2140:(PDF) 2107:S2CID 1887:S2CID 1621:(PDF) 1610:(PDF) 1531:S2CID 1487:S2CID 1465:(PDF) 1429:(VDM) 1096:Intel 1062:Adeos 999:CP-67 995:CP-40 960:Limbo 852:Euler 793:CP-67 777:CP-40 597:, or 552:Linux 427:uses 397:of a 334:Clang 326:(GCC) 309:(PHP) 292:Swift 279:(JVM) 239:(ART) 189:(AOT) 3350:and 3223:Form 3219:Size 2892:eBPF 2668:QEMU 2600:SIMH 2580:PCem 2532:z/VM 2308:ISBN 2289:ISBN 2047:ISBN 2035:PLDI 2005:ISSN 1965:ISBN 1927:ISBN 1849:ISBN 1837:POPL 1809:ISBN 1744:ISBN 1694:ISBN 1658:ISBN 1258:BIOS 1146:and 1098:and 1058:QEMU 997:and 945:and 939:Self 844:BCPL 779:and 685:and 661:and 488:and 453:and 451:QEMU 437:CPUs 423:. A 381:, a 339:MSVC 330:LLVM 267:crt0 262:PyPy 253:Mono 243:BEAM 102:(IR) 71:Code 2830:rkt 2510:Xen 2478:QNX 2435:KVM 2099:doi 2039:doi 1997:doi 1955:doi 1917:doi 1879:doi 1841:doi 1724:ACM 1654:274 1523:doi 1479:doi 1194:LXC 1132:Xen 1112:KVM 1100:AMD 906:'s 717:by 393:or 377:In 41:on 4135:: 3221:/ 3105:, 2329:. 2302:. 2258:. 2231:. 2203:. 2188:^ 2105:. 2095:38 2093:. 2070:. 2045:. 2033:. 2025:; 2003:. 1993:22 1991:. 1963:. 1925:. 1885:. 1875:35 1847:. 1835:. 1807:. 1770:. 1766:. 1692:. 1656:. 1612:. 1580:. 1563:. 1529:. 1519:38 1517:. 1511:. 1499:^ 1485:. 1475:17 1473:. 1467:. 1456:; 1330:. 1218:A 1204:. 1192:, 1188:, 1184:, 1180:, 1150:. 1142:, 1138:, 1134:, 1130:, 1126:, 1122:, 1118:, 1114:, 1060:, 1056:, 1048:, 1044:, 1040:, 1036:, 1032:, 1028:, 1024:, 1020:, 1016:, 1012:, 1003:VM 620:. 550:, 387:VM 298:V8 294:'s 3159:. 3139:e 3132:t 3125:v 2704:) 2700:( 2649:) 2645:( 2406:) 2402:( 2373:e 2366:t 2359:v 2269:. 2241:. 2213:. 2182:. 2113:. 2101:: 2055:. 2041:: 2011:. 1999:: 1973:. 1957:: 1935:. 1919:: 1893:. 1881:: 1857:. 1843:: 1817:. 1781:. 1702:. 1666:. 1630:. 1595:. 1537:. 1525:: 1493:. 1481:: 856:P 740:) 734:( 729:) 725:( 711:. 659:C 584:. 385:( 366:e 359:t 352:v 271:C 269:( 20:)

Index

Virtual machines

VirtualBox
Ubuntu
Fedora
Program execution
Code
Translation
Compiler
Compile time
Optimizing compiler
Intermediate representation
Execution
Runtime system
Runtime
Executable
Interpreter
Virtual machine
Source code
Object code
Bytecode
Machine code
Microcode
Ahead-of-time
Just-in-time
Tracing just-in-time
Compile and go system
Precompilation
Transcompilation
Recompilation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.