Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!unmvax!gatech!udel!mmdf From: Leisner.Henr@xerox.com (marty) Newsgroups: comp.os.minix Subject: Re: Bruce Evans' opus Message-ID: <16698@louie.udel.EDU> Date: 1 Jun 89 22:18:18 GMT Sender: mmdf@udel.EDU Lines: 87 I haven't examined Bruce Evan's work too carefully but it seems very neat and well-documented. I feel a protected mode implementation of Minix is a most useful thing for a teaching tool. I regularly use Ms/Dos and Unix machines -- software development on Ms/Dos generally requires constant booting (I wrote a TSR to at least break out of an infinite loop). In college, my OS course dealt with aspects of protection between processes and stressed the importance of "the system shouldn't crash". Minix ignores these protection issues. I kinda get annoyed when computers crash -- I suppose developers trained on Minix may well build the next generation of Ms/Dos machines (god forbid). I think Andy's desire to ignore protection issues may be expedient -- how about advanced Minix? What I would like to see is a graceful way to add more sophisticated features (i.e. memory protection, swapping, etc) in a configurable manner. This way Minix can serve as both a teaching tool and a useful system. One of the problems with Pascal (at least the way I understand it) is it was never intended to accomplish anything in a production environment -- it was a teaching tool. So pascal vendors impelemented various extension to the language (this was the case 8 years ago when I learned C and Pascal). It is not an easy task to develop an operating system to support multiple processors with various hardware features (i.e. how context switching takes place, memory/no memory protection, etc). But I think with some careful redesign Minix can serve as a teaching tool (in the present configuration) and a more useful, more powerful system supporting multiple users with memory protection on 286/386 machines. One of the problems is the copyrighted status of the source -- the idea of 400k of patches doesn't appeal to me, and the multiple levels of patches seem to be a pain. If a group of us want to take a protected mode activity off-line, I'd like to be able to pick up a complete kernel. I've never been good at applying patches. Also since no source control system is used in Minix, it's always been hard for me to know exactly what I got. I'm pretty impressed by Minix. GNUos (if it ever appears) won't have a chance of ever running on PC XT clones. Minix seems like a seems which has a path from 8086/80286/80386 in a reasonable way if changes are made. A few minor extensions would make Minix far more usable to me: 1) support TCP/IP (I'm not going to ask for XNS) -- i.e. ftp/telnet would give it real world usefulness. I'd be happy to discuss how to do this with anyone else interested. 2) support 386 protected mode with 32 bit addresses (mainly to run gnu C). 3) Multiple sessions off the console (I implemented a buggy version of this -- someone else did also I believe. Did it ever make it into the release?) 4) A larger buffer cache (I don't think 40k can be of much use). 5) Shared text and a sticky bit (this would be most useful addition) A few major problems I found with Minix which I think limit its usefulness: 1) The C compiler (sorry, I've never been able to accomplish much with it when I port code). And it's slow. And the benchmarks I've run indicate it's code generation wasn't competive. (does current minix support split I&D?) I've did all my Minix development on Ms/Dos using Aztec C. 2) Lack of a clean way to manage more sophisticated memory models (I had to make major changes to begin to allow this but never got there). I find a memory model with 64k data, 64k text, 64k stack and N 64k malloced segments to be most useful (very few applications need > 64k code). It would be nice if instead of the T, D and S model, a variable number of segments were supported. I think it would be a good idea if Prentice-Hall and ast free'd up the source code to the operating system so people could easily let other people look at new kernels. I would gladly share my 80286 protected mode stuff I could distribute it intact -- at the time I was doing it I had no space on my hard disk to leave a distribution. It seems this would not jeopardize PH sales since booting a system without the source code to the operating system is quite a formidable task. I haven't done a Minix work in a year now. Hopefully I'll have a chance soon to catch up, look at my work, look at Bruce's work, look at Andy's latest release. Now that I finally have a sun386i I should be able to run DOS, Minix and Unix all on the same machine and generate binaries with various compilers. I would like to see a way to release 88 Minix, 286 Minix and 386 Minix off one distribution source (but not necessarily one binary). marty ARPA: leisner.henr@xerox.com GV: leisner.henr NS: martin leisner:wbst139:xerox UUCP: hplabs!arisia!leisner