daleske@cbdkc1.UUCP ( John Daleske x4335 3E296 RAA) (12/18/85)
[This note was prepared for posting to the fledgling, flopping net.os and is place here for lack of a better home. We can move it to whatever place ends up being the home for this type of discussion. Note that I did NOT cross-post to net.unix or net.unix-wizards as those places appear to be homes for zealots. Note that I am presenting these as my own views and am not intending this to be interpreted as representing my employer nor the corporation to which I am currently consulting.] A lot of "my OS is best" statements fly around. Relatively objective discussions occur infrequently. Comparisons between more than a couple OSs becomes difficult for a number of reasons. - One's work generally tends to settle toward one environment. - Experience (read "prejudices, opinions, etc.") is built over time. The OS you once hated (read "MVS, VS1, etc." :-) ) likely has evolved somewhat and possibly is now better than it was ten years ago. - Benchmarks of OSs are difficult to compare. Benchmarks often enhance particular features beneficial to one type of OS. - Operating Systems are intended for certain environments. You wouldn't want to do real-time applications on a batch system would you? 1. "OS-9 is just UNIX under a different name" (or is it?) I recently heard the statement: "If there is a feature of an operating system you want, there is likely a version of UNIX around that supports that feature." (paraphrased) The context of the statement was basically that I stated in response to the question "What is OS-9 good for?" that OS-9 is good for and much used in real-time processing applications, OS-9 is ROM-able, OS-9 is useful in environments with limited resources (small RAM, diskless, etc.). The retort was the above paraphrased statement and mention of UNIX versions which were ROM-able (HP-UNIX?), small (mini-UNIX), and real-time (?). In my head I had prepared the retort: "But then, are they "really" UNIX?!" with a big a-hah! and told you so! and so's your sister! "Do you REALLY want to have five hundred different versions, each with its own extensions floating around?" Instead I reconsidered and said "Uh huh." and left with a big question mark resting on the cloud of thought floating above me. Indeed, OS-9 is an off-spring of what UNIX was in the late 1970s with a completely different implementation. Reference the following statement: UNIX: An operating system similar to OS-9, but with less functionality and special features designed to soak up excess memory, disk space and CPU time on large, expensive computers. -- OS-9/68000 Operating System Users Manual In a sense, yes, OS-9 and UNIX are just different implementations of the same general concepts. Applications can be ported between UNIX and OS-9 with about the same difficulty as between the major implementations of UNIX (System V, 4.xBSD, System III). One major deficit in OS-9 is in the shell. Sure, shells could also be ported or new shells developed for OS-9, but comparing standard sh, csh, and the standard OS-9 shell shows a major increase in functionality in sh and csh. "Standard UNIX versus Standard OS-9" Which IS best? Both and neither. Each is best in certain applications. Personally, I like the shells on standard UNIX (though, in reality, I'm using ksh, which is NOT (yet) standard) and I LOVE the modularity of the OS-9 implementation. Ok, so now I'd like to see a reasonably objective discussion of OS-9 and UNIX-like systems. Pick and other OS users feel free to throw in your two cents. I'll go home this weekend and write up a beginning discussion of features for OS-9 versus UNIX. Let's see some activity! -- -- [NOTE: No one else would WANT to claim these statements!] -- John Daleske at AT&T Bell Laboratories, Columbus, Ohio. 614-860-4335 UUCP: {ihnp4,cbosgd,desoto}!cbdkc1!daleske __________________________________ "Now," said the butterfly, "look closer and tell me what you see." "I see a tiny horse with wings upon its back" said Flutterby. "Why that's me I see! But what am I?" "You are you. Just as I am me!" said the wise old butterfly. "Nothing more, nothing less."
berger@datacube.UUCP (12/24/85)
We are an industrial user of os9 ourselves. We do all our development under unix and cross compile to target prom based 68000's running os9. This is a very nice hybrid! Since most of our work is in controlling image processing hardware (frame buffers, real time signal processing boards, etc) Its nice having a target environment that does not have layers of memory management and protection. Besides not hiding the hardware too much, OS9 has nice support for C run-time. A rather complete stdio library (though I wish they would implement SVID!), a shell (we use it just to start applications, maybe Microware could port ksh or csh..), and a symbolic debugger. On the other hand, I would feel very cramped if I was forced to use OS9 as a development system. OS9 would be a better development environment than something like MS-DOS or CP/M, but does not have anywhere near the richness of Unix. I think the statement of OS9 being where unix was in the early 70's is quite valid. Its elegant and simple, but it lacks the richness and robustness of a modern unix. The one feature it does have over unix though, is dynamic linking of memory modules and super romablity. The dynamic linking feature allows the user to create function libraries that can be romed. For instance, microware supplies the standard io library in this form. You link only the hooks in your application code, then at runtime, your application code is linked to the standard i/o library. Thus your executables don't all need redundant copies of the stdio or math library. The user can also create custom libraries as well. Executable modules do not need to know absolute starting locations as well. You can prom an executable module and put it at arbitrary addresses. OS9 figures out where things are at startup and the executables resolve globals and such at run time. This is very convienent for building custom systems. OS9 automatically supports the initialization of static memory at runtime as well. All in all this makes a lovely target prom environment! Microware is constantly upgrading their C compiler. Their main C guy is on the ANSI C committe and they plan to meet the ANSI C specs. The things I would wish for are: * An SVID compatability library. OS9 uses completly non unix "ioctl" calls for controling terminals, etc (Its not even called ioctl) * Official support of device drivers being written in C. (We worked it out so we do it anyway. It would nice to have some more official support (documentation) * Networking that linked to Unix (TCP/IP, NFS, etc) * A real high level "C" symbolic debugger (dbx?) * Windows standards (This is not an os9 problem but an industry wide problem!) * Official Microware support of other hosts. They currently only support Vaxen (VMS and Unix). I'd like to see IBM PC's (Not because I like them, just because they are all over the place!). Sun's and Apolo's, etc. (We've got it on our Pyramid but that was a special) Bob Berger Datacube Inc. 4 Dearborn Rd. Peabody, Ma 01960 617-535-6644 ihnp4!datacube!berger decvax!cca!mirror!datacube!berger {mit-eddie,cyb0vax}!mirror!datacube!berger