Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!apple!oliveb!amiga!cbmvax!daveh From: daveh@cbmvax.UUCP (Dave Haynie) Newsgroups: comp.sys.amiga Subject: Re: UNIX vs. Amiga speeds Message-ID: <6472@cbmvax.UUCP> Date: 31 Mar 89 17:43:32 GMT References: <11370@s.ms.uky.edu> Organization: Commodore Technology, West Chester, PA Lines: 68 in article <11370@s.ms.uky.edu>, david@ms.uky.edu (David Herron -- One of the vertebrae) says: >>If you're not using some form of memory management, even if you don't call >>it memory management, I don't think you're really UNIX. >>Dave Haynie "The 32 Bit Guy" Commodore-Amiga "The Crew That Never Rests" > Not quite -- as long as we're discussing history of old machines that is. > The PDP-11's either had memory management or didn't. We had a PDP-11/05 > (or was it a /20?) that didn't have memory management on which we ran > a version of V6 specially built for such machines. There was some way that > it could have more than one process in memory at a time but without memory > management. I can't think of how it could've been done right off the top > of my head -- but I know there wasn't memory management because the kernal > could be corrupted by wild pointer references ... I didn't say memory management was necessarily in hardware, though I believe that hardware memory management is necessary for a UNIX the performs to modern specifications. Clearly, if you're running more than one process at a time, but only one's in memory at a time, there is memory management happening; each process believes it starts in the same place. Paging would only make the performance reasonable. > And yes, Unix passes messages by copying. Twice in fact. Once from > the sender to the kernel, and again from the kernel to the receiver. > An important addition is that on Unix the receiver could just as easily > be some process in Norway on the Internet as it could be some process > on the local machine. I knew UNIX passed messages by copying, but didn't consider, though it's obvious if you think about it, that it would have to be two copies. > Doesn't the AmigaDOS convention of passing pointers to objects around > lead to problems with resource management? I think so. But it's fast.... > That is, when it comes time to kill a process how do you free the memory > associated with that process? I think the only proper way for an Amiga process to die is by suicide. The process knows what resources it's allocated, so it deallocates them and then RTSs or some-such. > If one process creates some object and then gives it to another -- does the > kernel keep track? No. > And can't the object be shared between processes? Theoretically, yes, though that's bad programming practice. If someone send me a message, it's mine, and mine alone, until I reply to the message, at which point, I'm not supposed to touch it again. So what usually happens is, you get a message. If there's stuff you can use immediately, you do so. Otherwise, if the reply time is cricitical, you copy what you need to local storage, then reply. Of course, it's not always going to be that you've got some party waiting on the other end to actually do anything. > <- David Herron; an MMDF guy > <- ska: David le casse\*' {rutgers,uunet}!ukma!david, david@UKMA.BITNET > <- The problem with mnemonics is they mean different things to different people. -- Dave Haynie "The 32 Bit Guy" Commodore-Amiga "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: D-DAVE H BIX: hazy Amiga -- It's not just a job, it's an obsession