From: atetewsky@draper.com (Avram K Tetewsky)
Newsgroups: comp.realtime,comp.os.misc
Subject: Re: Real-time OS for PC's (long 5 pages)
Date: 12 Jan 93 21:06:37 GMT
Organization: Charles Stark Draper Laboratory (Draper Lab)
X-Xxmessage-Id: <A7789DE727015014@akt1487.draper.com>
X-Xxdate: Tue, 12 Jan 93 16:10:15 GMT
X-Useragent: Nuntius v1.1.1d9


Summary Questions:
==================
In the IBM compatible market for RTOS systems, Based on my survey that I
have conducted below the, issues for the IBM compatible market are:

       1) who has the best third-party and/or vendor library support for
doing  simple Character Interfaces and in the future GUI interfaces so
that an operator can interact with controller and/or instrumentation
data-logging applications (our area of interest).   I.E., I don't want to
re-invent the wheel when it comes to building display and user interfaces.
       

       2) ease of use and good documentation for the RTOS development
system, and the RTOS structures for creating and synchronizing threads. 
[Based on the internet responses so far, one builds a histogram of likes
and dislikes  -- I see a number of pro-and-con answers for the systems
such as IRMX I,II, and III.  I have not seen too many others yet for the
other players.]  We intend to purchase 1 year support and to take a
training course -- and this probably helps in terms of support --
although I could be very wrong.

       3)  reliable track record  -- bug free kernels etc...., good
compilers, and tools.


        4) Who will let you boot DOS temporarily (or run DOS first) so
you can run hardware utils  such as Norton, Gibson etc.... to keep the
lap-top/lunch-box hardware in top condition.


I am trying to select an RTOS system for an IBM 486 compatible, and I
want to find out what other users have experiences with products such 
as: OS-9000, IRMX for Windows, QNX, Ready-Systems Velocity VRTX, Embedded
 DOS, Lynx-OS   etc.....when they tried to use these products with regard
to the 4 main issues stated above.




   
As soon as I can collate what information I have gathered into 
electronic form, I will post the results with a validity date. 
Unfortunately, I will only have experience in using one of the systems,
so the rest of the information will be "vendor fill-ins". 


Outline of the remainder of this file:
=================================

    Problem Summary

    Feature Table I have asked vendors to fill out.


Problem Summary
-------------------
For a 

386/387 or 486DX 66Mhz Portable (IBM DOS 5.0 compatible hardware & ISA
BUS), 
A/D and DSP card,  (total generating data between min of 10hz max of
100hz via 
interrupts), 
32 bit memory usage
ISA bus with dual DMA controllers
Hard-Disk
PCMIA memory card (type II, solid state hard-disk)
VGA display
optional 1553 BUS card.

I want to select and then purchase a development system by mid Jan 1993
(need quotes and info ASAP).   I would like quotes on  RTOS based systems
(such as VRTX, pSOS, 
OS-9000 type products) for ANSI C code,  or if I select Ada, Ada with the
ability to call 
C.  [C is the preference, but I am willing to seriously entertain Ada
systems].
On the next page is a feature table, along with fill-in columns, for you
to respond to 
with price, availability and misc notes.  I will also want a few
references.
In terms of the final program we want to build, I would like to be able
to RUN both 
DOS and or window utilities as well as the RTOS program on the target PC.
 For 
example, Gibson's SPINWRITE ,Norton Utils, Procomm etc... might be good 
examples.  After running the utilities, we will then invoke the RTOS
based program we 
build off of the same hard-disk (partitions if needed). That program will
run under 
operator control.  Our to be developed application will basically use an
A/D card to collect 
data (between 10 and 100hz), and an optional DSP card may be there to
help pre-process 
the data.  Either the A/D or DSP card generates 10 to 100hz interrupts
that the PC 
(386/387 or 486) system then gets.  The 386/387 or 486 processor does
some further 
DSP and control algorithms, puts up either an VT-100 ANSI display (or
possibly a 
graphic display if we have enough horsepower). An operator can issue
either simple 
keyboard commands (such as enable/disable logging, sensor monitoring
commands via a 
simple command language) or use a track-ball and GUI if we have the
speed.  Data will 
also be logged to disk/or memory at 10 to 50hz rates @16 bits binary
(about 1 to 5M total 
or 100 bytes per second max), and operator commands may also be logged (1
fast file 
and several slow files are written). [If we are under 10hz logging rate,
we can probably 
write to disk, above that rate, we may write to a huge RAM disk and save
at the end of 
the program].  After the program has run, we would eventually like to
recover the non-
DOS files and bring them back to DOS for post-proceesing (read the files
from the non-
DOS partition, if partitions are needed for the file system).


Many RTOS systems now support file-IO on PC compatibles used as embedded 
targets, so I will be especially interested in this area of your product.
 I have noticed that 
many products either have their own GUI librarires, use X or Motif, or
DDE to Windows 
in Standard Mode.  Finally, we note that we want to develop on DOS
systems, in fact, 
the target and host may be the same 486 DX 66Mhz type system.  Our table
of questions 
is shown on the next page.

12-17-92  9:20AM modified for internet release
items: want to select and order system by mid Jan 93 that has:

1) RTOS that can run on IBM Compatible hardware with minimal or no new 
device drivers: 486DX (has coprocessor), ISA bus, IBM compatible hard-
disks, 32 bit memory, FPU and MMU.

1.1 RTOS real-time OS, interrupts (save CPU and co-processor states), 
semaphores scheduling  etc...non-blocking  IO
1.2 shell out and call DOS apps (option) 
1.2.1) dual boot if needed: I want to run Norton Utilities,
       Gibson Spinwrite etc..., then invoke the RTOS application
       so I need to know how your system does it.  Some systems let
       you boot DOS, then invoke the RTOS kernel.  Others require
       dual-boot. 
1.3 get files between partitions from DOS.
1.4 DOS based development tools that target similar hardware

1.4.1 compiler (DOS to RTOS) ANSI C or Ada.32 bit mode.debuggers, 
LINT,loaders other tools..profilers, flowcharts (MMCAD) tools for 
example
ability to run RTOS application from
   ROM, or, disk support DOS partition so that standard utils can 
function

2.0) yours or 3rd party libraries
that are at least non-blocking and maybe re-entrant  y=important,  
y a) ANSI VT-100 terminal display library  
y b) string parsing, & keyword parse  
y c) file IO (C or Ada standard if Ada)  
y d) Graphics Libraries (VGA)
  e) Windows like libraries 
       or DDE to windows -- Windows in what mode?
y f) if Ada, Math Library
  g) Matrix/Vector Libraries
  h) DSP libraries (FIR, polyphase FIR,
     IIR, FFT fixed and floating point)
y i) libraries for a MIL1553 BUS (found on airplanes) card
     (collect GPS/INS Nav Data)
  j) modem protocols, kermit, (future)
  k) fax library. (future)
y libraries & needed drivers for
    fast disk logging
    serial ports
    parallel ports
    dma's

3.0) Training Course (1 week):
  cover basic tools and also should include examples/homeworks that in 
one program show simple int service with background user input and 
simple display task, 32 bit memory all working together.

4.0) Charge for drivers for new DOS hardware
    sample source code 
5.0) contract time for you to write
6.0) RUN-TIME ROYALTY up to 50

From:    Avram K. Tetewsky, Draper Lab,
             555 Technology Sq MS7C,  Cambridge Ma  02139
              atetewsky@draper.com  or akt1487@draper.com
              5 min ans machine 617-258-1287 or fax 617-258-4444
Newsgroups: comp.realtime