Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!uunet!mcsun!hp4nl!star.cs.vu.nl!ast From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: Re: A real operating system ? Keywords: future 1.5 Message-ID: <5741@star.cs.vu.nl> Date: 4 Mar 90 18:44:27 GMT References: <1383@Terra.cc.brunel.ac.uk> <25eda193.62e3@polyslo.CalPoly.EDU> <3696@plains.UUCP> Sender: news@cs.vu.nl Organization: Fac. Wiskunde & Informatica, VU, Amsterdam Lines: 78 In article <3696@plains.UUCP> overby@plains.nodak.edu (Glen Overby) writes: >I think there are two things left to make Minix an extremely usable system: >(1) the ability to swap >(2) the bottleneck in the filesystem ... I think that problem (1) is only really an issue on 8088 systems and very small 80x86 ones. With memory prices dropping all the time, having 1M or more on an 80286 or 80386 is hardly uncommon these days. With 1M of program memory it is very rare to get so many processes active that it fills up and would have to swap. Thus putting in swapping for the benefit of the 8088 only seems like a fairly low priority item. If you have 640K and no RAM disk, with MINIX eating up about 140K, you still have 500K for programs. You have to run a fair amount of stuff in the background to fill that up, and with 2 or 3 background jobs on an 8088, the performance won't be so great. As to (2), the only difference the single-threadedness makes is some loss of performance if you have two or more I/O bound jobs running at once. For a CPU bound job (e.g., the compiler, compress, nroff), you won't gain that much. If the foreground job is an editor, and is mostly idle, I very much doubt whether you would notice the gain, but the change is very complicated and introduces all kinds of possibilities for race conditions deadlocks and the like. I don't think it is worth it. A couple of thoughts on toy-ness. Original, MINIX was clearly a toy. It had the following characteristics: - Was aimed at an 8088 with 2 floppy disks - very few utilities - editor that could only handle files to 40K It has clearly evolved over the years, in no small part due to the collective efforts of the people in Netland. It is fair to currently characterize it as: - Aimed at 80286 or 80386 with lots of memory running in protected mode - Works with most hard disks - Soon to be available on the Atari, Amiga, and Macintosh; SPARC later - About 175 utilities - Editors include ed, ex, vi, and a mini-emacs, in addition to mined - Over 225 library routines - ANSI C compiler now running, will be available within 6 months - POSIX compatibility probably in a year or so - Pascal compiler available from UniPress and Transmediair - RS232 supported, kermit and zmodem available (uucp?) - Up to 3 users can run on the same machine - text processing with a somewhat lobotomized nroff - Distributed computing via Ethernet was in 1.3, hope to get it back in 1.5 While it is clearly nowhere near BSD 4.3 or System V, I think that running MINIX on a 2M PC/AT all by yourself is not that much worse that sharing a PDP-11/45 with 8 other people, and perhaps even a bit better. I think that if you compare MINIX 1.5 and its utilities to what you get if you buy MS-DOS in a box from Microsoft, it is not a toy at all. There is only one real technical limitation, but one that the PDP-11 also had: the 64K + 64K address limit. It is clearly getting to be a nuisance, but I am very hesitant to hack in segments just for the 286. On a 386, with Bruce's code, you can run 32 bits. Thus I prefer to keep the simple architecture of a linear address space. Note that the 64K property is not inherent to MINIX. On the 68000s, programs can be as big as memory. The 64K comes from the brain-damaged 8088 archtitecture, and going to multiple segments seems to be the wrong thing to do now with the future of even low-end machines clearly being the 386(SX) chips. A single, linear address space is so much simpler. I see MINIX-ST as the prototype. The most conspicuous thing lacking is a lot of applications software. There is kind of a vicious circle operating here: with a small user base, companies don't even consider making software for MINIX, and without software, the user base remains small. One thing that the newsgroup could do is look around for public domain software available in source form in C, and try porting it to MINIX. There is a huge amount of PD software around, most of it awful, but even if only 1% is good, that is still a great deal. Perhaps we need a mechanism to allow people who do a lot of work writing or porting some major utility to be able to sell it for a modest price (preferably with source). This might provide some incentive. Would the MINIX Centre in England be a suitable mechanism (Andy Michael-- any comments?)? Andy Tanenbaum (ast@cs.vu.nl)