Taxonomy of virtualisation techniques
- Taxonomy is the practice of semantically classifying things are concepts. This section dwells into classifying virtualisation techniques with help of various characteristics it displays.
- Execution environment, storage and networks are emulated using virtualizations techniques. Of all these, execution environment virtualizations is more prevalent and discuss it in details.
- Execution environment can be further classified as
- process level techniques- implemented on top of existing operating system and need support from the system.
- System level techniques- implemented directly on hardware and do not need support from operating system.

1)Execution visualisation
- Includes Technologies that aims to emulate an execution environment that is separate from the one hosting the virtualizations layer.
- Provide support for execution of programs. This could be achieved using simulation of operating system or binary of a program or an application.
1.1) Machine reference model
- In order to visualise execution Z various levels, following machine reference model is considered.
- Instruction set architecture- interface provide by hardware level using which operating system can interact and manipulate hardware is known as ISA.
- Application binary interfaces(ABI) - operates the operating system layer from the applications and libraries, which are managed by the OS. system calls are defined at this level.
- Application program interface- This is an interface between libraries and application application developers can use API or ABI to create their own applications.
- For any application level call to succeed, API, ABI and ISA have two together work.
- Instructions provided at any level in the reference model can be classified into privileged and unprivileged based on their security classification.
- Privileged instructions are used to perform some operations. Sensitive operations can be further categorised into behaviour sensitive and control sensitive instructions.
- Behaviour sensitive example- instruction that operate an I/O.
- Control sensitive example- instruction that alter state of CPU.
- Hierarchy of privileges can be in visualised with ring based security structure.
- Ring 0(innermost ring) - most privileged mode( supervisor mode)
- Ring 1 and Ring 2- privileged mode.
- Ring 3( outermost ring) - least privileged(user mode).
- Supervisor mode- Also known as master mode or karna mode allows to execute any instruction without any restrictions.
- User mode- Restricted mode. If any sensitive instruction is executed in this mode, operating system interrupts the execution.
- By keeping in mind this reference model, it is possible to explore and better understand the various techniques utilised to virtualize execution environment and their relationship to the other components of the system.

1.1.1)Hardware level virtualisation
- It’s a virtualization techniques that provides an abstract execution environment in terms of computer hardware on top of which guest operating system can be Run.
- Also known as system of virtualisation.