Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!pt.cs.cmu.edu!theory.cs.cmu.edu!tsf From: tsf@theory.cs.cmu.edu (Timothy Freeman) Newsgroups: comp.os.minix Subject: Re: MINIX VS XINU Message-ID: <1010@theory.cs.cmu.edu> Date: Thu, 22-Jan-87 12:12:39 EST Article-I.D.: theory.1010 Posted: Thu Jan 22 12:12:39 1987 Date-Received: Fri, 23-Jan-87 07:22:05 EST References: <3862@sdcrdcf.UUCP> <1053@ius2.cs.cmu.edu> Distribution: world Organization: Carnegie-Mellon University, CS/RI Lines: 44 >In article <3862@sdcrdcf.UUCP> davem@sdcrdcf.UUCP (David Melman) writes: >>I'm curious how the goals and purpose of Comer's Xinu operating system >>(Operating System Design, the Xinu Approach) differ from Tanenbaum's Minix. >>A few things they do have in common are: >> 1) They both run on micros >> 2) They both are a rewritten simplification of Unix >> 3) They both are intended to be educational I and several cohorts implemented a subset of Xinu for the IBM PC as a project for an Operating Systems course back when I was at Rensselaer. Here are some differences between the two. (I have no knowledge about Minix except by reading this bboard, so my statements about Xinu are going to be more accurate than my statements about Minix.) 4) Minix is System V compatible; Xinu isn't meant to be a Unix, so it isn't compatible with anything. (Xinu stands for Xinu Is Not Unix, and I can vouch for the correctness of its acronym.) 5) Xinu only has lightweight processes (that is, they are all in the same address space and share a common pool of resources). Minix only has heavyweight processes (that is, each process has its own address space and can try to believe that it has its own pool of resources, to the extent to which this is true for Unices in general.) 6) Xinu doesn't have an analogue to the exec system call, all code that you can ever execute must be in the initial core image. Minix does have an exec call. 7) Xinu specifies a new process to start by giving a subroutine to execute for the new process; it doesn't have a fork call. Minix does have fork. 8) Xinu was not sufficient to use as a development system for itself. Minix hopefully is. (The original Xinu development environment ran under Unix and used cross-compilers. The Xinu version I developed used MS-Dos as a development environment.) In summary, Xinu is a great vehicle for an operating systems course because it is possible for one person to implement enough of it to be able to run things within a semester, but don't try to use it to get any work done. -- Tim Freeman Arpanet: tsf@theory.cs.cmu.edu Uucp: ...!seismo!theory.cs.cmu.edu!tsf