[comp.os.minix] overlapped disk i/o

ddl@husc6.UUCP (02/22/87)

	With all the discussion of how you can't use the PC BIOS because
it can only handle one disk operation at a time, has anyone noticed that
the MINIX file system process runs single-threaded for normal file requests?
(This is actually mentioned in the book several times.)  Since the file
system process blocks waiting for each disk driver transaction to complete,
only one process can use the file system at a time.  So, even if you have
more than one flavor of disk controller, it would seem that only one can be
active at any instant.  In fact, the disk driver itself operates only in
a serial manor, never reordering queued requests to optimize arm movement.
The justification for the latter is the claim that only one process is
likely to be active (disk-wise) on a personal computer.
	The interesting question is: assuming you care only about the
former case, how hard might it be to run multiple instances of the file
system process, all reading from the same request queue?  Alternately, it
might be easier to make the file system run multi-threaded for all requests.
The code is already there to handle these cases for pipe and tty i/o.  Has
anyone thought about this?

					Dan Lanciani
					ddl@harvard.*