[comp.sys.ibm.pc] Dos disk buffering schemes

leisner@arisia.Xerox.COM (Marty Leisner) (01/25/89)

I recently wrote a COFF style libld implementation to unpack TI34010
coff files on ms/dos.

Unpacking symbol tables caused lots of disk thrashing.

I'm using Aztec C 4.1b.  It seems the stdio routines reread the disk sector 
after every fseek.  Fine.

But it seems DOS goes to disk with every read.  What does BUFFERS= do in
config.sys?  It doesn't seem to do much (DOS hits the disk every time it seems).

Running with cache installed on a Compaq 386 indicates  approximately 1 disk
read per symbol.  Doesn't DOS maintain some sorta crude buffer cache?

Puzzled,

Marty Leisner
Xerox Corp.
leisner.henr@xerox.com

nelson@sun.soe.clarkson.edu (Russ Nelson) (01/25/89)

DOS's buffering scheme is only applied to partial sector reads, which stdio
is supposed to *prevent*.  Sounds like you need your own disk cache.
--
--russ (nelson@clutx [.bitnet | .clarkson.edu])
"I saved the whales!" - Rebecca L. Nelson, 3.5 years old, on receiving her
Christmas present of a whale "adoption" certificate.  Bless her liberal heart.

dixon@sagittarius.steinmetz (walt dixon) (01/25/89)

The dos disk caching scheme is not quite what one would expect from a
modern operating system.  The cache is used for fat and directory blocks.
The only time the cache is used for normal file blocks is when a partial
block read/write is performed.  DOS searches the cache sequentially
instead of hashing as well.

Walt Dixon		{arpa:		dixon@ge-crd.com	}
			{us mail:	ge crd			}
			{		po box 8		}
			{		schenectady,  ny 12345	}
			{phone:		518-387-5798		}

standard disclaimers apply

ralf@b.gp.cs.cmu.edu (Ralf Brown) (01/26/89)

In article <579@arisia.Xerox.COM> leisner@arisia.Xerox.COM (Marty Leisner) writes:
}I'm using Aztec C 4.1b.  It seems the stdio routines reread the disk sector 
}after every fseek.  Fine.
}
}But it seems DOS goes to disk with every read.  What does BUFFERS= do in
}config.sys?  It doesn't seem to do much (DOS hits the disk every time it seems).

The buffers are used only for partial-sector reads and writes.  If you read
or write a complete sector, DOS transfers the data directly between the user
buffer and the disk.  Every MS-DOS "C" I've seen uses a buffer size of 512
bytes--exactly one disk sector.
-- 
{harvard,uunet,ucbvax}!b.gp.cs.cmu.edu!ralf -=-=- AT&T: (412)268-3053 (school) 
ARPA: RALF@B.GP.CS.CMU.EDU |"Tolerance means excusing the mistakes others make.
FIDO: Ralf Brown at 129/31 | Tact means not noticing them." --Arthur Schnitzler
BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA -=-=- DISCLAIMER? I claimed something?
-- 

mrwittma@phoenix.Princeton.EDU (Martin R. Wittmann) (01/30/89)

Obviously, disk caching is a problem--- surely some guru has come up
with a reliable public domain/shareware disk caching program???  Can
anyone enlighten me as to where I can find it?  (Email if this is a
stupid Q.)   My PC at work has Lightning disk speed-up software, which
works great, but I don't want to/can't afford to pay for it for my own
PC! 

nelson@sun.soe.clarkson.edu (Russ Nelson) (01/30/89)

   Obviously, disk caching is a problem--- surely some guru has come up
   with a reliable public domain/shareware disk caching program???

An apparently freely copyable disk cache program is available for
anonymous FTP from sun.soe.clarkson.edu, pub/pc/discache.arc.  If
anyone finds out that it isn't freely copyable, please email me.  I
have used it for years and it works for me.
--
--russ (nelson@clutx [.bitnet | .clarkson.edu])
"I saved the whales!" - Rebecca L. Nelson, 3.5 years old, on receiving her
Christmas present of a whale "adoption" certificate.  Bless her liberal heart.

jborza%burgundy@Sun.COM (Jim_Borza) (01/31/89)

In article <5919@phoenix.Princeton.EDU>, mrwittma@phoenix.Princeton.EDU (Martin R. Wittmann) writes:
> Obviously, disk caching is a problem--- surely some guru has come up
> with a reliable public domain/shareware disk caching program???  Can
> anyone enlighten me as to where I can find it?  (Email if this is a
> stupid Q.)   My PC at work has Lightning disk speed-up software, which
> works great, but I don't want to/can't afford to pay for it for my own
> PC! 

PC Magazine published a utility named DCACHE.COM which can be downloaded
from their Interactive Reader Service BBS in either source (.ASM) or
binary (.COM).  Their number is (212) 696-0360.  1200/2400 N,8,1 (Xmodem).

I've used this Cache program and it's pretty good - a write-thru variety
which can be configured for expanded memory (and extended, too, I think).
It also seems pretty safe.  The PC Mag. utilities are not PD but are avail-
able free of charge.  Source is nice to have, too.  If you call them, look
around for the docs for the software.  At least you'll get a reference to
the issue (vol/nmbr) and you can get it from the library.

Jim Borza - Sun Microsystems  Milpitas, CA
Disclaimer?  Sure, why not?

kiy@pte.UUCP (Kevin Young) (02/01/89)

In article <NELSON.89Jan30075823@sun.soe.clarkson.edu> nelson@clutx.clarkson.edu writes:
>An apparently freely copyable disk cache program is available for
>anonymous FTP from ...
>--
>--russ (nelson@clutx [.bitnet | .clarkson.edu])

Would someone (russ?) please e-mail this cache program my way?  We can't
FTP and I could really use this utility.

advTHANKSance!  (ok, ok, so I stole it :-)
Kevin

-- 
>|< Kevin I Young					uunet!edsews!pte!kiy
    Precise Technology & Electronics, Inc.
    Custom Automated Test and Measurement Equipment for Industry
    Clever Saying: "Fail to plan and you plan to fail" - Dr. Robert Scheuller

padgett@inuxd.UUCP (Gary Padgett) (02/03/89)

> In article <NELSON.89Jan30075823@sun.soe.clarkson.edu> nelson@clutx.clarkson.edu writes:
> >An apparently freely copyable disk cache program is available for
> >anonymous FTP from ...
> >--
> >--russ (nelson@clutx [.bitnet | .clarkson.edu])
> 
> Would someone (russ?) please e-mail this cache program my way?  We can't
> FTP and I could really use this utility.
> 
> >|< Kevin I Young					uunet!edsews!pte!kiy

Me too (please?)

-----------------------

Gary Padgett
AT&T Bell Laboratories
Indianapolis, IN
att!inuxd!padgett