Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!agate!saturn!rpd@cs.cmu.edu From: rpd@cs.cmu.edu (Richard Draves) Newsgroups: comp.os.research Subject: Re: Inverted page tables Message-ID: <6589@saturn.ucsc.edu> Date: 4 Mar 89 05:05:08 GMT Sender: usenet@saturn.ucsc.edu Lines: 18 Approved: comp-os-research@jupiter.ucsc.edu > *Excerpts from ext.nn.comp.os.research: 1-Mar-89 Re: Inverted page tables Ken* > *Seefried iii@gatech. (1091)* > The MACH papers discuss some of the difficulties that they had porting > that operating system to the PC/RT because of the awkward > implemetation of shared memory on such an MMU. I do not recall right > now how they solved the problem. Perhaps someone at CMU could > elaborate. Suppose a page is mapped into several tasks. Only one of the tasks actually has access to the page. If another task attempts to access the page, it faults and the fault handler moves the page (no IO). The end result is that context-switches between two tasks running the same program (sharing text) are more expensive than you might expect. The RT pmap code (machine dependent VM code) could theoretically notice what's happening in some common situations, like shared text, and use a shared segment to avoid these faults, but it'd be a tad awkward to implement. Rich