Papers on Layered UNIX systems like Apollo VRM, Apollo SR10, etc.

Tom Lyon pugs%whitsun at Sun.COM
Wed Oct 5 03:00:15 AEST 1988


In article <bcHsHc5qnd1010RzzbI at amdahl.uts.amdahl.com>, craig at amdahl.uts.amdahl.com (Craig Harmer) writes:
> Sorry, i don't think we've written any papers on the subject of running
> under VM.  There's really not alot to say, aside from paying attention to
> all the idiosyncracies of whatever VM you're running under, in order to
> get decent performance.  It's particularly hard to get decent performance
> using virtual memory as a "Virtual Operating System".

Actually, I wrote a paper at Amdahl 9 years ago, when UTS was still called "Au",called "How to get the Pb out of Au".  The single thing which increased 
performance most under VM was to make the kernel run with interrupts disabled
except in "sleep", so that all the calls to spl() could be removed! The calls
to spl() required traps to VM to implement them, so the ran several orders of
magnitude slower in a virtual machine than on a real machine.  Lest anyone
think this is a terrible idea, it turns out that CP (the VM kernel) does
exactly the same thing.  IBM I/O devices are built for high latency.

The other neat thing under VM was virtual page faults; VM would notify the
kernel when a user process took a page fault so the UNIX kernel could schedule
some other process; another notification would arrive after VM got the page
in.  This level of page faulting was independent of the paging eventually
implemented by the UTS kernel.



More information about the Comp.unix.wizards mailing list