[comp.sys.ibm.pc] Multi-tasking in DOS ?

jakubowi@acsu.buffalo.edu (oleg jakubowicz) (07/19/90)

Does anyone know if there is any way that one can write assembly code (or DOS commands ?) 
to utilize the CPU for other tasks while waiting for block transfers (waiting either during the disk seek
and/or inter-block waits for a disk controller with a cache).

I suppose UNIX on the PC does this. (But how can I tell UNIX to do it from within a C program?)

My purpose is to use about 20 MegByte of data on the hard disk, with about 2 or 4 MB ram.
The program will continually be reading data. But data transfers from the hard disk are typically 
only a few hundred kilobytes/sec.  This seems to mean the ISA bus and a 386 CPU will not be very busy.
I would like to keep them busy with other tasks inbetween (I assume 512 byte) blocks of the 20 MB (cached) transfer.

Am I on the right track?