Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!mailrus!uwm.edu!zaphod.mps.ohio-state.edu!usc!apple!agate!darkstar!ucscb.UCSC.EDU!davids From: davids@ucscb.UCSC.EDU (Dave Schreiber) Newsgroups: comp.sys.amiga.tech Subject: Memory protection for AmigaDOS Summary: Why not (here we go again?) ? Message-ID: <4250@darkstar.ucsc.edu> Date: 9 Jun 90 19:37:05 GMT Sender: usenet@darkstar.ucsc.edu Reply-To: davids@slugmail.UCSC.EDU (Dave Schreiber) Followup-To: comp.sys.amiga.tech Distribution: na Organization: University of California, Santa Cruz; CATS Lines: 50 [And just when you though this topic had been discussed to death...] A while back (I'm sure you all remember), there was a discussion regarding putting memory protection into the Amiga OS. As I remember, the two big problems were: 1. Compatibility 2. Loss of performance, due to the loss of the ability of programs to access memory allocated by other programs. Since then I've been reading _Unix Papers for Unix Developers and Power Users_ by the Waite Group. In it there is a paper regarding porting Unix to 68030 systems; basically an intro to the '030, its features, considerations, etc. On pages 444-445, the paper talks about shared memory: "Shared-memory segments are a way in which Unix allows two processes to communicate. ...one process creates an area of memory and allows it to be shared by other programs. Another process can then request that this shared memory segment be 'attached' to its logical address map. Data that is written into the shared segment by one process can be read from the segment by another process. Shared-memory segments can be easily implemented using the MC68030 MMU. [...] Each process can have either read/write or read only access to the segment." Although this part of the paper is talking about each process having its own virtual memory map, it seems reasonable to assume that it (especially the last sentence) would be the same if the whole system ran off of one address map. So, what have I missed here? Is there something else in the Amiga's OS that makes memory protection difficult to do? If compatibility is an issue, why not have the OS convert the memory of the message while its being passed to its destination (i.e. process A sends a message to process B. Exec makes the memory of the message readable and writable by both process A and B, then passes it to process B. When B Reply()'s to the message, remove B's access to it, then pass the reply signal back to A)? Note that I'm not taking into consideration the fact that most Amiga's don't have MMUs; i.e. that memory protection might not be practical from the financial point of view of Commodore (although I'd be willing to pay extra for a crash-proof version of Kickstart), but there's always the future... -- Dave Schreiber The blue leprechaun at davids@slugmail.ucsc.edu (prefered but flakey) or (not both) davids@ucscb.ucsc.edu "Coffee, Darling?"