[comp.sys.ibm.pc] Application-level multitasking for DOS

riml@softart.UUCP (Research in Motion Limited) (12/23/87)

<<munch>>

During the development of a product for one of our clients, we 
produced a simple multitasking package that allows an application
under MS/PC-DOS (tm Microsoft, IBM) to spawn multiple tasks.  
There are bi-directional character pipes between tasks.  The
PC's 18.2 Hz interrupt is used to time-slice the processor.
(We also have a routine to speed up the clock if you really need to,
and you don't care about compatibility with other software.)
This package is in the form of a Lattice (tm) C library of routines.
You write your code in C, and then your main program starts up the
multitasker.  Whenever you wish, you may spawn ANY C function that
takes a single integer parameter as a sub-task.  Usually, the parameter is
used to pass a pipe number to the sub-task.  By-the-by, pipe sizes are
dynamically allocated, as are the stack sizes for sub-tasks.

This package has been in use for some 2 years now with no difficulties.
It's not a dead-trivial thing to use, since there are some niceties to
observe when multiple tasks are writing or reading from disk, but we've 
managed to get that going.  

It just seems that this might be a useful little package for others.  
Is there any interest out there?  

Our application, by the way, involves running up to 128 remote devices
on a 125K baud network, and responding to 2 4800 baud serial inputs to
produce signalling information to the 128 devices.  As well, a windowing
interface and multiple copies of an on-line message compiler are all
capable of operating concurrently on a 4.77 MHz XT!

Michael A. Barnstijn,  Research In Motion Limited.
...!watmath!softart!riml
(519) 888-7465 (E.S.T.)

manes@dasys1.UUCP (Steve Manes) (12/26/87)

In article <32@softart.UUCP> riml@softart.UUCP (Research in Motion Limited) writes:
>During the development of a product for one of our clients, we 
>produced a simple multitasking package that allows an application
>under MS/PC-DOS (tm Microsoft, IBM) to spawn multiple tasks.  
>It just seems that this might be a useful little package for others.  
>Is there any interest out there?  

Yes!  There is a great deal of interest from this author.  I'd like to hear
more details about your library, especially how well it would work for
multi-tasking processes over up to 8 serial ports (with a Digiboard or
equivalent) and whether or not it would allow shared (program) text amongst
the tasks (not critical but it would impress me even more if it does).

I have an application that would be an ideal demo for a DOS multitasker and
which is already set-up for the necessary file record locking (from a UNIX
port).  At your convenience, please leave me UUCP mail either at the
addresses in the .signature or at 'dasys1' with details about the package,
cost, licensing restrictions, etc.  Alternatively, you could call the BBS
number and see what it is I want to use it for.  Thanks.

-- 
+-----------------------------------------------------------------------
+ Steve Manes         Roxy Recorders, Inc.                 NYC
+ decvax!philabs!cmcl2!hombre!magpie!manes       Magpie BBS: 212-420-0527
+ uunet!iuvax!bsu-cs!zoo-hq!magpie!manes              300/1200/2400