Path: utzoo!utgpu!water!watmath!clyde!att!alberta!ubc-cs!uw-beaver!mit-eddie!bloom-beacon!gatech!udel!rochester!pt.cs.cmu.edu!spice.cs.cmu.edu!bader From: bader@spice.cs.cmu.edu (Miles Bader) Newsgroups: comp.sys.amiga.tech Subject: single address space (was Re: Need info on exceptions) Message-ID: <2819@pt.cs.cmu.edu> Date: 28 Aug 88 19:16:25 GMT References: <8808272322.AA03740@cory.Berkeley.EDU> <125@fishpond.UUCP> Sender: netnews@pt.cs.cmu.edu Organization: Carnegie-Mellon University, ITC Lines: 38 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: >>: [somebody besides Matt 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 >a process running in a multitasking environment, it is akin to living in >a society where it is perfectly acceptable for strangers to walk up to you >at any time and stick their fingers in your mouth to examine your teeth. >There is absolutely no concept of enforced privacy between processes. Having a single address space is not equivalent to having unprotected, physical memory. You could have virtual memory (still one address space, but now larger than physical memory), with each task's memory only writeable be itself, and still get the advantages of the amiga's fast ipc. It wouldn't be totally trivial I expect, but the amiga seems far better suited to it than other non-mm oses. For instance, do people routinely WRITE to memory pointed to by Messages that they receive? This would create problems since the message & whatever it points to are still only writeable by the sender, and it would be both expensive and difficult [do to pagesize oriention of memory protection schemes, and the unkown extent of referenced data] to move protections every time you sent a message. I was under the impression that the normal use of messages was to simply send another message as the reply anyway. You would probably want to keep around per-task memory allocation data, since protected memory is probably handed out in pages, and the task should have to deal with this detail. -Miles