Changes between Version 21 and Version 22 of VirtualBox architecture
- Timestamp:
- Nov 21, 2006 9:47:45 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
VirtualBox architecture
v21 v22 55 55 56 56 1. Your CPU can be '''executing host ring-3 code''' (e.g. from other host processes), or '''host ring-0 code,''' just as it would be if !VirtualBox wasn't running. 57 2. Your CPU can be '''emulating guest code''' (within the ring-3 host VM process). Basically, !VirtualBox tries to run as much guest code natively as possible. But it can (slowly) emulate guest code as a fallback when it is lost about why guest code is not working, or when the performance penalty of emulation is not too high. Our emulator (in `src/emulator/`) is based on [http://fabrice.bellard.free.fr/qemu/ QEMU] and typically steps in when57 2. Your CPU can be '''emulating guest code''' (within the ring-3 host VM process). Basically, !VirtualBox tries to run as much guest code natively as possible. But it can (slowly) emulate guest code as a fallback when it is not sure what the guest system is doing, or when the performance penalty of emulation is not too high. Our emulator (in `src/emulator/`) is based on [http://fabrice.bellard.free.fr/qemu/ QEMU] and typically steps in when 58 58 * guest code disables interrupts and !VirtualBox cannot figure out when they will be switched back on (in these situations, !VirtualBox actually analyzes the guest code using its own disassembler in `src/VBox/Disassembler/`); 59 59 * for execution of certain single instructions; this typically happens when a nasty guest instruction such as `LIDT` has caused a trap and needs to be emulated;