Virtual Machines Flashcards

1
Q

What is a virtual machine?

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Give an advantage

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Give a disadvantage

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are virtual machines used for?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is meant by intermediate code?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly