MTASK
$29.95

MTASK
is a true preemptive multitasking kernel for
MS-DOS. It is one of the building blocks of many products. Its
strength and power lay in its simplicity. It is extremely easy to integrate into
an application.
Full source code for the multitasking kernel is provide. As
such you can learn the intricacies of writing a preemptive multitasker if you
are so inclined. Of course we have the libraries and TSRs pre-built so you can
get working right away.
MTASK can execute any
desired function or subroutine in the background. That is, through several
different threads of execution. The application programmer need not worry about
MS-DOS, BIOS, disk contention, and any of the standard DOS re-entrancy problems.
MTASK has the ability to multitask several TSRs along with several
independent threads within an application at the same time. All tasks can
communicate among each other.
The MTASK kernel can be linked into
an application to allow several preemptive threads of execution in that one
MSDOS application. It may also be used in TSR form allowing one instance to
support several multithreaded TSRs along with a multithreaded application.
MTASK includes a monitor utility
that displays information on each running thread. It may be used to evaluate the
state of independently running multitasking TSRs.

Figure 1
MTASK has both a command line interface and an
application program interface. The MTASK TSR can be loaded and unloaded
from within the user's application program. This makes interfacing to the TSR
completely transparent to the application user.
MTASK provides real intertask communication(ITC). A task
can block until it receives its ITC message. Tasks can sleep for a specified
period of time or indefinitely until awaken by some other task.
MTASK's API has the following functions
-
Create a task.
-
Put a task to sleep.
-
Wakeup a task.
-
Send a message to a task (Blocking & Non-blocking).
-
Receive a message from a task(Blocking & Non-blocking).
-
Change task's time slice.
-
Get task's information.
-
Release remainder of time slice.
-
Start/Stop multitasking (Atomic code execution).
MTASK is ideal for applications that must perform tasks
asynchronously. Some examples are
-
Displaying a real time clock in application.
-
Downloading a file while doing something else.
-
Any application that needs background processing
enhancements.
|