Well, I never heared about the version you are
refering to, but
DOS was basicly starting from 2.0 able to do task switching.
All Informations necersary where contained within a series of
structures with a single root. The only missing thing was a
table of task pointers to switch between - and a service to
store and restore the screen content. There have been several
products offering this service. And with DOS 4 MS supplied the
infamous shell, capable of doing this. You could load several
applications and switch via a hot key combination. Windows is
still today (at least Win9x) based on this very same mechanism
for context switching. Also the functions for 'background'
applications/drivers where designed to support application
switching. The famous TSR mechanism was not only ment to steal
some memory for crude interrupt handlers, but also for true
serviceprovider tasks within the OS ... well, I guess most
programmers never realized the potential offered and kept
limited to a simple one programm state of mind.
All this was already available starting with DOS 2.x, just
it has never been 'official' until DOS 4.x
I'd have to differ with you a bit on this. A co-worker and I
spent 6 months writing a DOS 2.0-compatible file system for
our own application which contained its own home-rolled
multitasker; we had to write the file system because the
DOS file system calls were (and through at least 3.3) were
not serially-reentrant. Even then, the performance was so
poor (we had just moved to deploying on iAPX286 machines)
that we ditched the full-task model and created what we
today would call "threads", although we simply called them
lightweight processes back then.
The context switching you're referring to revolves around
switching some data structures, such as the file handle
table; but you have to wait until a file system call is
done before you can swap to the next task. Not useful
when (like us) you're developing real-time software.
As an aside, this was for the last firm for which I worked
as a programmer; I left in '90, and dropped in for a visit
in '95; at that time, they told me the system I'd designed
was running in a DOS box under the Alpha-release of Win95
and was beating a comparable application running on a VAX.
I felt very good that day...
-doug q