Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uwmcsd1!ig!agate!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: Address Space on the Amiga (was Re: Need info on exceptions) Message-ID: <8809010303.AA14718@cory.Berkeley.EDU> Date: 1 Sep 88 03:03:36 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 38 :In article <8808311759.AA19249@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: :> This does not mean that X must point to physical memory, just as long :>as the MMU MAP is to a unique address, see? :> Thus, you can give processes access to each other's memory on a :>per-process basis, and even though this is restricted to the page size of :>the MMU, it is still better than no protection at all. Specifically, a :>task would be able to say "This is protected and nobody but me can access it". : : Why not just have a separate virtual address space for each process's shared :memory, and have the pointers contain which task's virtual address sapce it is You mean under a 'standard' VM model where each process has the same address space (everybody starts at 0 model) and part of that is reserved for shared memory? Two reasons: (1) It introduces special cases (the set-aside address space is a special case) (2) For the Amiga at least, it is not a feasible solution with all the message passing processes do... that is, it is not something that can be added without rewriting just about the entire OS. : Of course, this won't work for the current 68000 architecture as it would :ideally be supported at the ucode level. I figure a standard MMU will do the job, no? Not saying I like the method, just wondering if I missed something? The VAX is the only machine I know whos microcode knows about the MMU extensively. : For the current implementation, we could always make everyone use the :MEMF_PUBLIC flag and too bad for the people who were sloppy. :-).. it's really :the same kind of thing as happened with fast memory -- sloppy programs broke. No way. MEMF_PUBLIC was never defined well and subsequently not used consistantly (probably not even by the OS). EVERYTHING will break! -Matt