mattern@ma.ecn.purdue.edu (Duane L Mattern) (05/10/87)
The following is a LONG summary of replies that I received concerning real time operating systesm and specifically QNX. Thanks to every- one that replied. I hope you don't mind my paraphrasing....:-) There was an article in the May 1985 PC Tech Journal about 6 UNIX or UNIX-like Contenders for the XT that I found interesting. My conclusion,....I'm going to look into VRTX from Hunter and Ready, and AMX86, but I've probably already decided to get QNX......Duane --- PARAPHRASED SUMMARY QNX >From: Brian C. Anderson <castillo@media-lab.media.mit.edu> >Organization: MIT Media Lab, Cambridge MA QNX is a multi-tasking, multi-user OS that runs on the 8088, 8086 and 80286 family of PCs and compatibles. It is a UN*X look-alike, not a system V port or anything like that. Quantum is VERY good about fixing bugs and talking about technical matters. This OS is quite fast for a PC and is capable of doing multitasking on several computers over a net; processor communicating over a network using supplied synchronization primitives. If you want to build something from the ground up on a PC and want to get the most out of it for a multi-user application I think this is one of the best alternatives around. --- >From: cy@ashtate.UUCP (Cy Shuster) >Summary: See 4/28 PC Week >Organization: Ashton-Tate, Torrance, CA See the April 28 issue of PC Week for an article on Un*x and Un*x-like systems for the PC. The developer of QNX: Quantum Software Systems, Ltd. --- >From: uwvax!prairie!dan (Dan Frank) ATT: (608) 255-0002 (home) >ARPA: dan@db.wisc.edu (608) 262-4196 (office) >Organization: Prairie Computing, Madison, Wisconsin >SNAILMAIL: 1802 Keyes Ave. Madison, WI 53711-2006 I have been involved with QNX for several years. It is a multi-tasking, message-passing operating system for the PC, AT, and various clones, including the HP Vectra computers. Quantum is owned by the authors of the operating system, which gives it a nice technical flavor. Support includes an on-line update service available to all customers. QNX is not enough like Unix for it to be easy to port common Unix software such as news (there's no uucp, anyway). It is excellent, however, for the development of semi-real time multitasking software. I have personally been involved in the development of three applications a multi-user marketing package for an auto dealership (console and 1 terminal), a multi-user dial-in bulletin board system (eight-port board, and three or four modems), and a large network serving as a patient data management system for a hospital critical care unit ( 32 nodes, most XT at the bedside and two AT running the central database software). Because of the message passing architecture of the OS, the network configuration is very natural and transparent. The nodes are linked by a 3 Mb. arcnet, which is physically an amorphous coax network, but logically a ring. Applications do not need to be written specifically for the network, and may work locally or over the net without any changes. It is also possible to add new kinds of file systems without access to kernel code. A DOS file system administrator task is available, which allows QNX applications to access DOS files as if they were QNX files. Again, no rewriting is necessary. New hardware devices may be added in a similar way, without relinking the kernel. The programming environment includes a full-screen editor, C compiler, linker, make, yacc and lex (I think), and a full-screen interactive debugger. Mail and appointment scheduling software is available, as is a wide area network service that allows mail and file transfer and access to MCI Mail, Telex, and other datacomm services. On the AT and compatibles, QNX runs in protected mode, allowing access to up to 16Mb. of memory. Commercial software for QNX includes the Zim entity-relationship database system, which is quite good, and various spreadsheets and vertical market packages. You can reach Quantum over the net at: user@14K2AB.DAS.NET (if you have automatic uucp routing a la smail) I think this address will work:...sun!daslink!dasnet!14K2AB.DAS.NET!user Mailing address and telephone: Attn: Bill Flowers, Quantum Software Systems, Ltd. 215 Stafford Road, Unit 104 Ottawa, Ontario, K2H 9C1 (613) 726-1893. >Does QNX run on top of MS-DOS?? No. But MS-DOS will run as a task under QNX, and QNX can read and write MS-DOS file systems (including hard disk partitions) as easily as its own. It's pretty slick. >Do you need special libraries and/or compilers to run under QNX?? QNX comes with a C compiler and lots of libraries. >Is there some type of "termcap" for different types of terminals ?? Yes. There is something called `tcap'. You fill out a full-screen form to register a terminal. It supports color and function keys. It also knows if the terminal is a console and uses a direct-to-video- memory shared library that has blinding speed, even on an XT. tcap has features to support line drawing, bar graphs, and automatic bounce-bar menus. It's quite a bit richer than termcap in that respect. --- >From datanguay%watdaisy.waterloo.edu@relay.cs.net David Tanguay I'm using QNX on a PC-AT (286) at work. It is not a Unix look-alike. It is more like Thoth. It does have a strong Unix influence (it is a modern operating system, after all). I have version 3.05, in beta release, and I'm having a hard time getting the DOS interface to work (DOS is run as a process under QNX). This problem is expected by the QNX people (they give plenty of warnings that it might not work, depending on exactly which BIOS you have), so it will probably be fixed soon (they claim it works in the previous version with DOS <= 3.0). QNX has a good design base, and according to the documentation it looks like it would be nice to use in a network, but there are still several rough edges (the shell is probably the least developed utility in QNX, but it is still comparable to DOSEDIT in quality). It has a full multi-processing kernel, and uses message passing (send, receive, reply) for inter-process communication. I haven't used their C compiler enough to criticize it, but it seems like a very good K&R implementation. You might want to look into Waterloo Microsystems' Port system. It has excellent networking capabilities, and is highly developed (i.e., debugged and polished). It is a mouse based system, with lots of menus and icons. It is also a multi-process message passing system. I'm not too fond of it (I don't like the mouse/menu philosophy too much), but several other people around here like it very much. If you have any (more specific) questions about either system, email me and I'll try to get answers. Both systems are outgrowths of the multi-processing work being done here at U of Waterloo, and there are several people I could contact about Port, and one or two who might be familiar with the QNX people and their system. I have a new version of DOS (3.2) on the AT (protected mode) and I haven't yet figured out how to do this. So far, I've just used QNX to play around with (it is nicer than DOS). The QNX people (Quantum) are currently working on QNX operating on a 286 in protected mode, so I would think that they are looking forward to a 386. I have one serial port on my machine and I can use a QNX utility to talk to our local area network. I have glanced over the network documentation, and it looks as if networking is reasonably well done. Files are just prefixed with a node, in much the same fashion as DOS handles disks. E.g. [14]3:/user accesses the /user directory (or maybe file) on disk 3 of node 14. The nodes are numbers and not names (:-(). QNX looks like a good networking OS, but some reports I've read suggest that it might be too slow for critical real-time applications. If you're interested in building heating and water flows, it would be okay, but I don't think it would be so great for a high-speed manufacturing application, based on a couple of articles I've read in (???) PC World and BYTE maybe). I don't know what software is available for QNX (other than the basic system and a C compiler). --- >From: tektronix!tessi!atelabs!cds@ucbvax.berkeley.edu (Dave Shanks) >Org: AT&E Laboratories, Beaverton, OR 97006 (503) 690-2000 A group here is using AMX86 which was created by Kadak of Vancouver, BC. --- >From: gardner@kodak.UUCP (dick gardner) Phone: (716) 477-1002 Summary: Some other RTOS's Keywords: MTOS, pSOS, VRTX, QNX Organization: Eastman Kodak Co, Rochester, NY I'm presently investigating several other RTOS's for the PC. My efforts are presently centered on VRTX from Hunter & Ready (now Ready Systems?), mainly because their file structure is completely DOS-compatible. You can't tell a VRTX file from a DOS file, and DOS can run as a task under VRTX. VRTX is well-documented, well-written, quite complex, and VERY, VERY expensive. It cost ~$16K for a full-featured development package consisting of 5 copies. It is meant to be embedded and invisible in a product of some kind. It's not an interactive environment, though. When you start VRTX, it takes the machine over completely and you have available only what YOU wrote, no DOS services, since the VRTX IO manager must handle everything and you would probably be in big trouble if you tried to use BIOS calls and VRTX did a task switch. I'm trying to interface a special communications board to run under VRTX, and it is not easy, despite all the documentation available. MTOS is another RTOS with a version to run on a PC. It is reasonably- priced (about $500 - single copy), and very powerful. It can handle multi-processing. I chose not to use it for our application because it uses a proprietary file structure. All MTOS files have to be translated to be read by DOS. Industrial Programming Inc. does provide a utility to do that. pSOS is from Software Components Group. They have a full-featured RTOS for 68K machines, but their '86 family flavor is quite new, and requires a lot of work on the part of the user. They are working on this product and expect to have it up-graded by Fall. All of the above RTOS's provide multi-tasking on a PC, but they do NOT cooperate very well with DOS. The applications engineers, will not even discuss running DOS applications under their RTOS. They all say, and rightfully so, that many DOS programs were not written to be used in a multi-tasking situation, and are 'badly-behaved'. The reasons why developers did this have been discussed at length. I guess the moral is: be careful and don't expect too much. I have just ordered a copy of QNX from Quantam software. The Development version is about $650 US and includes a C compiler. A Basic compiler is available also. Other utilities available are: full-screen editor, full - screen appointment scheduler, and ISAM file manager. One big feature is their network ability - they can provide hardware and software to network PC's and several peripherals together at a reasonable price. They offer electronic mail system and teleconferencing also. I am looking forward to getting this package because it is UNIX-like - that is, it puts you in an interactive mode of operation. You can run programs in the background while you continue doing other things - just what I'm looking for. --- >From: jl42#@ANDREW.CMU.EDU (Jay Mathew Libove) >UUCP: ...!{seismo, ucbvax, harvard}!andrew.cmu.edu!jl42# When you say "real-time" Operating Systems, are you including Unix derivatives like Xenix? If so, then I recommend looking in to IBM Xenix Sys V v2.0 and SCO Xenix SysV/286 v2.2 and MicroPort (dunno what version) - all of these are limited to 80286 (or higher!) machines, and all function at least well; the newer SCO and especially the 80386 Xenixes function incredibly! I run SCO Xenix SysV/286 v2.1.3 on an IBM PC/AT -very- happily :-) Well, I don't know how well ANYTHING on AT's will work linked together in a heavy use environment; the machines just aren't that powerful. As far as SCO Xenix - cost is approx $1200 per single machine, 8 user license; site licenses I don't know about. Networking - no problem; hard wire them together and as fast as they can talk (due to hardware limitations) is as fast as they will talk - the SCO Kernel 2.2 apparently can handle communication much better than my own 2.1.3 - and it does a nice job at 9600 baud. You can hook up terminals to serial ports, and have a bunch of ttys - so multi user multi task is no problem - no virtual memory unfortunately, but put in the full 16 megabytes of linear memory that is supported by the AT and watch it blaze! You might also consider 80386 machines - they do have virtual memory, and from what I have heard about the -already available- Xenix 386's they can serve your application (hardware premium - approx $4000 extra per workstation, software premium, approx $400 extra per license, but maybe site licensing will help there). --- From: ihnp4!sun!aeras!grinch!luis (Luis Chanu) Organization: Textural Software, San Jose, CA. I have QNX (version 1.14), and am having problems with installation. The documentation is not good at all, and their compiler compiles Basic, C, and Fortran... With ONE program (compiler) doing all that (which is ONE disk), I am wondering how compaitable and powerful it is. Because of all these problems (or complications), I am now looking at anther software product... It's name of it is PC-MOS/386 . It allows, depending on which version you get, up to 25 users. From what they are saying, it is made for the 386, but I it might be able to work with the 286.. I don't know.. It's made by The Software Link - Same people who wrote LanLink.... In case you want more info, their number is (800) 451-LINK. I found their ad on Page 38 of PC World's, May, 1987 Prices: Single User = $195.00 Five User = $595.00 Twenty-five User = $995.00 --- From amdahl!drivax!alexande@sun.com (Mark Alexander) To: amdahl!sun!ma.ecn.purdue.edu!mattern@sun.com Organization: Bob-ist Temple of Monterey Just for your info, Concurrent CP/M does not exist any more. It has been improved greatly in the last 3 years, and is now called Concurrent DOS 86. It is essentially CCPM with DOS compatibility thrown in. It will run DOS programs and can read/write DOS media. CP/M compatibility is still there, but that's just gravy. I can't comment as a user, though. I still use DOS on my PC at home, even though I work for Digital Research. The reason is that you need at least 512K RAM to do lots of multitasking, and I only have 256K. DRI also makes a protected mode operating system for ATs, called Concurrent DOS-286. This is a new operating system, not based on CCPM and its derivatives. It's more oriented towards process control, and DOS compatibility is more limited (because of the protected mode). This OS makes more sense for real-time control than Concurrent DOS 86; it has quite a few more features for that sort of application. The protected mode also means you aren't quite so i limited in available memory. IBM uses this operating system in its new generation of cash registers; other folks use it in industrial automation and instruments. There is a 68K version and a 186 version, and a 386 version in the works. Portability between processors is very easy to achieve on this OS, in my experience. Disclaimer: I work for DRI, so everything in this message is totally biased. --- From fluke!mason@sun.com (Nick Mason) Organization: John Fluke Mfg. Co., Inc., Everett, WA iRMX as I have seen it runs as a stand alone operating system and you may only be able to do developement on your PC. It does use the intel processors but I don't think it is compatible with MS-DOS. COncurrent CP/M is more multitasking not real-time. I would recommend looking at VRTX from Hunter and Ready. There is a board that goes into the PC, and supports many languages. It also runs on most of the major processors, so if you write in C, for example, you could port the whole system to a motorola or National chip in the future. --- From: rlr@astro.as.utexas.edu (Randy Ricklefs) I just got a write-up from Digital Research on FlexOS, which is there new real-time o/s. Concurrent DOS was multi-tasking, but not real-time. I have not seen or played with this system, but it sounds good. We have people here who have used iRMX-86 on the honest-to-God Intel boxes (non-IBM-compatible pc's w/o a monitor) and the reviews are mixed. It eats a lot of memory and is complex, although that is not necessarily bad if it gets your job done. MicroWay has an IBM-PC version of iRMX available under the name RTOS-86. --- >Path: ames!rutgers!mtune!akgua!dcatla!ittfb (Thomas F. Blakely) >Organization: DCA Inc., Alpharetta, GA QNX it's not Unix, but it shares _some_ features. If you're used to the Bourne shell on System 3, you should feel quite at home. It is multi-tasking, message passing, networked, small and fast, just like the ads say. I've been using QNX (on and off) for about 4 years now, through several releases. It's clean and tight - it does what the doc says it does, and it's relatively hard to crash (unless you let your pointers run wild a lot). I haven't used the network version, but they tell me it works fine and they haven't lied to me yet. QNX has its own OS kernel and file system. It _will_ run most MS-DOS programs (with an optional software package) by running MS-DOS as a task under QNX. What they have done is implement a virtual IBM PC under QNX. You can run exactly one of these on each machine, and can run QNX tasks in background (or stop DOS, run some QNX task, and restart DOS). You have several virtual consoles available, so moving from QNX to DOS (and v.v.) is very simple (via "hot key"). Of course you can have QNX terminals running during all of this, too. The fact that they implemented a virtual IBM PC means that if your machine will run QNX, it will run MS-DOS programs under QNX that might not run on your machine under MS-DOS (if, for example, your machine is not a "close compatible). I haven't verified this, since I have only used QNX on IBMs or clones. >Do you need special libraries and/or compilers to run under QNX?? They provide a very nice C compiler with QNX. I've seen it criticized because it only supports the small (64k data, 64k code) model and because it has a couple of extensions to K&R. In practice, I have found neither of these to be limitations in writing some fairly large applications or in porting to and from either Unix or DOS. The support for shared libraries (I wish Unix had this!) and tight code, in addition to a very usable message passing mechanism makes the program size limitations almost insignificant. Also, there is a ficility to index off the 8086/8 extra-segment register, which allows use of more than 64k of data, at the cost of portability. The provided libraries have good support for QNX features and reasonable adherance to what you expect from a C library. I don't know where they stand with the proposed ANSI C standards. You can get BASIC, Pascal, and, I think, FORTRAN as well. These all use the same back-end (code generator and linker) as the C compiler, so the library is common to all, and routines can be shared. >Is there some type of "termcap" for different types of terminals ?? There is indeed, but you have to write entries for all but the console and a (very) few others. The "standard" QNX editor (which I like a lot) will run on any terminal you can write a termcap entry for (I wrote one for my Hazeltine 1520, so it can be done and the terminal doesn't have to be _real_ smart). There's a word processor and database and all of the usual type stuff available. Communications support (even terminal emulation - again you program the features you want) is standard. Print spooling, install able device drivers, low-level screen support, an on-line help facility, shell escapes from most programs, buffered I/O, disk caching, ram disk, what else would you like to know. Oh yes, it runs in as little as 256K with a single floppy (2 to be usable). It requires a separate partition on a hard disk (easy to do) and can boot from floppy or hard disk (you select). It reads and writes the DOS partition. I have a 20 meg hard disk with a 16 meg DOS partition and the rest for QNX. My DOS partition is getting full, my QNX partition is half empty after 2 years. Part of this is that I use DOS more heavily, but part of it is the size of QNX programs vs. that of DOS programs. QNX executables are unbelievably small. The entire system, including the C compiler and some optional software is less than 1 meg. QNX ain't UN*X. But for a pc, it's a much better OS than either Unix or DOS. If only it were more popular and cheaper $650, ouch!). ---