Revise Computingrevisecomputing.co.uk
Free student revisionSee questionsFor schoolsSchool enquiry
Free revisionSee questionsFor schoolsSchool enquiry
Knowledge/A Level/H446/01 Computer systems/Systems Software/Virtual machines: executing intermediate code…

Virtual machines: executing intermediate code and running one OS within another

Virtual machines, any instance where software is used to take on the function of a machine, including executing intermediate code or running an operating system within another

1.2.1 Systems Software

Practise exam questions

Systems Software — Note 8 of 8

Candidates should be able to describe what is meant by a virtual machine, how they can be used to execute intermediate code, how they can be used to run a software driven machine inside a physical machine and the benefits and drawbacks of each approach.

What you need to know

A virtual machine is software that takes on the function of a physical machine. It can be used to run one operating system inside another, or to execute intermediate code on any computer that has the right virtual machine installed.

What to know

  • Uses of system VMs: running software designed for a different OS; testing software safely in an isolated environment; running several servers on one physical machine; emulating older or different hardware.
  • Process virtual machine: runs intermediate code (bytecode). For example, Java is compiled into bytecode, which the Java Virtual Machine translates and executes on whatever platform it is running.
  • Benefits: portability (write once, run anywhere), isolation and security (a problem in the VM does not affect the host), easy backup and duplication of whole systems.
  • Drawbacks: slower than running directly on the hardware because of the extra translation layer; the host needs enough resources for every VM it runs.

Key terms

Exam tipCommon mistake

Virtual machine

Any instance where software is used to emulate the function of a physical machine.

  • System virtual machine: a hypervisor allows one or more guest operating systems to run inside a host computer, each behaving as if it had its own hardware.
Intermediate code

Code that is partly translated (e.g. bytecode); it is not machine code for any specific processor, so it can be run on any platform with a suitable virtual machine.

  • Exam tip: Intermediate code is more portable than machine code, but runs more slowly than code compiled directly for the processor.

Ready to test yourself?

Practise 1.2.1 questions
← Previous noteDevice drivers1.2.1 Systems SoftwareNext topic →The nature of applications, justifying suitable applications for a specific purpose1.2.2 Applications Generation

Back to Systems Software

Systems Software

Note 8 of 8

  1. 1The need for, function and purpose of operating systems
  2. 2Memory management: paging, segmentation and virtual memory
  3. 3Interrupts, Interrupt Service Routines (ISR) and their role in the FDE cycle
  4. 4Scheduling: round robin, FCFS, multi-level feedback queues, SJF and SRT
  5. 5Distributed, embedded, multi-tasking, multi-user and real time operating systems
  6. 6BIOS
  7. 7Device drivers
  8. 8Virtual machines: executing intermediate code and running one OS within another
Topic overview