The Original MS-DOS 4.0

From: Douglas Quebbeman <dhquebbeman_at_theestopinalgroup.com>
Date: Fri Jun 30 13:41:10 2000

> 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
Received on Fri Jun 30 2000 - 13:41:10 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:03 BST