(under the class definition) Subject matter comprising means or steps operating on a computer or digital data processing system which enable a first type of processor to emulate and execute instructions associated with one or more different types of processors.
(1) Note. This subclass is directed to subject matter encompassing one or more virtual machines that execute in single task, or multitasking, operating system environments.
(2)
Note This subclass includes computers or digital data processing systems executing a plurality of virtual machines that are preemptively or nonpreemptively scheduled. For example, Microsoft Windows 3.1 provides a Virtual Machine Manager which schedules a plurality of DOS Virtual Machines (which emulate the Intel 8086 real mode environment) along with a single System Virtual Machine which cooperatively or nonpreemptively runs Windows applications. DOS applications are preemptively multitasked by the Virtual Machine Manager along with the System Virtual Machine, with each Virtual Machine receiving a time slice. Other schedulers that do not schedule virtual machines are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(3) Note. This subclass includes means or steps for mimicking the performance of one processing device within another processing device. For example, a software program that allows applications written for a first computer to be executed on a different second computer interpreting the machine instructions for the first computer, thereby becoming a virtual machine.
SEE OR SEARCH THIS CLASS, SUBCLASS:
100+, for task management, per se, especially subclasses 107 and 108 directed to multitasking and context switching. SEE OR SEARCH CLASS
395, Information Processing System Organization,
500, and 527 for compatibility, emulation, or simulation of systems or system components.
711, Electrical Computers and Digital Processing Systems: Memory,
6, for accommodating addressing requirements for software emulation of a target computer or digital data processing system on a base computer or digital data processing system, and subclasses 202+ for address mapping and virtual addressing, per se.
712, Electrical Computers and Digital Processing Systems: Processing Architecture and Instruction Processing (e.g. Processors),
228, for computer control and instruction computer for context preserving, and subclass 229 for computer control and instruction computer for mode switch or change.