Timeline for Developing a virtual machine / sandbox
Current License: CC BY-SA 3.0
4 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Mar 23, 2014 at 15:37 | comment | added | Jörg W Mittag | @Devolus: Those were introduced one by one as performance improvements. There are some instructions that cannot easily be trapped, so in the past VMs had to inspect and re-write the instruction stream on the fly. Then Intel introduced "ring -1". In the past, you had to manage your own page tables. Now, you can nest page tables inside page tables and let the MMU do it for you. In the past, you had to manage your own IO, now you can let the IOMMU do it for you. And so on. | |
Mar 23, 2014 at 14:45 | vote | accept | Devolus | ||
Mar 23, 2014 at 14:44 | comment | added | Devolus | Thanks, that explains a lot. :) I thought I read that x86 CPUs have some kind of virtualization support, and wondered what that means or how this is employed. Of course, intercepting the calls by way of driver, is the obvious approach but I thought that there is some additional magic I haven't found yet. Intecepting privileged instructions is probalby the easy part, so I was wondering about the every-day functions which would be the real challenge IMO. | |
Mar 23, 2014 at 14:24 | history | answered | Jörg W Mittag | CC BY-SA 3.0 |