Virtual Machines Flashcards
What is a virtual machine?
theoretical/generalised computer which provides environment where translator is available on which programs can run
theoretical computer in that its a software implementation of a computer system. provides environment with a translator for intermediate code to run
- : limited access to some low level features e.g. access to GPU which can optimise programs
Give an advantage
can run older applications that aren’t compatible with newer OS’s
platform-independent: can run variety of computer devices and virtual machines using an interpreter improving portability between machines
can run multiple OS on same computer
easy to copy and back up once installed
sheilding malware e.g. opening files you may believe contains malware like pdf sent over an email, you can set up a VM to be entirely independent of the host so even if VM gets infected your real computer is fine. VM is deleted and a fresh version can be used next time
Give a disadvantage
programs run less efficiently (slower) on a VM that on original hardware - program runs slower than executable code as it needs to be translated each time its run by additional software
still need proper license to run OS and applciations within a VM - applicable to copyright law as any other so cannot just be copied
What are virtual machines used for?
to run an OS inside another on a software implementation of a machine e.g. when testing compatibility until physical machine is ready
used as an interpreter to run intermediate code. intermediate code can then be run off any computer with a virtual machine but tends to be slower than a compiler
What is meant by intermediate code?
partly translated simplified code between high level and machine code that is produced by a compiler so program is error free
halfway between machine code and object code.
independent of the processor architecture so can be run across different macines and OS’s