bob@grebyn.UUCP (04/15/87)
Well, I've gotten the executable files and had a chance to play. I am, in a word, disappointed. The basic problem is that the thing is too closely tied to the hardware. There's no good reason to bypass the BIOS for everything. Specifically, MINIX goes straight to the screen. This is fine, when you do it right. But MINIX doesn't, so MONO and EGA screens get garbaged in odd ways. The right way is to call the BIOS to set modes, set cursor scan start and end, etc, and then and only then - when you know exactly what adapter you're dealing with - write directly to the screen memory after checking for vert or horiz scan. Keyboard handling is also bad, due to arbitrary assumptions and a too-low-level interface tied to assumed hardware. After reading the book three times, I have formed the opinion that Tanenbaum knows less about DOS than he will admit. He is just plain wrong about many things (like his statement that DOS does a physical write of a disk block whenever you add even 1 char to it), and academically snobby / vague about others. Due to this low-level implementation, you can't use any of the thousands of DOS device drivers (like for my Bernoulli box, my custom clock chip, etc). I'm not impressed by a so-called operating system that has to be recompiled to move from my XT to my XT + Bernoulli system. What to do? I have scoped the effort needed to convert MINIX to something useful viv-a-vis the rest of the PC world. This includes supporting DOS device drivers first and foremost, and handling the screen right so my EGA doesn't spend half it's life blanked out, and supporting ASYNC ports, etc. Add all of this up and you're talking an awful lot of work. Is it worth doing? I don't think so. What do I gain once I've fixed it up? A minimal UNIX, with more overhead than useful features. Weigh the plusses against the minuses, and in my opinion it's not worth spending any more hours on MINIX. It's neat as a teaching tool (if you take lots of the DOS stuff with a grain of salt), but I've got real work to do. I'll stick with DOS. - Bob Baumann -- Robert A. Baumann, CCP, CDP {decuac, seismo}!grebyn!bob Computerwise Consulting Services bob@grebyn.com P. O. Box 813 bob%grebyn.com@seismo.css.gov McLean, VA 22101 (703)-280-2809
go@orstcs.UUCP (04/16/87)
In response bob@grebyn.com: >/* ---------- "First Impressions of Minix" ---------- */ >Well, I've gotten the executable files and had a chance to play. I >am, in a word, disappointed. > >The basic problem is that the thing is too closely tied to the >hardware. There's no good reason to bypass the BIOS for everything. Yes there is!! If you want a multitasking system to work correctly, you need drivers that support multiple threads. All DOS drivers are simple-minded. For example, the only form of low-level call to a disk driver, loops waiting for the disk interrupt. It's surprising they even *used* an interrupt the way MS/PC-DOS is structured, but that's the way it is. This mess MUST change when Microsoft/etc. finally come out with multi-user/tasking systems, but for now, the "DOS" model is what we have -- device calls don't return until done. I thought Tanenbaum was quite specific on that point. >Specifically, MINIX goes straight to the screen. This is fine, when >you do it right. But MINIX doesn't, so MONO and EGA screens get >garbaged in odd ways. The right way is to call the BIOS to set modes, >set cursor scan start and end, etc, and then and only then - when you >know exactly what adapter you're dealing with - write directly to the >screen memory after checking for vert or horiz scan. I'll grant you two-points on this one. However, the DOS method of communicating to the character mode devices is still rather primative -- it uses software to scroll things rather than the hardware that is on-board. Unfortunately, the only "standard" model is to use the first nk as character+attributes and you scroll it yourself. Minix tries hard to be more efficient here, relying upon the "definition" that IBM developed, but was "improved" by numerous other vendors of display controllers. Hence, incompatibility. > >Keyboard handling is also bad, due to arbitrary assumptions and a >too-low-level interface tied to assumed hardware. I's a simple driver. The ATT Un*x world suffered this stupid don't-know-how-to-erase-tabs model for a long time (until the last few years). Besides, the "too-low-level" interface is the driver. Replace the driver for another system, and you will make it work. But (again) Tanenbaum tells why Minix cannot use BIOS. >After reading the book three times, I have formed the opinion that >Tanenbaum knows less about DOS than he will admit. He is just plain >wrong about many things (like his statement that DOS does a physical >write of a disk block whenever you add even 1 char to it), and >academically snobby / vague about others. > >Due to this low-level implementation, you can't use any of the >thousands of DOS device drivers (like for my Bernoulli box, my custom >clock chip, etc). I'm not impressed by a so-called operating system >that has to be recompiled to move from my XT to my XT + Bernoulli >system. My original comment still stands. The forefathers of MS/PC-DOS did not develop a model that encouraged driver development for Un*x/Minix type systems. In the MS_DOS world, the "driver" is nearly always *on* the circuit board for that device (I'm speaking of disk drivers here.) Other drivers are loadable, but the "system" device driver has to be there at boot time. Consequently, we're stuck with basically polling-type interfaces. So, someone develop loadable device drivers! Minix comes a darn sight closer to making that possible (with drivers as separate processes). That should be "easy" compared to a "real" Un*x system. (By the way, when you bought your Bernoulli, did you buy one that allows booting or simply running? You see, even with DOS it's not enough to simply have a "driver".) >What to do? I have scoped the effort needed to convert MINIX to >something useful viv-a-vis the rest of the PC world. This includes >supporting DOS device drivers first and foremost, and handling the >screen right so my EGA doesn't spend half it's life blanked out, and >supporting ASYNC ports, etc. Add all of this up and you're talking an >awful lot of work. > >Is it worth doing? I don't think so. What do I gain once I've fixed >it up? A minimal UNIX, with more overhead than useful features. I agree. I don't think it's wise to base something like Minix (or Un*x) on such a stupid architectur. We can only hope that the developers see the light on the next generation (i.e. 386) machines. There destined to become another "standard" so let them do it right. I also agree about Minix vs. DOS. I use DOS all day at work for "real" software development. But when I come home, I rejoice for having a real operating system to play with. I haven't had this much fun in years. > >Weigh the plusses against the minuses, and in my opinion it's not >worth spending any more hours on MINIX. It's neat as a teaching tool >(if you take lots of the DOS stuff with a grain of salt), but I've got >real work to do. I'll stick with DOS. The one "MAJOR MAJOR" thing Minix has over Dos (in my opinion) is that it shows a significant effort went into "DESIGN". A word I think too many software developers don't know how to spell. > > - Bob Baumann >-- >Robert A. Baumann, CCP, CDP {decuac, seismo}!grebyn!bob >Computerwise Consulting Services bob@grebyn.com >P. O. Box 813 bob%grebyn.com@seismo.css.gov >McLean, VA 22101 (703)-280-2809 Sorry for the tirade, but I REALLY appreciate what Andy and his "crew" have done. I felt that one sour note should be countered by a more upbeat one. Gary Oliver, CCP ...!hplabs!hp-pcd!orstcs!go (until they pull my plug)
cavender@drivax.UUCP (04/16/87)
In article <288@grebyn.COM> bob@grebyn.COM (Robert A. Baumann) writes: >Well, I've gotten the executable files and had a chance to play. I >am, in a word, disappointed. OK so far. In reading the accompanying textbook "Operating Systems: Design and Implementation" I've learned quite a bit about design considerations and compromises made by AST to keep things simple. Even though I haven't received the disks yet, I know quite a lot about what to expect from the system when it does arrive. I'm looking forward to studying Minix and tinkering with it. I'm not planning on receiving a production multitasking system, with uucp, or X windows, etc. for $80. >The basic problem is that the thing is too closely tied to the >hardware. There's no good reason to bypass the BIOS for everything. Hold on. Here comes trouble. There's at least one good reason to bypass the BIOS for everything, and boy is it GOOD. Minix is a multitasking system, while the BIOS is simply polled about most operations. Yes, interrupts are used in a few places, but those interrupts are not communicated to a higher level than the BIOS itself. If you used the BIOS for the keyboard, for instance, the keypresses are buffered up by the BIOS, and you would not be able to interrupt an application any better than you can under MS-DOS, which is a real problem. >Specifically, MINIX goes straight to the screen. This is fine, when >you do it right. But MINIX doesn't, so MONO and EGA screens get >garbaged in odd ways. ... The correct solution here is not "Use the BIOS" but "Write a more correct video driver". It's been done before. There's no mystical power the BIOS has that can't be duplicated in a real device driver for an MT system. ... >Due to this low-level implementation, you can't use any of the >thousands of DOS device drivers (like for my Bernoulli box, my custom >clock chip, etc). I'm not impressed by a so-called operating system >that has to be recompiled to move from my XT to my XT + Bernoulli >system. The same problem with the BIOS applies to loadable device drivers written for MS-DOS. Yes, I know that they have a "strategy" entry point and an "interrupt" entry point, but they still haven't been designed or built for an MT system. >What to do? I have scoped the effort needed to convert MINIX to >something useful viv-a-vis the rest of the PC world. This includes >supporting DOS device drivers first and foremost, and handling the ... ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ good luck ... >Weigh the plusses against the minuses, and in my opinion it's not >worth spending any more hours on MINIX. It's neat as a teaching tool >(if you take lots of the DOS stuff with a grain of salt), but I've got >real work to do. I'll stick with DOS. OK, fine. > - Bob Baumann >-- >Robert A. Baumann, CCP, CDP {decuac, seismo}!grebyn!bob -- Steve Cavender Digital Research, Inc.|(My opinions. You can't have them.) USENET: cavender@drivax.UUCP |"The size of the FAT for a 128 giga- Telex: 9102406616 TAG SEMI SEA UQ |byte disk is unpleasant to contem- EasyLink: 62211010 |plate." -- Andrew S. Tanenbaum
vizard@dartvax.UUCP (04/17/87)
In article <505100007@orstcs>, go@orstcs.cs.ORST.EDU writes: > In response bob@grebyn.com: > >/* ---------- "First Impressions of Minix" ---------- */ > >Well, I've gotten the executable files and had a chance to play. I > >am, in a word, disappointed. .... text deleted > >Is it worth doing? I don't think so. What do I gain once I've fixed > >it up? A minimal UNIX, with more overhead than useful features. > The one "MAJOR MAJOR" thing Minix has over Dos (in my opinion) is > that it shows a significant effort went into "DESIGN". A word I > think too many software developers don't know how to spell. > Sorry for the tirade, but I REALLY appreciate what Andy and his > "crew" have done. I felt that one sour note should be countered by > a more upbeat one. O.K. Time for my two-cents... True, for my birthday, I'd like a VAX-785 running 4.3BSD, but it's not going to happen. MINIX is an affordable UN*X alternitive. It is also designed as a teaching aide. I've learned quite a bit about both MINIX and UN*X and op-sys's in general by playing with it. It may not be as great a developement tool as MooSe-DOS, but it's much more enjoyable to use, and I can hack the sources. Cheers for Andy for the learning experience, and for my work/research I'll continue to use the 785 my employer provides. Todd Krein vizard@dartvax
mhorne@tekfdi.UUCP (04/19/87)
[] In a previous article, Bob Baumann (bob@grebyn.COM) writes... >The basic problem is that the thing is too closely tied to the >hardware. There's no good reason to bypass the BIOS for everything. Sorry, Bob, but UNIX (or minix) was never meant to live on top of an existing operating system. Have you ever looked at the sources for Sys V or 4.X? They are tied very closely to the hardware because they ARE the operating system for the target system they are on. Come on, Bob, the BIOS was meant for MS-DOS and nothing else. >Due to this low-level implementation, you can't use any of the >thousands of DOS device drivers (like for my Bernoulli box, my custom >clock chip, etc). I'm not impressed by a so-called operating system >that has to be recompiled to move from my XT to my XT + Bernoulli >system. Bob, when you add a new device and/or device driver to an existing UNIX (or clone thereof) kernal, you have to re-make the kernal. Usually this does NOT entail recompiling the whole OS, but rather just compiling the new driver source and the existing object files for the parts of the OS that aren't affected by the new driver. It is a fairly simple process (re-making the OS, not writing the driver!). What you want is a good OS which is as simple minded as MesSDOS but powerful enough to sport things like multi-tasking, multi-user, mind-reading, etc. Sorry, Bob, that time hasn't quite come yet. >Weigh the plusses against the minuses, and in my opinion it's not >worth spending any more hours on MINIX. It's neat as a teaching tool >(if you take lots of the DOS stuff with a grain of salt), but I've got >real work to do. I'll stick with DOS. > > - Bob Baumann >Robert A. Baumann, CCP, CDP {decuac, seismo}!grebyn!bob Translation -- "I want it all, but I am not willing to expend any money/time. I want to be able to plug it in and it works, regardless of what I want it to do." Bob, you are a user. I don't think you have a feel for what is really involved in an OS. You say you have read the book 3 times, but I still don't think you have learned what is really involved, and what minix was meant to be. Hopefully you will be content in your MesSDOS world... - MTH (My opinions, not Tek's) -- --------------------------------------------------------------------------- Michael Horne - KA7AXD UUCP: tektronix!tekfdi!honda!mhorne FDI group, Tektronix, Incorporated ARPA: mhorne@honda.fdi.tek.com Day: (503) 627-1666 HAMNET: ka7axd@k7ifg
tim@sunybcs.UUCP (Timothy Thomas) (04/19/87)
In article <893@tekfdi.TEK.COM> mhorne@honda.fdi.tek.com (Mike Horne) writes: ... >Bob, you are a user. The ultimate insult!!!
djfiander@watmath.UUCP (04/19/87)
In article <893@tekfdi.TEK.COM> mhorne@honda.fdi.tek.com (Mike Horne) writes: >Bob, when you add a new device and/or device driver to an existing UNIX >(or clone thereof) kernal, you have to re-make the kernal. Usually this >does NOT entail recompiling the whole OS, but rather just compiling the >new driver source and the existing object files for the parts of the OS >that aren't affected by the new driver. It is a fairly simple process >(re-making the OS, not writing the driver!). What you want is a good OS >which is as simple minded as MesSDOS but powerful enough to sport things >like multi-tasking, multi-user, mind-reading, etc. Sorry, Bob, that time >hasn't quite come yet. Why does an operating system have to be simple-minded to support dynamically loaded device drivers? I have a friend who owns a tandy CoCo running OS-9, A multi-user, multi-tasking OS running in 64K of physical memory on a Motorola 6809 which supports all the standard Unix System calls. If he wants to read an MSDos diskette he loads a disk driver which understands that format (without having to reboot, let alone relink), sticks in the disk, and reads it. When he is finished, he unloads the driver. This is the way drivers should work as far as I'm concerned. -- "Are you police officers?" "No ma'am, we're musicians." - The Blues Brothers UUCP : {allegra,ihnp4,decvax,utzoo,clyde}!watmath!djfiander CSNET : djfiander%watmath@waterloo.CSNET
stuart@bms-at.UUCP (Stuart D. Gathman) (04/24/87)
In article <12904@watmath.UUCP>, djfiander@watmath.UUCP writes: > to read an MSDos diskette he loads a disk driver which understands that format > (without having to reboot, let alone relink), sticks in the disk, and reads it. > When he is finished, he unloads the driver. This is the way drivers should work > as far as I'm concerned. This is in fact the way it does work in MINIX! Try the dosread and doswrite commands. -- Stuart D. Gathman <..!seismo!dgis!bms-at!stuart>