houpt@svax.cs.cornell.edu (Charles E. Houpt) (07/02/90)
I'm learning about Mach, and was wondering if anyone knows whether the following problem can be solved with Mach. Here at Cornell the project for the OS course is to write an OS kernel. The kernel consists of a virtual memory manager, IO manager, and process manager. The target machine for the kernel is a software simulated PDP-11 (with VM) running on a VAX. Because the PDP-11 is simulated, the kernel runs very s..l..o..w... My question is: can the special features of Mach be used to provide students with a native code Virtual Machine (VMac) to run their kernels in? As I see it, the real trick in a Mach VMac is simulating virtual memory (virtual-VM). The VMac should be able to detect virtual page faults and call the student's pager to handle them. If the students kernel modifies the page table, then the VMac will adjust to the new virtual memory map. In sum, the VMac must be able to simulate all the VM hardware. I know Mach allows user-defined pagers, but is this facility flexible enough to implement a VMac with its own virtual-VM? (and virtual-IO?) The great advantage of this VMac would be that everything would run in native machine code. It would be fast. -Thanks, Chuck Houpt houpt@svax.cs.cornell.edu