Mill Computing, Inc. › Forums › The Mill › Architecture › Is the Mill ISA classic virtualizable?
- AuthorPosts
- #3667 |
Pretty straight forward question: does it meet the Popek and Goldberg virtualization requirements?
I know the Mill does not have a privileged mode.
Yes and no, depending on configuration.
As you say, Mill has no privileged instructions, and controls things through address permissions. However, the ISA exposes the full 64-bit virtual address space to the supervisor (OS), so to virtualize the supervisor (and so be able to run two of them) it is necessary to be able to provide distinct address spaces for each guest. As all the space is available, a Mill supporting VMMs must use address space identifiers (ASIDs) internally to distinguish guest address references. This costs hardware, so some Mill configs won’t support virtualization, those for embedded markets for example.
The size of the ASID will limit how many guests can run concurrently.
Your reply makes me wonder what it would take to make a fully position-independent operating system that can be started in either the ALL turf or a smaller turf under a “hypervisor” in ALL. There’s certainly no advantage to doing it that way, and in fact at that point you might genuinely be in danger of running out of address space, but it’s an interesting thought experiment.
The Mill ISA is designed for a nano-kernel. The overwhelming bulk of what we call an OS lies outside the NK and can run happily as you describe. Whether such a system is “virtualized” is a matter of definition.
- AuthorPosts
You must be logged in to reply to this topic.