Path: utzoo!attcan!uunet!husc6!think!ames!hc!hi!erikj From: erikj@hi.unm.edu (Erik Johannes) Newsgroups: comp.sys.amiga Subject: Re: Amiga UNIX Message-ID: <23602@hi.unm.edu> Date: 20 Jun 88 16:02:28 GMT References: <211@laic.UUCP> <3663@cbmvax.UUCP> <1872@sugar.UUCP> <134@ssdis.UUCP> <2106@sugar.UUCP> <221@toylnd.UUCP> Reply-To: erikj@hi.unm.edu (Erik Johannes) Organization: U. of New Mexico, Albuquerque Lines: 19 I believe one of the key issues to implementing UNIX or MINIX or any of the other Unix clones is the fork command. A fork command makes a copy of the process. This includes not only the code but also the data. Copying the data is were a plain 68000 without an MMU runs into problem. The 68000 doesn't necessarily know were all the data is. It may know were the main data segment is, but there can be pointers in there pointing else were. In order for the fork command to function properly the 68000 would have to chase down all the pointers and stuff, which would be extremely complex and time consuming. One of the principal foundations of UNIX is cheap processes, and this is not possible with a plain 68000. One of the work arounds for this problem is the "forkexec" command. I believe the Amiga has this. But this is not a true fork command and thus not compatable with UNIX. Intel got lucky with their convoluded segment registers in the 80x86 family. Since there is a Data base register, they can make a copy of the data segment and therefore have a true fork. For a 68k system, one must have an MMU or a 68020 (68030) which has a built in MMU. -Erik Johannes