virtualization - modrpc/info GitHub Wiki

Table of Contents

Hardware-Level Virtualization

Hypervisor (Virtual Machine Monitor)

QEMU

Dynamic Translation in QEMU

  • QEMU uses dynamic translation -- runtime conversion of the target CPU instructions (e.g. Xtensa instructions) into the host isntruction set (e.g. x86 isntructions)
  • HOW:
    • STEP #1: split each target CPU instrucion into few simpler instructions called micro operations
      • each micro operation is implemented by small C code
      • STEP #1 is done manually (user maps target CPU instruction into predefined basis of micro operations)
      • After compiling these code, now we get a library of micro operations, say MICROLIB
    • STEP #2: DYNGEN tasks MICROLIB as input and generates a dynamic code generator
      • dynamic code generator is invoked at runtime to generate a complete host function which concatenates several micro operations.

Guest Physial RAM

Operating-System-Level Virtualization

Containerization

Language-Level Virtualization

⚠️ **GitHub.com Fallback** ⚠️