Question 1 (10 marks) – Virtualisation Popek and Goldberg’s paper describes three categories of machine instructions that can be used to determine if a particular processor instruction set architecture (ISA) can be virtualised: privileged, sensitive, and non-sensitive. Sensitive instructions are further subdivided into control sensitive and behaviour sensitive.
Choose two of the following Instruction Set Architectures:
- Motorola MC68000 • Intel IA32 (x86)
- MIPS • Alpha
- SPARC • Intel IA64 (Itanium)
- ARM • PA-RISC
- PowerPC • IBM System Z
- a) For each of your two chosen architectures please assess the extent to which the ISA may be virtualised. Your answer should be expressed with reference to the classification method described by Popek and Goldberg (i.e. privileged vs non-privileged, control sensitive, behaviour sensitive, etc.).
- b) Have any evolutionary changes occurred to your chosen architectures that effect the possibility and/or performance of virtualisation?
- c) Each of your chosen architectures will have made differing high-level design choices that effect the ability to virtualise. To what extent are these design choices similar? How do they differ?