Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga Subject: Re: UNIX on the Amiga Message-ID: <42416@sun.uucp> Date: 18 Feb 88 20:27:30 GMT References: <6836@agate.BERKELEY.EDU> <1869@leo.UUCP> <2836@bloom-beacon.MIT.EDU> <41976@sun.uucp> <1907@leo.UUCP> Sender: news@sun.uucp Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Organization: Sun Microsystems, Mountain View Lines: 36 In article <1907@leo.UUCP> harald@leo.UUCP ( Harald Milne) writes: > Creating a memory space is not a problem, but how can you run a multi > tasking Amiga on a multi-tasking Unix base? Together? You can not run the > Amiga environment as seperate process entities, just because of the way the > Amiga passes messages to tasks by pointer. He goes, on but mostly because I wasn't clear in what I wrote. The idea is similar to the virtual machine idea's thrown about into the world in the early 70's. It's like this : *One* UNIX process becomes a *One* virtual Amiga 500/1000/2000. When that process is running the virtual amiga exists, when it is not running the virtual amiga doesn't exist. You can run multiple psuedo amiga *tasks* in one *UNIX* process. If that process is get 50% of the cycles then it will run half as fast as a 'real' Amiga. All of those tasks running together are in the same address space (because they are *one* UNIX process) and can share messages to their hearts content. Calls to exec devices (trackdisk, narrator, serial, etc) get handed off to UNIX to service. Mallocs and such simple grab memory in that one address space, and nothing else has to change. The disadvantage to this technique is that it is slow, primarily because you are running a scheduler within a scheduler, and the psuedo Amiga does not get all of the cycles it might want. If the new processor is running 4 times faster (say like a fast '020 or '030) then you may actually get original Amiga speed out of one psuedo amiga. When the psuedo Amiga 'Gurus' the UNIX O/S dumps its core and frees up all of its resources (it can do that because it has an MMU and is tracking resource usage). You the adventerous programmer can then use adb to figure out what died (or maybe a UNIX version of Wack). It is crufty but it offers that all important backward compatibility. --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com These opinions are my own and no one elses, but you knew that didn't you.