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:
4101:
4111:
697:
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.
4121:
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
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
3052:
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
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).
2419:
2371:
1061:
588:
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:
2390:
2252:
495:
489:
1153:
In 2006, first-generation 32- and 64-bit x86 hardware support was found to rarely offer performance advantages over software virtualization.
4155:
3073:
1342:
applications inside a built-in virtual machine. Furthermore, moving already existing virtualized environments into a cloud, following the
364:
569:. Virtual machines have other advantages for operating system development and may include improved debugging access and faster reboots.
3137:
2444:
1771:
946:
534:
may be applied to manage memory sharing among multiple virtual machines on one computer operating system. It may be possible to share
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
1286:
allow the VM to provide uninterrupted service while its prior physical host is, for example, taken down for physical maintenance.
2169:
1617:
3854:
3826:
1913:
OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
1719:
EULER: a generalization of ALGOL, and its formal definition: Part II, Communications of the
Association for Computing Machinery
686:
1549:
3879:
2727:
2364:
2086:
1968:
1812:
1697:
1661:
4150:
3730:
3040:
2143:
650:
A special case of process VMs are systems that abstract over the communication mechanisms of a (potentially heterogeneous)
3884:
3156:
1792:
1723:
830:
compiler-writing system using it for both syntax description and target code generation. A notable 1966 example was the
419:
VMs, SysVM, or SYS-VM) provide a substitute for a real machine. They provide the functionality needed to execute entire
3389:
1461:
4036:
3864:
3394:
3106:
3007:
2311:
2292:
2050:
1930:
1852:
1747:
736:
749:
Both system virtual machines and process virtual machines date to the 1960s and remain areas of active development.
4124:
3218:
2357:
2303:
1354:
1346:(IaaS) approach, is much more complicated if the destination IaaS platform does not support nested virtualization.
1081:
714:
432:
198:
17:
3512:
1904:
609:
357:
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
3803:
3765:
3422:
3130:
1951:
Proceedings of the Eighth Annual
Conference on Object-oriented Programming Systems, Languages, and Applications
760:
718:
566:
3945:
3922:
3652:
3642:
2646:
2197:
859:
524:
242:
4026:
3614:
3522:
3427:
3203:
3188:
2434:
1111:
959:
895:
851:
291:
925:
forward as an implementation approach that uses process virtual machine. Later notable
Smalltalk VMs were
4114:
3849:
3347:
2472:
1359:
1343:
1265:
1213:
938:
819:
624:
454:
99:
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:
4086:
3735:
2969:
2451:
1323:
1280:
1139:
850:
that took the existing O-code and compiled it to machine code for the underlying physical machine. The
581:
572:
Multiple VMs running their own guest operating system are frequently engaged for server consolidation.
562:
350:
252:
1252:
Other components of a virtual machine can also be included in a snapshot, such as the contents of its
4145:
4104:
4031:
4006:
3869:
3517:
3123:
2871:
2701:
2652:
1469:
1135:
1013:
950:
670:
462:
215:
186:
115:
46:
42:
3955:
3788:
3374:
3243:
2657:
2637:
1416:
1406:
1033:
922:
666:
658:
617:
612:(compared to the low-level ISA abstraction of the system VM). Process VMs are implemented using an
539:
270:
192:
2793:
4016:
3950:
3841:
3657:
3317:
3062:
3002:
2954:
2949:
2746:
2398:
1327:
1169:
1162:
707:
640:
613:
485:
458:
323:
248:
127:
1689:
557:
The use of virtual machines to support separate guest operating systems is popular in regard to
4081:
3912:
3793:
3560:
3550:
3545:
3067:
3032:
2936:
2768:
1653:
1432:
1391:
1381:
1201:
1099:
930:
772:
632:
479:
411:
338:
297:
75:
4051:
4021:
4011:
3907:
3821:
3697:
3637:
3604:
3594:
3477:
3442:
3432:
3369:
3238:
3213:
3208:
3173:
2642:
2504:
1350:
1147:
1088:
1009:
1002:
942:
815:
531:
402:
220:
203:
105:
56:
2089:; Kägi, Alain; Leung, Felix H.; Smith, Larry (May 2005). "Intel virtualization technology".
1949:; Griswold, David (1993). "Strongtalk: Typechecking Smalltalk in a Production Environment".
1911:(1997). "Back to the future: the story of Squeak, a practical Smalltalk written in itself".
1645:
3811:
3783:
3755:
3750:
3579:
3555:
3507:
3490:
3485:
3467:
3457:
3452:
3414:
3364:
3359:
3276:
3222:
1763:
1376:
1253:
1110:
processors in 2005. Examples of virtualization platforms adapted to such hardware include
1029:
883:
764:
628:
276:
2829:
8:
4076:
4001:
3917:
3902:
3667:
3447:
3404:
3399:
3296:
3286:
3258:
2982:
2944:
2912:
2798:
2609:
2344:
2026:
1984:
1513:
1426:
1197:
971:
955:
784:
616:; performance comparable to compiled programming languages can be achieved by the use of
516:
416:
92:
4041:
3940:
3816:
3773:
3682:
3624:
3609:
3599:
3384:
3183:
2788:
2697:
2604:
2195:
2106:
1886:
1713:
1682:
1530:
1486:
1457:
1421:
1401:
1396:
1246:
1181:
1127:
1115:
1103:
1045:
2030:
1832:
1231:
4061:
3991:
3970:
3932:
3740:
3707:
3687:
3379:
3291:
3165:
3102:
2987:
2814:
2564:
2456:
2307:
2288:
2046:
2004:
1964:
1926:
1870:
1848:
1808:
1797:
1743:
1736:
1717:
1693:
1657:
1646:
1606:
1411:
1177:
796:
682:
644:
547:
2223:
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
3894:
3778:
3745:
3540:
3462:
3351:
3337:
3332:
3281:
3268:
3193:
3146:
3012:
2886:
2339:
2098:
2038:
1996:
1954:
1916:
1878:
1840:
1828:
1760:
1553:
1534:
1522:
1478:
1386:
651:
500:
420:
70:
3965:
3859:
3831:
3725:
3677:
3662:
3647:
3502:
3497:
3437:
3301:
3253:
3198:
2997:
2850:
1908:
1677:
1641:
1453:
1238:
990:
976:
891:
804:, with hardware emulation of earlier systems for compatibility, date back to the
602:
558:
398:
236:
2134:
2067:
445:
are designed to execute computer programs in a platform-independent environment.
4071:
3975:
3874:
3720:
3692:
3017:
2959:
2492:
2380:
1804:
1363:
937:. A related language that produced a lot of virtual machine innovation was the
875:
871:
831:
805:
636:
508:
390:
210:
110:
2326:
1102:
provided additional hardware to support virtualization. Sun
Microsystems (now
808:
in 1963, while the software emulation (then-called "simulation") predates it.
4139:
3960:
3248:
2773:
2692:
2687:
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.
1189:
1119:
1049:
1041:
911:
839:
2022:
847:
4056:
3715:
3057:
3046:
2763:
2732:
2677:
2345:
The design of the Inferno virtual machine by Phil Winterbottom and Rob Pike
1946:
1173:
1021:
993:) to be run in isolation. This approach was pioneered in 1966 with the IBM
899:
756:
608:
A process VM provides a high-level abstraction – that of a
520:
165:
85:
2349:
2042:
1959:
1921:
1882:
1844:
1482:
4046:
3672:
3584:
2992:
2845:
2594:
2554:
2487:
2224:
Alex Fishman; Mike Rapoport; Evgeny Budilovsky; Izik Eidus (2013-06-25).
2198:"The Turtles Project: Design and Implementation of Nested Virtualization"
1053:
926:
879:
768:
428:
306:
287:
155:
150:
2102:
2000:
1526:
554:, or prior versions of an operating system) to support future software.
4066:
3996:
3589:
3322:
3178:
3090:
2917:
2682:
2672:
2497:
2462:
2403:
2136:
A Comparison of Software and Hardware Techniques for x86 Virtualization
1339:
1319:
1261:
1143:
1017:
934:
788:
721: in this section. Unsourced material may be challenged and removed.
543:
424:
122:
37:
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
3571:
3532:
2922:
2514:
2331:
2031:"Optimizing dynamically-dispatched calls with run-time type feedback"
1335:
1242:
1025:
921:-80, particularly the Deutsch/Schiffmann implementation which pushed
918:
914:
argues is "possibly the most portable virtual machine ever created".
907:
854:
language used a similar design, with the intermediate language named
776:
378:
170:
696:
3632:
3115:
1295:
1235:
1107:
867:
863:
823:
801:
394:
160:
80:
1607:"Server Consolidation and Containment With Virtual Infrastructure"
791:. The first widely available virtual machine architecture was the
2896:
2876:
2855:
2616:
2526:
2429:
2165:
1578:"Super Fast Server Reboots – Another reason Virtualization rocks"
1349:
The way nested virtualization can be implemented on a particular
1123:
1069:
1065:
1037:
949:. These techniques proved commercially successful in 1999 in the
903:
887:
827:
662:
301:
257:
1903:
1362:
microarchitecture (announced in 2013), Intel started to include
523:
by providing each user with a single-user operating system, the
3022:
2881:
2824:
2819:
2783:
2722:
2662:
2589:
2574:
2569:
2519:
2482:
2467:
2424:
2285:
Virtual Machines: Versatile Platforms For Systems And Processes
1613:
1227:
technique, for example, prior to performing a risky operation.
1224:
1185:
835:
780:
512:
282:
2253:"4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing"
763:(CTSS). Time-sharing allowed multiple users to use a computer
32:
2977:
2632:
2584:
2559:
2439:
2295:, 656 pages (covers both process and system virtual machines)
2259:
1095:
998:
994:
792:
551:
461:
allows the resources of a computer to be partitioned via the
435:, with virtualization-specific hardware features on the host
333:
2891:
2667:
2599:
2579:
2531:
2066:
Paleczny, Michael; Vick, Christopher; Click, Cliff (2001).
1257:
1057:
843:
450:
329:
266:
261:
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
2778:
2509:
2477:
2084:
1193:
1131:
436:
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
2163:
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
1753:
1075:
2314:, 269 pages (covers only process virtual machines)
1796:
1681:
1234:for their storage; in a very simple example, a 10-
2191:
2189:
2065:
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.
4137:
2324:
1827:
858:(portable). This was popularized around 1970 by
1907:; Kaehler, Ted; Maloney, John; Wallace, Scott;
1502:
1500:
2391:Comparison of platform virtualization software
2186:
1945:
1791:
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:
2059:
1939:
1803:. Addison-Wesley Series in Computer Science.
1785:
1452:
1008:Examples outside the mainframe field include
358:
3074:Generic Network Virtualization Encapsulation
1897:
1821:
1730:
1497:
1052:(discontinued, formerly called GSX Server),
965:
623:This type of VM has become popular with the
2379:
2132:
2021:
1861:
1570:
1260:settings, or its configuration settings. "
575:
3138:
3124:
2372:
2358:
2126:
2078:
1983:
1977:
1712:
1599:
1156:
473:
365:
351:
1958:
1920:
1706:
1506:
737:Learn how and when to remove this message
27:Software that emulates an entire computer
2133:Adams, Keith; Agesen, Ole (2006-10-21).
1670:
1634:
1312:
975:
870:compiler (1975), in which it was termed
449:Some virtual machine emulators, such as
31:
2327:"The Reincarnation of Virtual Machines"
2170:"Nested virtualization: Shadow turtles"
2152:frequency or cost of these transitions.
2015:
1541:
14:
4138:
3855:Knowledge representation and reasoning
1905:Ingalls Jr., Daniel "Dan" Henry Holmes
1867:
1509:"The Architecture of Virtual Machines"
1200:, Parallels Virtuozzo Containers, and
984:
980:Logical diagram of full virtualization
941:programming language, which pioneered
687:timeline of virtualization development
3880:Philosophy of artificial intelligence
3119:
2728:System Center Virtual Machine Manager
2353:
511:that historically preceded it. IBM's
3199:Energy consumption (Green computing)
3145:
3041:Distributed Overlay Virtual Ethernet
1676:
1640:
1547:
1507:Smith, James E.; Nair, Ravi (2005).
1446:
719:adding citations to reliable sources
690:
439:providing assistance to hypervisors.
4156:Programming language implementation
3885:Distributed artificial intelligence
3157:ACM Computing Classification System
1740:The Macro Implementation of SNOBOL4
24:
3390:Integrated development environment
2452:LDoms / Oracle VM Server for SPARC
2277:
2068:"The Java HotSpot server compiler"
1759:
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:
4167:
3865:Automated planning and scheduling
3395:Software configuration management
3107:List of computer system emulators
3008:Symantec Workspace Virtualization
2318:
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
4119:
4109:
4100:
4099:
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
4110:
3513:Computational complexity theory
2325:Mendel Rosenblum (2004-08-31).
2245:
2217:
2157:
2117:
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
468:
13:
1:
3668:Multimedia information system
3653:Geographic information system
3643:Enterprise information system
3232:Computer systems organization
2287:, Morgan Kaufmann, May 2005,
2226:"HVX: Virtualizing the Cloud"
1839:. Salt Lake City, Utah: ACM.
1439:
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
4027:Computational social science
3615: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
1274:
1266:video game console emulators
1207:
455:video game console emulators
273:target-specific initializer)
49:operating system in a window
7:
4151:Operating system technology
3850:Natural language processing
3638:Information storage systems
2283:James E. Smith, Ravi Nair,
1369:
1344:Infrastructure as a Service
1289:
1214:Snapshot (computer storage)
820:intermediate representation
647:for any computer language.
599:Managed Runtime Environment
595:application virtual machine
100:Intermediate representation
10:
4172:
3766:Human–computer interaction
3736:Intrusion detection system
3648:Social information systems
3633: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:
676:
586:
582:application virtualization
579:
563:real-time operating system
483:
477:
4095:
4032:Computational engineering
4007:Computational mathematics
3984:
3931:
3893:
3840:
3802:
3764:
3706:
3623:
3569:
3531:
3476:
3413:
3346:
3310:
3267:
3231:
3164:
3153:
3099:
3083:
3031:
2968:
2935:
2905:
2864:
2838:
2807:
2756:
2745:
2715:
2653:Parallels Desktop for Mac
2625:
2547:
2540:
2412:
2397:
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
4042:Computational healthcare
4037:Differentiable computing
3956: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
4017:Computational chemistry
3951:Photograph manipulation
3842:Artificial intelligence
3658: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
4082:Educational technology
3913:Reinforcement learning
3663:Process control system
3561:Computational geometry
3551:Algorithmic efficiency
3546: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:
4052:Electronic publishing
4022:Computational biology
4012:Computational physics
3908:Unsupervised learning
3822:Distributed computing
3698:Information retrieval
3605:Mathematical analysis
3595: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:
3812:Concurrent computing
3784:Ubiquitous computing
3756:Application security
3751:Information security
3580:Discrete mathematics
3556:Randomized algorithm
3508: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
4087:Document management
4077:Operations research
4002:Enterprise software
3918:Multi-task learning
3903:Supervised learning
3625: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
3870:Search methodology
3817:Parallel computing
3774:Interaction design
3683:Computing platform
3610:Numerical analysis
3600: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:
4133:
4132:
4062:Electronic voting
3992:Quantum Computing
3985:Applied computing
3971:Image compression
3741:Hardware security
3731:Security services
3688: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
4163:
4146:Virtual machines
4123:
4122:
4113:
4112:
4103:
4102:
3923:Cross-validation
3895:Machine learning
3779:Social computing
3746:Network security
3541: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:
3116:
2779:Linux Containers
2754:
2753:
2545:
2544:
2410:
2409:
2374:
2367:
2360:
2351:
2350:
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:
52:
21:
18:Virtual computer
4171:
4170:
4166:
4165:
4164:
4162:
4161:
4160:
4136:
4135:
4134:
4129:
4120:
4091:
4072:Word processing
3980:
3966:Virtual reality
3927:
3889:
3860:Computer vision
3836:
3832:Multiprocessing
3798:
3760:
3726:Security hacker
3702:
3678:Digital library
3619:
3570:Mathematics of
3565:
3527:
3503:Automata theory
3498: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:
2321:
2298:Craig, Iain D.
2280:
2278:Further reading
2275:
2274:
2265:
2263:
2255:
2251:
2250:
2246:
2237:
2235:
2228:
2222:
2218:
2209:
2207:
2200:
2194:
2187:
2178:
2176:
2172:
2162:
2158:
2146:
2139:
2131:
2127:
2122:
2118:
2083:
2079:
2064:
2060:
2053:
2020:
2016:
1995:(12): 227–242.
1982:
1978:
1971:
1944:
1940:
1933:
1902:
1898:
1866:
1862:
1855:
1826:
1822:
1815:
1793:Goldberg, Adele
1790:
1786:
1777:
1775:
1758:
1754:
1735:
1731:
1711:
1707:
1700:
1675:
1671:
1664:
1652:. MIT. p.
1639:
1635:
1626:
1624:
1620:
1609:
1605:
1604:
1600:
1591:
1589:
1576:
1575:
1571:
1559:
1557:
1546:
1542:
1505:
1498:
1464:
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:
4169:
4159:
4158:
4153:
4148:
4131:
4130:
4128:
4127:
4117:
4107:
4096:
4093:
4092:
4090:
4089:
4084:
4079:
4074:
4069:
4064:
4059:
4054:
4049:
4044:
4039:
4034:
4029:
4024:
4019:
4014:
4009:
4004:
3999:
3994:
3988:
3986:
3982:
3981:
3979:
3978:
3976:Solid modeling
3973:
3968:
3963:
3958:
3953:
3948:
3943:
3937:
3935:
3929:
3928:
3926:
3925:
3920:
3915:
3910:
3905:
3899:
3897:
3891:
3890:
3888:
3887:
3882:
3877:
3875:Control method
3872:
3867:
3862:
3857:
3852:
3846:
3844:
3838:
3837:
3835:
3834:
3829:
3827:Multithreading
3824:
3819:
3814:
3808:
3806:
3800:
3799:
3797:
3796:
3791:
3786:
3781:
3776:
3770:
3768:
3762:
3761:
3759:
3758:
3753:
3748:
3743:
3738:
3733:
3728:
3723:
3721:Formal methods
3718:
3712:
3710:
3704:
3703:
3701:
3700:
3695:
3693:World Wide Web
3690:
3685:
3680:
3675:
3670:
3665:
3660:
3655:
3650:
3645:
3640:
3635:
3629:
3627:
3621:
3620:
3618:
3617:
3612:
3607:
3602:
3597:
3592:
3587:
3582:
3576:
3574:
3567:
3566:
3564:
3563:
3558:
3553:
3548:
3543:
3537:
3535:
3529:
3528:
3526:
3525:
3520:
3515:
3510:
3505:
3500:
3495:
3494:
3493:
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:
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
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:
9:
6:
4:
3:
2:
4168:
4157:
4154:
4152:
4149:
4147:
4144:
4143:
4141:
4126:
4118:
4116:
4108:
4106:
4098:
4097:
4094:
4088:
4085:
4083:
4080:
4078:
4075:
4073:
4070:
4068:
4065:
4063:
4060:
4058:
4055:
4053:
4050:
4048:
4045:
4043:
4040:
4038:
4035:
4033:
4030:
4028:
4025:
4023:
4020:
4018:
4015:
4013:
4010:
4008:
4005:
4003:
4000:
3998:
3995:
3993:
3990:
3989:
3987:
3983:
3977:
3974:
3972:
3969:
3967:
3964:
3962:
3961:Mixed reality
3959:
3957:
3954:
3952:
3949:
3947:
3944:
3942:
3939:
3938:
3936:
3934:
3930:
3924:
3921:
3919:
3916:
3914:
3911:
3909:
3906:
3904:
3901:
3900:
3898:
3896:
3892:
3886:
3883:
3881:
3878:
3876:
3873:
3871:
3868:
3866:
3863:
3861:
3858:
3856:
3853:
3851:
3848:
3847:
3845:
3843:
3839:
3833:
3830:
3828:
3825:
3823:
3820:
3818:
3815:
3813:
3810:
3809:
3807:
3805:
3801:
3795:
3794:Accessibility
3792:
3790:
3789:Visualization
3787:
3785:
3782:
3780:
3777:
3775:
3772:
3771:
3769:
3767:
3763:
3757:
3754:
3752:
3749:
3747:
3744:
3742:
3739:
3737:
3734:
3732:
3729:
3727:
3724:
3722:
3719:
3717:
3714:
3713:
3711:
3709:
3705:
3699:
3696:
3694:
3691:
3689:
3686:
3684:
3681:
3679:
3676:
3674:
3671:
3669:
3666:
3664:
3661:
3659:
3656:
3654:
3651:
3649:
3646:
3644:
3641:
3639:
3636:
3634:
3631:
3630:
3628:
3626:
3622:
3616:
3613:
3611:
3608:
3606:
3603:
3601:
3598:
3596:
3593:
3591:
3588:
3586:
3583:
3581:
3578:
3577:
3575:
3573:
3568:
3562:
3559:
3557:
3554:
3552:
3549:
3547:
3544:
3542:
3539:
3538:
3536:
3534:
3530:
3524:
3521:
3519:
3516:
3514:
3511:
3509:
3506:
3504:
3501:
3499:
3496:
3492:
3489:
3488:
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:
2313:
2312:1-85233-969-1
2309:
2305:
2301:
2297:
2294:
2293:1-55860-910-5
2290:
2286:
2282:
2281:
2261:
2254:
2248:
2234:
2227:
2220:
2206:
2199:
2192:
2190:
2171:
2167:
2160:
2153:
2145:
2138:
2137:
2129:
2120:
2112:
2108:
2104:
2100:
2096:
2092:
2088:
2081:
2073:
2069:
2062:
2054:
2052:0-89791-662-X
2048:
2044:
2040:
2036:
2032:
2028:
2024:
2018:
2010:
2006:
2002:
1998:
1994:
1990:
1986:
1980:
1972:
1966:
1961:
1956:
1952:
1948:
1947:Bracha, Gilad
1942:
1934:
1932:0-89791-908-4
1928:
1923:
1918:
1914:
1910:
1906:
1900:
1892:
1888:
1884:
1880:
1877:(2): 97–113.
1876:
1873:
1872:
1864:
1856:
1854:0-89791-125-3
1850:
1846:
1842:
1838:
1834:
1830:
1824:
1816:
1810:
1806:
1801:
1800:
1794:
1788:
1773:
1769:
1765:
1762:
1756:
1750:), Chapter 1.
1749:
1748:0-7167-0447-1
1745:
1741:
1738:
1733:
1725:
1721:
1720:
1715:
1709:
1701:
1695:
1691:
1686:
1685:
1679:
1673:
1665:
1659:
1655:
1650:
1649:
1643:
1637:
1619:
1615:
1608:
1602:
1588:on 2006-06-14
1587:
1583:
1579:
1573:
1566:
1556:on 2016-07-29
1555:
1551:
1544:
1536:
1532:
1528:
1524:
1520:
1516:
1515:
1510:
1503:
1501:
1492:
1488:
1484:
1480:
1476:
1472:
1471:
1463:
1459:
1455:
1449:
1445:
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:
1367:
1365:
1361:
1356:
1352:
1347:
1345:
1341:
1337:
1331:
1329:
1325:
1321:
1310:
1308:
1304:
1297:
1287:
1282:
1272:
1269:
1267:
1264:" feature in
1263:
1259:
1255:
1250:
1248:
1244:
1240:
1237:
1233:
1232:virtual disks
1228:
1226:
1221:
1215:
1205:
1203:
1199:
1195:
1191:
1190:Linux-VServer
1187:
1183:
1179:
1175:
1174:FreeBSD jails
1171:
1164:
1154:
1151:
1149:
1145:
1141:
1137:
1133:
1129:
1125:
1121:
1120:VMware Fusion
1117:
1113:
1109:
1105:
1101:
1097:
1092:
1090:
1083:
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:
978:
973:
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:
674:
672:
668:
664:
660:
655:
653:
648:
646:
642:
638:
634:
630:
626:
621:
619:
615:
611:
606:
604:
600:
596:
590:
583:
573:
570:
568:
564:
560:
555:
553:
549:
545:
541:
537:
533:
528:
526:
522:
518:
514:
510:
504:
502:
497:
491:
487:
481:
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:
315:
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:
228:
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:
178:
177:
172:
169:
167:
164:
162:
159:
157:
154:
152:
149:
148:
147:
146:
143:Types of code
142:
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:
62:
61:
58:
55:
54:
48:
44:
40:
39:
34:
30:
19:
4057:Cyberwarfare
3716: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:
4067:Video games
4047:Digital art
3804:Concurrency
3673:Data mining
3585: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
4140:Categories
4125:Glossaries
3997:E-commerce
3590:Statistics
3533:Algorithms
3491:Stochastic
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
3946:Rendering
3941:Animation
3572:computing
3523: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
4105:Category
3933:Graphics
3708: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
4115: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
3518: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
4142::
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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.