tucker@urbsdc.Urbana.Gould.COM (06/27/88)
Does anyone in netland own a copy of SCO Xenix or Microport UNIX for a "286" AT? I'd like to know if you are happy with it. I'm thinking about getting a UNIX port for my AT, but the only reviews I've found in magazines are for the new 386 versions of Xenix. I would also be interested in the quality of compiler tools and the number of bugs in the product in general. Both these products support MS-DOS 8086 emulation modes. Any comments on how well the emulation works? Tim Tucker ..ihnp4!uiucdcs!urbsdc!tucker (UUCP) tucker@xenurus.Gould.COM (Milnet)
hedrick@athos.rutgers.edu (Charles Hedrick) (06/29/88)
>Does anyone in netland own a copy of SCO Xenix or Microport UNIX for >a "286" AT? I'd like to know if you are happy with it. I've got Microport Unix for the PC/AT. Whether it's acceptable depends upon what you want. It's a very vanilla System V release 2. Documentation is pretty much straight ATT. They've added csh and more, which are probably the most visible Berkeley utilities, but of course being SVr2, the csh doesn't have job control. They also added a menu-based system administrator's tool, though I haven't tried it. (There's essentially no system administration if you are running it as a single user PC. Besides, real Unix system programmers don't use menus.) It's pretty much like a very small Unix timesharing system, not a workstation. That is, everything you expect to find on a Unix-based workstation is missing: no window system, not even any graphics (though you do have access in a fairly clean way to the bitmapped memory, so if you want to do things yourself you can -- and somebody recently posted some graphics routines). About the only thing they do that you can't do on a glass TTY is support multiple virtual consoles (ALT F1 through ALT F4 switch you between 4 screens, each of which is treated by the system as a completely separate device -- this is a very useful feature). There are some performance problems. In particular if you want to hook into the usenet you're probably going to be disappointed. The problem is that the async support doesn't have good performance. You can't have multiple high-speed lines. People have slightly different experiences, so it's not clear exactly what the limit is, but everybody agrees that there is trouble doing uucp on several 9600 baud lines at once. Some people find that there is trouble doing it on even one line. But the problem in evaluating these reports is that people use a variety of different terminal controller cards, so it's never quite clear whether problems are in the kernel or just that it can't handle 100 different brands of almost-compatible peripherals. There are also problems with disks that have more sectors on a track than the original AT disks, with multiple disk drives in certain configurations, etc. The async lines tend to hang when unexpected things happen (like you have dialed out to another machine and carrier drops). If your disks are supported and you don't make heavy demands on the async lines, it seems fairly reliable. However before you sink lots of money into Unix for the AT, you may want to consider whether you're ever going to be happy with it. Lots of newer Unix software won't run on a 286, and probably never will. Of the stuff you see on the sources groups, a lot of it will work. But anything window-oriented, Gnu Emacs, and various other software that makes a modern Unix system more interesting than a PDP-11 10 years ago, won't work. New software tends to assume 32-bit words and a large contiguous address space. Also, System V release 2 doesn't have the facilities to support a window system. I can't say enough bad about System Vr2. Aside from the fact that it doesn't have pty's (which makes a window system essentially impossible), doesn't have select (which makes a lot of software trying to do interesting things with the async lines impossible to write), and doesn't have job control (though with the Korn shell, you can sort of fake it), the file system is incredibly slow. Simply starting a 300Kbyte program feels like it takes forever. Of course typical micro disks win no prizes for speed, but MS-DOS starts programs far faster with the same disk. (All these things are fixed in Berkeley Unix, by the way. It's a shame that people judge Unix based on System V rather than BSD or the Bell Labs research versions. MS-DOS might not be dominating the world if Xenix and Microport had been based on a decent Unix. This stuff will probably also be fixed in System V release 4, if you like futures.) My guess is that System V release 3 will never be done for the 286. If you want a Unix system just so you can play with the traditional Unix tools, e.g. C, awk, nroff, etc., you'll find that Microport SV/AT (and probably also SCO Xenix) is a huge amount of useful software for the money. But if you are expecting something like a Sun, a VAXstation, or a Mac II with AUX, you'll be badly disappointed. It's not just slower. You can't do workstation-ish things at all. From the point of view of somebody who is involved in that world, SV/AT is like going back into history 10 years. The 386 seems to have a lot more future. The newer software will work on it, and window systems are available for it. The C compiler isn't bad. I haven't seen any bad code generated yet. However it's incredibly slow compared to Microsoft C for MS-DOS, and the optimizer blows up on about 5 to 10% of the modules I've tried it on. (This isn't so terrible. You just compile those modules unoptimized.) The linker is also incredibly slow. The utilities and other software seem generally reliable. Except if you use floating point. I don't, so I'm just depending upon bug reports from others. But based on the messages I see, any serious use of floating point will make the system crash or the program coredump (depending upon whether you use floating point hardware or not). Also, they have two different malloc's, both of which are buggy. The old one mostly works. Now and then with big programs it claims there is no memory when there is. Its main problem is performance. Any program that does lots of mallocs (e.g. microemacs or Jove) causes a huge amount of swapping, which slows things down enormously. The new malloc coredumps for every program I've tried. Fortunately, I have a malloc that works, and doesn't cause swapping. I've posted it in the past, and will mail it to people who need it. I can make few comparisons with Xenix, as I haven't used it much. Frankly, I wish I hadn't bought an AT. I'm not sure quite what I wish I had gotten, but this isn't it. I'm less vehement about Microport. Possibly SCO would have been better, but my main frustration is with the 286. I've used the MS-DOS compatibility stuff a little bit. It seems to work. Some cavaets: - the MS-DOS stuff will only work with a machine that is *very* compatible with the AT. It's quite possible to have a machine that will run Unix but not MS-DOS under Unix. This is because switching from protected to real mode isn't something that most hardware vendors expected you to want to do. The major vendors now seem to have fixes, but you may need new BIOS ROM's, fixes to the keyboard, etc., depending upon the age and manufacturer of your machine. - the process of installing it the first time is very interesting, to say the least. The instructions are right, but I misunderstood them the first time, and it took me days to make it work. Given what is going on, it would be hard to come up with a simpler way of doing things. - you can only run one MS-DOS program at a time - async I/O is very slow, because it has to switch modes for every interrupt, and that is typically slow (though it depends upon your hardware). My terminal emulator ocasionally drops characters at 2400 baud, though Microport says that with some hardware you can get 2400 baud reliably if absolutely nothing else is going on on your machine. - there is no support for memory above 640K from MS-DOS. - if your MS-DOS program goes into protected mode, you lose. The last two restrictions mean in effect that your program has to be one that would run on an 8086. Other than that, it's fairly transparent. After all, it effectively gives MS-DOS complete control of the hardware when DOS is scheduled to run. There are hacks so that MS-DOS can access your Unix disks and visa versa. They seem to work. You have to have a copy of MS-DOS, preferably version 3.2.
tif@cpe.UUCP (07/01/88)
Written 11:21 pm Jun 28, 1988 by athos.rutgers.edu!hedrick >>Does anyone in netland own a copy of SCO Xenix or Microport UNIX for >>a "286" AT? I'd like to know if you are happy with it. >I've got Microport Unix for the PC/AT. Whether it's acceptable >depends upon what you want. It's a very vanilla System V release 2. >It's pretty much like a very small Unix timesharing system, >not a workstation. That is, everything you expect to find on a >Unix-based workstation is missing: no window system, not even any >graphics (though you do have access in a fairly clean way to the >bitmapped memory, so if you want to do things yourself you can -- and >somebody recently posted some graphics routines). About the only >thing they do that you can't do on a glass TTY is support multiple >virtual consoles (ALT F1 through ALT F4 switch you between 4 screens, >... [lots of negative comments] Rather one-sided negative SCO XENIX doesn't have most of the problems mentioned here. Realistically it isn't a workstation (i.e. graphics) but it does Unix SVR2 plus some berklyisms pretty well. In my opinion, at this point, anyone running DOS under *nix is silly (lets get a car and drive it on two wheels instead of getting a motor-cycle in the first place!). I have a real machine (386) at work but I'd be plenty happy to have a SCO Xenix on an AT at home. Paul Chamberlain Computer Product Engineering, Tandy Corp. ihnp4!sys1!cpe!tif