2022-05-22
- Topc: Cloud virtuailizsation
- Important concept for hardware (may not be important for software)
- Multi-level computer architecture
- Vitrualization: When I write high-level language, I think the machine understands it (actually it does not)
- Virtual machine: a program that takes high-level language as input and outputs low-level language
- Contempory multilevel machine: digital logic level -> ... -> Problem-oriented language level
- Differece between two machines: Instruction set architecture level
- A C compiler finally generates instructions for ISA level
- With VM, a program can be run on another machine without problem
- Guest: some virual software running on a real machine
- Motivations for virtualisation: hardware virtuaisation, performance (load balancing), computing capacity, resource utilisation, lack of space, saving energy
- Managed execution:
- Multiple machines on one real machine.
- Multiple real machines as one.
- Emulation (windows running on mac)
- Isolation
- Levels of virtualisation (execution environment):
- Process level (OS, programming language) & System level (CPU)
- Execution Virtualisation requires interfaces between levels
- Kernel of OS: program that has the highest previliges
- On top of guest, a OS can be run or an application can be run
- Hypervisor: an impolementation of virtualisation reference model
- Type I: run directly on top of hardware (bypass OS)
- Type II: run on top OS (more complicated, have to do what an OS does, more expensive)
- Virtualisation techniques