[comp.sys.ibm.pc] LONG

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!).
---