ast@cs.vu.nl (Andy Tanenbaum) (05/22/89)
Bruce Evans has clearly done a great deal of high quality work in his recent giant posting and I am sure many people are interested in it. Furthermore, I hate to be a party pooper, but... According to P-H's sales figures, the PC version of MINIX is still outselling the AT version by a wide margin. This means that there are a lot of 8088s still out there. Consequently, I am going to base V2.x on 1.4a, not on Bruce's version. I just don't want all that extra complexity on the 8088 (remember, the goal was a teaching system). This means that if you convert to Bruce's system now, you may have trouble converting to 2.x (POSIX-based) later. It is clearly up to you which way you go, but at least you should be aware that there is a fork in the road here. The long term plan for MINIX is to wait until not only the 8088, but the 286 has also vanished, and make MINIX 3.x (probably in 4 or 5 years) entirely a 386/486/585/686/786 based system, assuming these are all architecturally compatible. The 286's dwarf segments are a real nuisance, and hardly compatible with the Atari, Amiga, and other versions of MINIX in progress, whereas on the 386 one can use a single 32-bit segment (Motorola mode) and implement that fairly cleanly. Andy Tanenbaum (ast@cs.vu.nl)
michaelw@microsoft.UUCP (Michael Winser) (05/23/89)
In article <2570@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: >still out there. Consequently, I am going to base V2.x on 1.4a, not on Bruce's >version. I just don't want all that extra complexity on the 8088 (remember, >the goal was a teaching system). Is this goal still reasonable? I would guess that most of the buyers are using MINIX to learn about UN*X (but not necessarily from an os design point of view). >This means that if you convert to Bruce's system now, you may have trouble >converting to 2.x (POSIX-based) later. It is clearly up to you which way you >go, but at least you should be aware that there is a fork in the road here. ^^^^:-) >The long term plan for MINIX is to wait until not only the 8088, but the 286 >has also vanished, and make MINIX 3.x (probably in 4 or 5 years) entirely >a 386/486/585/686/786 based system, assuming these are all architecturally >compatible. The 286's dwarf segments are a real nuisance, and hardly >compatible with the Atari, Amiga, and other versions of MINIX in progress, >whereas on the 386 one can use a single 32-bit segment (Motorola mode) and >implement that fairly cleanly. Four or five years is a long time to wait for a MINIX that can effectively use the 386. By that time we may all have moved to i860's or i960's! I don't want to start yet another intel vs. motorola discussion here, but to implement MINIX in a single 32-bit segment on the 386 is to ignore much of the parts capabilities. The 386/486 segments and hardware tasks are ideal for MINIX. All the messy fork blitting that the Atari has to do is because there is no mmu. Michael P.S. Isn't it nice to know that the x86 line must stop with the 686. The 786 is/was a specialised graphics part (not very flexible, but pretty cool nonetheless). -- /\ no guts michael winser \/ no glory microsoft corp. (206) 882-8080, michaelw@microsoft.uucp
frank@croton.DEC.COM (Frank Wortner) (05/24/89)
I can see the headlines now: Open Minix Foundation Formed Minix International Announced :-)
jds@mimsy.UUCP (James da Silva) (05/27/89)
In article <2570@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: > According to P-H's sales figures, the PC version of MINIX is still > outselling the AT version by a wide margin. This means that there are a > lot of 8088s still out there. Consequently, I am going to base V2.x on > 1.4a, not on Bruce's version. I just don't want all that extra complexity > on the 8088 (remember, the goal was a teaching system). While I personally plan on running Bruce's version, I agree with Dr. Tanenbaum. `Teaching Minix' as shipped from Prentice Hall doesn't need to have all the bells and whistles. It also doesn't need to be POSIX compatible where such compatibility would complicate Minix. Keep it simple! However, I urge Dr. Tanenbaum to look very closely at Bruce's changes. Many are bug fixes and improvements that have nothing to do with protected mode. It would be silly to ignore so many fixes. Bruce documented every change he made to each source file in the CHANGES file present in every directory; I would say that this is probably the best-documented Minix update I've seen. Much better than the 1.2 and 1.3 updates. > This means that if you convert to Bruce's system now, you may have > trouble converting to 2.x (POSIX-based) later. It is clearly up to you > which way you go, but at least you should be aware that there is a fork > in the road here. I think that the people of the net will help here as they have in the past. I did an upgrade kit for Minix 1.2, Vince Broman did one for 1.2 and one for 1.3d. There's no reason to think that others will not do the same in the future. This should go without saying, but those people serious about keeping track of changes that come over the net while making their own mods should be using a revision control system. I use the SVC system posted here a while back; there has also been a port of RCS to Minix. I've got Minix 1.1, 1.2, 1.3d, 1.4a and Evans' patches all online and easily accessible. Those with 386's or better will most likely borrow more and more from the GNU project; what Prentice Hall does with Minix five years from now just doesn't seem relevent to me, for OS hacking or `learning Unix cheaply'. There will still be a need for a teaching OS, and I trust that Dr. Tanenbaum will provide an excellent one. > Andy Tanenbaum (ast@cs.vu.nl) Jaime ........................................................................... : domain: jds@mimsy.umd.edu James da Silva : path: uunet!mimsy!jds
wbeebe@bilver.UUCP (bill beebe) (05/29/89)
In article <2570@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: > >Bruce Evans has clearly done a great deal of high quality work in his recent >giant posting and I am sure many people are interested in it. Furthermore, >I hate to be a party pooper, but... > >According to P-H's sales figures, the PC version of MINIX is still outselling >the AT version by a wide margin. This means that there are a lot of 8088s >still out there. Consequently, I am going to base V2.x on 1.4a, not on Bruce's [some stuff deleted] >This means that if you convert to Bruce's system now, you may have trouble >converting to 2.x (POSIX-based) later. It is clearly up to you which way you >go, but at least you should be aware that there is a fork in the road here. > >The long term plan for MINIX is to wait until not only the 8088, but the 286 >has also vanished, and make MINIX 3.x (probably in 4 or 5 years) entirely >a 386/486/585/686/786 based system, assuming these are all architecturally [more stuff deleted] I hate to be a party pooper too, but I find Bruce Evan's postings what PC Minix needs to move into the larger world of the 386. I find it interesting you base your figures on P-H's sales figures, without qualifying who is really buying Minix. It would be interesting to see what systems at major universities are running Minix. I have found that the majority of systems in U.S. universities are donated ATs, with the switch to 386 AT architectured machines. And we can roundly curse the "dwarf segments" on the 80286 under protected mode, but there is something to be said about 80286 PM code; it run's with little or no modification on 80386 machines. One other thing you need to think about, Mr. Tanenbaum, and I'll draw a picture to help illustrate my point. +-------------------+---+---+---+---+----------------+ | BASE 31...24 |23 |22 |21 |20 | LIMIT 19...16 | | |G |X |O |AVL| | +-------------------+---+---+---+---+----------------+ It's a crude picture of the upper 16 bits of the 80386 descriptor quad word. The high 16 bits were zero in the 80286, but in the 80386 we have four more bits in the limit field and eight more in the base. If we lave the base alone, the segment limit is now 1 meg, not 64 K. Using the current AT Minix architecture, that means programs can span 2 megs; 1 meg for code and 1 meg for data. It also means that segments have a one byte granularity. Using the base and setting the granularity bit, we can have segment limits up to 4 gig with a granularity of 4K bytes. I find your reasoning why Bruce Evan's work will cause a split to be flawed and technically imcompetent. I support Evan's work and will do whatever I can to add to the existing body of PM Minix code. As a matter of perspective one of our local Minix group here in Orlando, Florida ,Jim Smith, has stated that he had the least number of problems and glitches patching his version of Minix with Evan's posting. It has been one of the easiest, if not the easiest. And Jim has faithfully installed every major posting that has appeared in the conference. Evan's work was merged with Minix 1.3 purchased from P-H, and is running on a 20 MHz 80386 machine with 4 megs of memory, an Adaptec RLL controller, and an ST277. The 80386 AT bios drive tables were patched so that Minix boots from the RLL drive with the standard AT wini code. The Adaptec is register compatible with the WD standard. I'm sorry for the tone of my message, but Minix is far larger than you apparently realize. I would strongly recommend you do more research and deeper thinking about Minix's future path.
jds@mimsy.UUCP (James da Silva) (05/29/89)
In article <216@bilver.UUCP> wbeebe@bilver.UUCP (bill beebe) writes: > ... One other thing >you need to think about, Mr. Tanenbaum, and I'll draw a picture to help >illustrate my point. > > +-------------------+---+---+---+---+----------------+ > | BASE 31...24 |23 |22 |21 |20 | LIMIT 19...16 | > | |G |X |O |AVL| | > +-------------------+---+---+---+---+----------------+ > >It's a crude picture of the upper 16 bits of the 80386 descriptor quad >word. The high 16 bits were zero in the 80286, but in the 80386 we have >four more bits in the limit field and eight more in the base. If we lave >the base alone, the segment limit is now 1 meg, not 64 K. Using the current >AT Minix architecture, that means programs can span 2 megs; 1 meg for code >and 1 meg for data. It also means that segments have a one byte granularity. >Using the base and setting the granularity bit, we can have segment limits >up to 4 gig with a granularity of 4K bytes. I find your reasoning why >Bruce Evan's work will cause a split to be flawed and technically >imcompetent. Bill, I must be even more imcompetent (sic) than Dr. Tanenbaum, as I don't see your point at all. Could you draw me another picture? Seriously, the fact is that it is tricky for a 32-bit kernel to support 16-bit processes. And out of the question for a 16-bit kernel to support 32-bit processes. So what choice do we have? The 16-bit and 32-bit kernels have to be different binaries, at least. The sources can be largely the same, if you are very careful. But not entirely the same. So, should the PC Minixers have to carry around the extra complexity required to support protected mode, in the base Minix release? I don't think so. I think this was all Dr. Tanenbaum was trying to say. Then, should we cripple the 32-bit kernel to increase compatibility with the PC version of Minix? I hope not! Should Prentice Hall market ANOTHER version of Minix for the protected mode? Maybe, but who cares? How would it help you or me? Now, does this mean that we won't have 32 bit Minix for our 386's until Prentice Hall and AST decide to do it? No, of course not. Nit Pick: Bit 21 of the descriptor is not `O', it is `0', as in Undefined. Jaime ........................................................................... : domain: jds@mimsy.umd.edu James da Silva : path: uunet!mimsy!jds
hedrick@geneva.rutgers.edu (Charles Hedrick) (05/30/89)
This is really a plea directed at ast. Can we please make some kind of compromise here? I'm in a situation that I think is shared by many of the readers here. I'm a hacker. I'd like an OS for my home machine that I have source to. I'd also like an OS that I can recommend for students to put on their PC's. At the moment Minix is really the only alternative. Gnu OS is the major alternative, but it doesn't exist yet. Even when it does, chances are most of the people on this list won't be able to afford machines that run it, since the Gnu project in general seems to like large software that requires large machines. Minix does very well in using limited resources. Just what the home hacker community needs. But it's possible to have too much of a good thing. 64K programs carry "small is beautiful" too far. I've collected a lot of software for my PC (which I currently use under Microport System V). Almost none of this will run in 64K. There's a middle ground between Gnu Emacs and ed. That middle ground is occupied by a large amount of stuff that is posted to the net by hackers for PC's, e.g. various microemacses, KA9Q TCP/IP, sc, kermit. This is all reasonably small-scale stuff. It mostly runs fine under MS-DOS. But almost none of it will run under Minix. I had to remove all the help strings from kermit to bring it up under Minix, which is an abomination. The question is what Minix is supposed to be. OK, originally it was intended as an example for OS courses. I'm sure it still is fine for that. But I'm much more concerned with producing students who know how to use OS's than how to write them. And currently they can't really use Minix. So they end up running MS/DOS, and learning nothing at all about how an OS should really support their programming. Can't we do something to lift the curse of 64K from Minix sooner than 4 years from now? Yes, I agree that the 286 is an abortion. The large model is an obscenity. But I'd much rather see my students using a slightly scatalogical Minix than MS/DOS. Bruce's 286 patches are a useful starting point. But what we need most is a large-model compiler, and the ability to run large-model programs even on the 8088. I might even be willing to work on it if I saw some signs that you'd accept the results.
HELMER%SDNET.BITNET@vm1.nodak.edu (Guy Helmer) (05/30/89)
>In article <2570@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: >> >>Bruce Evans has clearly done a great deal of high quality work in his recent >>giant posting and I am sure many people are interested in it. Furthermore, >>I hate to be a party pooper, but... >> >>According to P-H's sales figures, the PC version of MINIX is still outselling >>the AT version by a wide margin. This means that there are a lot of 8088s >>still out there. Consequently, I am going to base V2.x on 1.4a, not on >Bruce's >[some stuff deleted] > >I hate to be a party pooper too, but I find Bruce Evan's postings what PC >Minix needs to move into the larger world of the 386. I find it interesting >you base your figures on P-H's sales figures, without qualifying who is >really buying Minix. It would be interesting to see what systems at major >universities are running Minix. I have found that the majority of systems >in U.S. universities are donated ATs, with the switch to 386 AT architectured >machines. As a recent graduate with a B.S., I know for a fact that at least in all the schools I've seen, AT machines are rare. A small Minix based on the 8088 is necessary if undergrad classes are to be taught based on Minix. > I find your reasoning why >Bruce Evan's work will cause a split to be flawed and technically >imcompetent. I support Evan's work and will do whatever I can to add >to the existing body of PM Minix code. As a matter of perspective one >of our local Minix group here in Orlando, Florida ,Jim Smith, has stated >that he had the least number of problems and glitches patching his version >of Minix with Evan's posting. It has been one of the easiest, if not >the easiest. I agree that Bruce's improvements in interrupt handling are useful and should be included in Dr. Tannenbaum's Minix. I do not believe that Dr. Tannenbaum should be asked to include protected mode support in Minix. Real Minix is a teaching operating system. What Bruce's changes do is create a Minix that is not longer the small teaching system but a step towards a Minix that could be used in place of commercially marketed un*x. >I'm sorry for the tone of my message, but Minix is far larger than you >apparently realize. I would strongly recommend you do more research >and deeper thinking about Minix's future path. I believe that Dr. Tannenbaum has Minix on the correct path. The network is presently creating a new version of Minix, one that the network will have to support by itself. -- Guy Helmer Opinions are mine, all mine.
jca@pnet01.cts.com (John C. Archambeau) (05/31/89)
If you want Minix to be more than it already is, you are going to have to put it in. I commend author the 286 protect mode upgrade kit and its people like that that make Minix more than what it was originally intended for. I have no qualms about Dr. Tanenbaum keeping Minix the way it is for educational purposes, but for those of us that want to make Minix more than an educational tool and experience with operating systems, we're going to have to pitch in to make it a reality. Rather than complaining about what Minix lacks, why not put your head together with people on here on how to make it do what you want? I have kicked around the idea of how to get beyond the 64K code/64K data segment problem and have talked to others about how to get around this, and here's what I have come up with (with help from others). More memory can be accomplished by the following; 1. Shared libraries 2. swapping code segments 3. full swapping 4. virtual memory Each of these has its fruits and varying levels of difficulty to implement. But needless to say that if you want to expand Minix to get beyond its current limitation of programs, you're going to have to put it in. And putting our heads together is the whole idea why these Usenet conferences exist in the first place. I am more than happy to discuss with anybody (as time permits) on ways to improve Minix. But one thing I must say, don't expect Dr. Tanenbaum to do it, he's most likely busy enough as an instructor and can't maintain a wish list of what you want in Minix. If you want something in Minix (as I've been continually stressing in this article), YOU are going to have to make an effort to add it yourself or with help from those of us here. I see the reasoning behind why Minix is designed the way it is and have no intention of defeating that purpose. One last thing that I would like to add here, I would like to additionally commend those who have made contributions to Minix, both Dr. Tanenbaum and those who have written bug fixes, improvements, and/or ports to other machines. JCA UUCP: {nosc ucsd hplabs!hp-sdd}!crash!pnet01!jca ARPA: crash!pnet01!jca@nosc.mil INET: jca@pnet01.cts.com
art@felix.UUCP (Art Dederick) (05/31/89)
In article <16497@louie.udel.EDU> HELMER%SDNET.BITNET@vm1.nodak.edu (Guy Helmer) writes: >I believe that Dr. Tannenbaum has Minix on the correct path. The network >is presently creating a new version of Minix, one that the network will >have to support by itself. And I thought we were getting away from multiple versions of the same OS. How naive I was. I see the AT&T/BSD wars beginning all over again. Flames to /dev/null, intelligent comments to felix!art. Art D.
wbeebe@rtmvax.UUCP (Bill Beebe) (06/01/89)
In article <17779@mimsy.UUCP> jds@mimsy.umd.edu (James da Silva) writes: >I must be even more imcompetent (sic) than Dr. Tanenbaum, as I don't see >your point at all. Could you draw me another picture? > >Seriously, the fact is that it is tricky for a 32-bit kernel to support >16-bit processes. And out of the question for a 16-bit kernel to support >32-bit processes. So what choice do we have? The 16-bit and 32-bit [stuff deleted] >Nit Pick: Bit 21 of the descriptor is not `O', it is `0', as in Undefined. > >Jaime No, the incompetent boob is me, the guy who left his brain on idle while his hands went wild on the keyboard. If I had thought about the the 16- vs 32-bit kernel problems I would have killed the comment, or at least put more thought into it. The points I was trying to make are: 1) once you have 80286 protected mode, you can move up to the 80386 and use the code as-is, assuming that you have the same video, serial, and mass storage devices on an AT architecture machine. You will have to remain in 16-bit mode, and migration to 32-bit will be no trivial matter. But it is not impossible, and is in fact (at least to me) an inviting challenge. 2) it would be nice to have a teaching 32-bit Minix. Why can't we have some say-so in the process? Bruce Evan's work is so good, and Dr. Tanenbaum seemed to slam the door on that work and all it promises. I became very angry at the apparent tone of the message. As for '0' vs 'O', I'm suprised I can type at all, considering my coke-bottle bottom glasses. I'll try to keep my typos to a minimum, or at least not make them in overly obvious areas.
paula@bcsaic.UUCP (Paul Allen) (06/01/89)
I've been watching the discussion regarding the fate of Bruce Evans' protected mode diffs and feel I must comment. We seem to be standing at a crossroads. We can choose either to maintain the IBM version of Minix as a toy operating system, or we can evolve it to support current hardware. The Atari version of Minix was apparently 'real' at the outset, judging by the amount of current Unix software that runs on it. The IBM version is a toy that supports current software either with great difficulty or not at all. I fail to see the value in making the current IBM version of Minix POSIX-compliant, when much of the available POSIX- compatible code out there won't even compile. The ideal of a small, simple operating system for teaching purposes is adequately served by the 1.3 version of PC Minix. The real value of POSIX compatibility will come when there is a 386 version of Minix that can take advantage of it. An adequate stop along the way would be a 286 PM version with a large- model compiler. In my view, the next version of PC Minix should be a 'real' operating system, capable of supporting most current software. While there is certainly a place for a small Minix that fits on antiquated hardware, the strength and vitality of an operating system depend upon the efforts of people like Bruce Evans who are pushing the limits. If we set the limits artificially tight, we will choke off future innovation. I sincerely hope that Dr. Tanenbaum will reconsider his decision not to adopt Bruce's version. Paul Allen -- ------------------------------------------------------------------------ Paul L. Allen | pallen@atc.boeing.com Boeing Advanced Technology Center | ...!uw-beaver!bcsaic!pallen
Leisner.Henr@xerox.com (marty) (06/02/89)
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
henry@utzoo.uucp (Henry Spencer) (06/04/89)
In article <11989@bcsaic.UUCP> paula@bcsaic.UUCP (Paul Allen) writes: >... We can choose either to >maintain the IBM version of Minix as a toy operating system, or >we can evolve it to support current hardware. The Atari version >of Minix was apparently 'real' at the outset... Hey, toy operating systems for toy hardware, real ones for real hardware. :-) Anything with a cpu whose number ends in "86" is a toy. :-) :-) -- You *can* understand sendmail, | Henry Spencer at U of Toronto Zoology but it's not worth it. -Collyer| uunet!attcan!utzoo!henry henry@zoo.toronto.edu
muller@munnari.oz (Paul Muller) (06/04/89)
Firstly I apoligise to anyone offended by the summary line.... I think it is rather inconsiderate to talk about Minix as if it was collectively owned by the netlanders (although much of it would not exist without them and they all deserve credit), Andrew and PH will differ on that point no-doubt about it, though as ast so wonderfully put it, there would appear to be a "fork" in the road after the work of Bruce hit the net. Minix first and foremost is the poor student's teaching OS. It serves its purpose above and beyond the call of duty, and that is the point. If you were a student you wouldn't fancy wading through all those #ifdefs for two days just to find you made a mistake early on in the code and that's why none of what the lecturer is saying fits together. I am a student and find nothing more annoying than conditional compilation, it ruins your day and often clouds the purpose of the code. I am not going to propose anything radical in regards as to what should be done, I will just try and put together some ideas that have floated across the battle table (and try to foresee new ones). The first idea is to KISS. Sounds nice huh? ;-) Seriously, the first thing is to get a standard piece of PC code that will form the kernal (in the larger sense) of the Minix book. Much as it is now. Students can still boot up on the two floppy PCs they have at home and happily hand in work for the teacher with the knowledge that comes from looking at the guts of an OS. 1.4a contains more or less than what is needed to do this. POSIX compliance is probably important from the point of view of teaching the ideas in a real world sense (we can't always patch the C compiler!). The second is the 'upmarket' Minix that everyone seems to think is so important, why? Most people who got into Minix for reasons other than formal education just wanted to 'hack around', you were happy with Minix then, why not now, the old case of "give an inch take a mile" or more "too much of a] good thing" :-) The idea then is to produce a bunch of either, patches or modules (FS,MM,xx_wini,etc) that cater for individual tastes and needs. People can then make up a Minix system to suit them, you could have a file in /etc that would list all options loaded or have an internal table hard coded into Minix that would tell applications if they could use certain features or not at compile (or patch) time. If people are so into the idea of 'real life' Unix, then checkout AT&T, SCO, etc offerings. They produce different BINARIES for each processor they support, most proabably different sources as well. Xenix (tm) 286 won't run 386 code, so why all the hoopla about Minix compatibility? What is needed is some form of arbitration committee to decide what goes in the upmarket version. This should not just rest on ast's shoulders, I prefer he gets more time to write his great books! :-) The whole idea is asking for trouble, but there are sooooo many things that poeple in the Minix user community want/need/loath/despise in minix that can be done on paper but fall done trying to fit in with the 'small is beutiful' model , Virtual memory, windowing, memory model work, swapping and networking just to name a few. I like what Bruce and others are doing for Minix, but the seminal idea of ast's based itself on V7, "because of its simplicity and elegance" and this is foremost in my mind when I hear talk about changing the listing that will appear in the back of the second revision of The Book. What do others feel? The ST was a step in another direction, what do users of ST AND PC (that is people who have used (are using) both) think about the differences in the code/machine? paul
stailey@iris613.gsfc.nasa.gov (Ken Stailey) (06/04/89)
In article <1989Jun4.025012.8674@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: >In article <11989@bcsaic.UUCP> paula@bcsaic.UUCP (Paul Allen) writes: >>... We can choose either to >>maintain the IBM version of Minix as a toy operating system, or >>we can evolve it to support current hardware. The Atari version >>of Minix was apparently 'real' at the outset... > >Hey, toy operating systems for toy hardware, real ones for real hardware. :-) >Anything with a cpu whose number ends in "86" is a toy. :-) :-) This was true up until the 386. Q: What does the 386 call a 32-bit address space? A: a segment. :-) INET stailey@iris613.gsfc.nasa.gov UUCP {sundc ames}!dftsrv!iris613!stailey
jk0@sun.soe.clarkson.edu (Jason Coughlin) (06/05/89)
From article <11989@bcsaic.UUCP>, by paula@bcsaic.UUCP (Paul Allen): > We seem to be standing at a crossroads. We can choose either to > maintain the IBM version of Minix as a toy operating system, or > we can evolve it to support current hardware. The Atari version Pardon me this is NOT a flame, but "we" seem to be saying "WE" a little too often. I think we should all take a small step back and realize that Minix is Dr. Tanenbaums baby - NOT ours. I realize we've all been "guinea pigs" with Minix and we all love it, but still - it's his creation, not ours. What's your vote Dr. Tanenbaum? > ... The Atari version > of Minix was apparently 'real' at the outset, judging by the > amount of current Unix software that runs on it. The IBM version > is a toy that supports current software either with great difficulty > or not at all. But the Atari ST isn't exactly the ideal hardware either :-). > > I sincerely hope that Dr. Tanenbaum will reconsider his > decision not to adopt Bruce's version. (Me too :-) -- Jason Coughlin ( jk0@sun.soe.clarkson.edu , jk0@clutx.BITNET )
jca@pnet01.cts.com (John C. Archambeau) (06/06/89)
Toy? Not really. The 80x86 are bad (especially x > 2). The 80286 is just brain damaged, not a toy really, just a labotomized chip. The 8086 isn't bad with LIM EMS 4.0. You may regard the 80x86 family as a toy, and that is your opinion, but just remember, there are those of us who can and have worked out the brain damaged hardware. Even the best Unix boxes have their problems, the Unisys 7000 is a classic example with its brain damaged floating point instructions. So before you go harping on our 'toys', take a good look at your own hardware first. I have yet to see anything that is perfect when it comes to hardware. JCA /*--------------------------------------------------------------------------* * That's not an operating system, this is an operating system! *--------------------------------------------------------------------------* * UUCP: {nosc ucsd hplabs!hp-sdd}!crash!pnet01!jca * APRA: crash!pnet01!jca@nosc.mil * INET: jca@pnet01.cts.com *--------------------------------------------------------------------------*/ #include <disclaimer.h>
pcm@iwarpj.intel.com (Phil C. Miller) (06/06/89)
In article <216@bilver.UUCP> wbeebe@bilver.UUCP (bill beebe) writes: >In article <2570@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: [stuff about protected mode 286 being left out of future releases of MINIX] [response from Bill Beebe about Andy's comments] >One other thing >you need to think about, Mr. Tanenbaum, and I'll draw a picture to help >illustrate my point. I am embarassed for you that you feel you need to patronize a prominent figure in the field of computer science. [more technocratic discussion] >[...] I find your reasoning why >Bruce Evan's work will cause a split to be flawed and technically >imcompetent. I find your manners to be astonishingly crude. >I'm sorry for the tone of my message, but Minix is far larger than you >apparently realize. I would strongly recommend you do more research >and deeper thinking about Minix's future path. Frankly, YOU are much SMALLER than you apparently realize. It is totally unnecessary to be so abrasive in making your point. Grow up. Phil Miller
wbeebe@rtmvax.UUCP (Bill Beebe) (06/07/89)
In article <4523@omepd.UUCP> pcm@iwarpj.UUCP (Phil C. Miller) writes: >In article <216@bilver.UUCP> wbeebe@bilver.UUCP (bill beebe) writes: > >Frankly, YOU are much SMALLER than you apparently realize. >It is totally unnecessary to be so abrasive in making your point. >Grow up. > > >Phil Miller Mr. Miller, I won't argue the point about my crude display of manners. They were and I have since made a (weak?) attempt at an apology. I'll accept dressing downs where necessary, but it would help to follow conversational threads before forming replies. This small rule applies to all of us. This is a public apology to Dr. Tanenbaum and all others whom I offended with my original message.
des@berlioz (Desmond Young) (06/09/89)
In article <16698@louie.udel.EDU>, Leisner.Henr@xerox.com (marty) writes: > 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. > marty > ARPA: leisner.henr@xerox.com > GV: leisner.henr > NS: martin leisner:wbst139:xerox > UUCP: hplabs!arisia!leisner Well...., I have Phil Karn's TCP-IP (NET) package running under MINIX. But, I have not posted it for the following reasons: 1. Only the original Version 1.000000 software will compile in 64K code, the MINIX compiler is AWFUL. 2. I have written the Ethernet driver for the National Semiconductor DP839EB (Evaluation Board for the DP8390 chipset). 3. The driver, and MINIX is lower performance than I would like. Now, The DP8390 Ethernet Controller is the chip set used in MOST PC cards, that's the good news. For example, the WD Etherplus uses our chipset, later 3com boards do, lots of clones do. In fact the amoeba code with MINIX is written for this set. Now the bad news. Our Eval board uses the two on-board dma channels on the DP8390 to implement remotely-accessed shared memory. The WD board uses dual- ported shared memory. However, it should be even easier to have it talk to our set on the WD card than the EB. I have taken the V1.0 NET package and put it a load of the "BEST" features from some later versions of NET. For example, I have added the rmdir, mkdir, chdir, into FTP. I have also added access permissions, host file address lookup, and so on. So, NET is pretty usefull. I stopped work on it since MINIX was so awful at interrupts it was not possible to write a REALLY high performance driver (I am picky). If anyone is really interested I could give you a copy on a 1.2M floppy. The Ethernet driver could be made to support the 3c500 also. This is the NET packages usual card (but god it is awful). Anyway, many thanks to Phil Karn, KA9q, and other contributors, the package is really great. Almost all the problems I had were MINIX, not NET. Also thanks to Ed Hall, he sent me the V1.0 source he had got working with SLIP under MINIX. One last point, NET effectively polls all servers and clients, so it runs stand-alone on your machine. It does offer multiple sessions, so for example, I run the echo, discard, telnet, mail, and ftp servers, and offer up to four clients when I am running NET. The executable (with debugging) is now about 55+KBytes, so I cannot add much more to it (it really needs the mailer upgrading). Sorry about raving on, Cheers, Des.
des@berlioz (Desmond Young) (06/09/89)
In article <11989@bcsaic.UUCP>, paula@bcsaic.UUCP (Paul Allen) writes: > .... The real > value of POSIX compatibility will come when there is a 386 > version of Minix that can take advantage of it. An adequate > stop along the way would be a 286 PM version with a large- > model compiler. > > I sincerely hope that Dr. Tanenbaum will reconsider his > decision not to adopt Bruce's version. HEAR, HEAR. I do not expect ast to adopt it, but there is no reason why it should not become the defacto standard. Des. -- Reply: des@logic.nsc.com {decwrl,hplabs,sun,pyramid,amdahl}!nsc.com!logic!des Des Young, M/S D3635 National Semiconductor, Santa Clara The light at the end of the tunnel was only a burglar's torch - J.Buffet.