Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uwmcsd1!leah!itsgw!steinmetz!uunet!super!rminnich From: rminnich@super.ORG (Ronald G Minnich) Newsgroups: comp.sys.amiga.tech Subject: Re: Need info on exceptions Message-ID: <667@super.ORG> Date: 29 Aug 88 15:29:10 GMT References: <8808272322.AA03740@cory.Berkeley.EDU> <125@fishpond.UUCP> Sender: uucp@super.ORG Reply-To: rminnich@metropolis.UUCP (Ronald G Minnich) Organization: Supercomputing Research Center, Lanham, MD Lines: 36 In article <125@fishpond.UUCP> fnf@fishpond.UUCP (Fred Fish) writes: >In article <8808272322.AA03740@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: >>: An idea central to the Amiga >>:is that an address in any tasks address space is not a virtual >>:address but a physical memory address. That means that you can hand >>:a pointer off to another task and it will be valid in THAT tasks's address >>:space. >> Yes, this *IS* a nice idea. >Personally I think this is the single biggest problem with the Amiga. For Fred, i think if you think about it you are confusing the virtual address model with memory protection. I was wondering when i wrote that if this would come up. The Sprite system has protection, but it also has the 'big linear space' model. That is, on Sprite, all addresses in every tasks space are also valid in every other task's space. That means that passing memory handles around is no big problem. mmap() is easy, consisting only of the need to give a task access to a page, not also munge page table entries for that task. To put it another way, on Unix every processe's address 0 is at a different physical place. On Sprite and Amiga, they are all at the same physical place. On Sprite and Unix, there is protection. Amiga has done all the work to get a Sprite-like memory management done. All they need do to finish the job is put on an MMU, and then they have protection. But amiga went the right direction. Contrast this to the unprotected 8086 systems wherein Unix ports maintained the virtual address mapping via the cs, ds, es, and ss registers. On the 8086 Unix ports, every processes' address 0 was again at a different physical place, and there was no protection. So, to sum up, Large linear address space DOES NOT imply no protection. But, amiga has half the job to a good system- they have the large linear space, they have done all the right things to support it, and the move to protection should be easy. Clear as mud, right? well if i am still confusing things write to me and i will try to be coherent. ron