madd@bu-cs.BU.EDU (Jim Frost) (04/02/89)
In article <13449@steinmetz.ge.com> davidsen@crdos1.UUCP (bill davidsen) writes: |In article <8029@chinet.chi.il.us> randy@chinet.chi.il.us (Randy Suess) writes: |However, having clarified the |situation, I thought that OS/2 was a multi-tasking o/s. Since the BIOS |routines seem to stop the CPU while i/o takes place, does OS/2 *really* |use them? No wonder it's slower than UNIX, the CPU is waiting most of |the time... OS/2 cannot make use of a blocking BIOS, which is the normal one in PC's. There are two simple approaches to getting around this: the first is to put in a non-blocking BIOS (in addition to the normal one) and the second is to specially code for the hardware, preferably by writing a lot of drivers which are loaded in at boot time so you can do configurations. It's likely that different vendors do it different ways. I haven't been following PCs enough lately to say which way (if either) is more common. As for speed comparisons, they differ depending on what tests you do. Disk accesses tend to be about equal; OS/2 has a simpler filesystem but UNIX is better designed. If anyone is using the Berkeley fast file system, I believe that UNIX would consistently outperform OS/2, but I haven't seen such tests. The UNIX filesystem is also considerably more robust, especially using Berkeley FFS. Except for a complete hard-disk loss (low-level format or tossing the disk out), I have yet to loose a file under UNIX. fsck is pretty good at putting disks back together, more so with human intervention. In memory management OS/2 looses badly to UNIX. Once OS/2 starts paging, execution as we know it stops. This is in comparison to UNIX where you often have 50% or more overload without problems. If your UNIX uses a better memory management scheme than generic System V does, UNIX wins even larger. I haven't seen anything besides SunOS on the 386i that does very good memory management, but on that machine I habitually overload by 60-90% with no apparent loss of performance. OS/2's dynamic linking helps in the memory area but some UNIX's (such as SunOS) also have this feature. In terms of security, UNIX wins hands down. Under OS/2 there is no such thing. UNIX isn't terribly secure most of the time, but some is better than none. In terms of reliability, UNIX usually wins. This depends on version and often some portions of UNIX's aren't too reliable (eg high-speed serial support), but in general UNIX is more reliable just because it's been there awhile. Your results may vary depending on application. The biggest problem with UNIX on the PC is there is no single version. Different versions came from different sources and perform (pardon my repetitiveness) differently. I've used XENIX, plain System V, System V with Berkeley enhancements, and SunOS (Berkeley with enhancements, basically). The latter performs the best of all of them (easily outperforming OS/2), but most of them outperformed OS/2 once any real load developed. I honestly believe that OS/2 will be much of a disappointment. It is just starting to make an impact on 80286 machines even though the 80386 hs been out for awhile and the 80486 will be out Real Soon Now. UNIX can run on the 80286 (however painfully), runs nicely on the 80386, there are packages to allow execution of MS-DOS programs under it (at least on 80386's, to say nothing of RISC workstations like the Silicon Graphics Personal Iris), and will be running on the 80486 before those machines are even publicly available. Worse for OS/2, IBM seems to be moving to support UNIX from the higher-end PS/2's straight to the 3090's instead of pushing OS/2 as the OS for the PS/2 as many people expected. As a developer I'd invest the time and money into UNIX applications which can run on anything from the PC to the Cray, not on OS/2 with its limited user base and hardware. Flipping through UNIX rags, I see more and more PC application vendors doing just this. The next five years will be interesting, I bet. jim frost Associative Design Technology madd@bu-it.bu.edu