[comp.sys.ibm.pc] Hard Drive dir problem

robert4@garfield.UUCP (07/05/87)

Has anyone else had this problem, or does anyone know of a fix or patch (if
that's what's needed) ?
 
Whenever I (or a programme) access a directory for the first time after a cold
boot (after loading dos and executing autoexec.bat, etc.) my hard drive access
indicator light flashes rapidly and steadily for about 5-10 sec and then
produces the results of the dir scan. This ONLY occurs the first time after I
turn the system on OR when using a utility like PCTools (each time it checks
the dir or a path).  And this only seems to happen with DOS 3.2 (I was using
2.11 before this without the problem) and only on the hard drive.  I have asked
some friends (with different PCs and/or hard drives) about this and some have
and others have not had a similar experience.
 
My system:
 
Commodore PC10-II (8088 PC clone; verrrry compatible)
Lapine 20 meg hard drive (half-height, internal)
Tandy 1200 baud infernal (oops! internal) modem
SmartWatch clock/calendar ic
AGA board
2 Panasonic floppy drives
 
All suggestions gratefully accepted.
 
Rob
 
==========================================================================
 robert4@garfield.UUCP              or            R. D. Pitt
 robert4@garfield.MUN.CDN                         Dept. of English
 RPITT@kean.MUN.CDN                               Memorial University
                                                  St. John's, Newfoundland
                                                  Canada           A1C 5S7
==========================================================================

nomad@orstcs.cs.ORST.EDU (07/08/87)

    One problem you might be having is that PC-DOS seems to store 
information internally.  The first time I do a dir on my st238 (30mb)
drives it lists all the files in that dir, then spins the disk for a
while to get the remaining space. (prints the listing, but stops at
the "available" flag and spins until it counts bits I guess).  After
that, it knows so it doesn't rescan at that point.

 All of this is conjecture based on observed delays and in no way
reflects any other information. (In other words, it's all guess work.)

nomad@orstcs
-------------------------
LEE DAMON		FidoNet: 152/201 (The Castle) - (503) 757-8841
nomad@cs.orst.edu	CSnet:  nomad@cs.orst.edu
"Real soon now!"	UUCP :  {hp-pcd,tektronix}!orstcs!nomad

    "I've gone out and I don't think I'm expected back."

norm@mtgzy.UUCP (07/08/87)

Sounds like what happens if I power up my AT&T 6300 if I parked the
heads with the "ship" command on the previous powerdown....

Perhaps your clone parks the heads before disconnecting
linepower?  This would be a valuable feature, but would probably
mean that the line power switch connected power to the pc through
a slightly complicated relay arrangement, and would be an expense
I wouldn't expect in the cheaper clones...

Norm Andrews
AT&T Information Systems
Room MT-2C402
200 Laurel Avenue
Middletown, New Jersey 07748
(201)957-5786
vax135!mtuxo!mtgzy!norm

wales@ucla-cs.UUCP (07/08/87)

In article <3774@garfield.UUCP> robert4@garfield.UUCP writes:

    Whenever I (or a programme) access a directory for the first time
    after a cold boot (after loading dos and executing autoexec.bat,
    etc.) my hard drive access indicator light flashes rapidly and
    steadily for about 5-10 sec and then produces the results of the
    dir scan.

    This ONLY occurs the first time after I turn the system on OR when
    using a utility like PCTools (each time it checks the dir or a
    path).

    And this only seems to happen with DOS 3.2 (I was using 2.11 before
    this without the problem) and only on the hard drive.

I see something similar on my XT clone running DOS 3.1 when I do a DIR
on my 30-Mb disk.

The first time I do a DIR after a reboot, I get a list of the files and
the number of files.  The system then accesses the drive madly for a few
seconds before printing out the number of free bytes on the drive.

I assume what is happening is that the system needs to check the free
block info on the drive in order to tell how much free space there is.
After this has been done once, the data is stored somewhere in the sys-
tem, and presumably incrementally modified as files are created/deleted,
so that subsequent DIR operations don't need to compute the amount of
free space from scratch.

-- Rich Wales // UCLA Computer Science Department // +1 213-825-5683
	3531 Boelter Hall // Los Angeles, California 90024-1596 // USA
	wales@CS.UCLA.EDU   ...!(ucbvax,rutgers)!ucla-cs!wales
"Sir, there is a multilegged creature crawling on your shoulder."

wtm@neoucom.UUCP (07/09/87)

Apologies if the answer is already out on the net, but I haven't
seen the resonse at our site yet.

A long pause upon doing the first "DIR" command on a drive is
usually due to DOS scanning the FAT (file allocation table) to
count the number of secotrs that are used and unused.  You'll note
that the pregnant pause happens just before the line at the end of
the directory listing, "xx FILES nnnnnnn BYTES FREE".

If you have a "BUFFERS = nn" line in your CONFIG.SYS file, the
space available is cached in RAM by DOS, thus subsequent DIR
connands do not require scanning the FAT.

The poster also asked about PCTOOLS and NU.  Both of these programs
look at the fat themselves, keeping their information separate from
what DOS thinks about the disk.

Hope this is of use.
Bill
(wtm@neoucom.UUCP)

jon@amc.UUCP (07/09/87)

In article <3774@garfield.UUCP> robert4@garfield.UUCP writes:
>
>    Whenever I (or a programme) access a directory for the first time
>    after a cold boot (after loading dos and executing autoexec.bat,
>    etc.) my hard drive access indicator light flashes rapidly and
>    steadily for about 5-10 sec and then produces the results of the
>    dir scan.
>
>    This ONLY occurs the first time after I turn the system on OR when
>    using a utility like PCTools (each time it checks the dir or a
>    path).

My system does the same thing, and after poking around I tracked it down
to the BUFFERS= entry in CONFIG.SYS.  It turns out that some clusters are
getting buffered in memory, so that the next time you access the directory
it just looks in memory.  On mine, I can enter an invalid command, and the
disk will whir and I will get an error message, and then if I do it again,
it comes back immediately with an error message.

P.S. If you really want to speed up operations (with a fast hard disk), and
     you can afford the memory, set your buffers to a larger number (I use
     64, and have been tempted to go larger).

-- 
Jon Mandrell, Applied Microsystems Corp., (ihnp4!uw-beaver!tikal!amc!jon)

Jung vs Ze G. jrer tnl?  Jbhyqa'g "Gur N Grnz" gnxr ba n jubyr
qvssrerag zrnavat?

kuo@skatter.UUCP (07/10/87)

In article <3774@garfield.UUCP>, robert4@garfield.UUCP writes:
> Has anyone else had this problem, or does anyone know of a fix or patch (if
> that's what's needed) ?
>  
> Whenever I (or a programme) access a directory for the first time after a cold
> boot (after loading dos and executing autoexec.bat, etc.) my hard drive access
> indicator light flashes rapidly and steadily for about 5-10 sec and then
> produces the results of the dir scan. This ONLY occurs the first time after I
> turn the system on OR when using a utility like PCTools (each time it checks
> the dir or a path).  And this only seems to happen with DOS 3.2 (I was using
> 2.11 before this without the problem) and only on the hard drive. I have asked
> some friends (with different PCs and/or hard drives) about this and some have
> and others have not had a similar experience.
>  

I think it is okay. My 20MB disk does the same after a cold boot or after
access by Norton Utils etc. I think what happens is at that particular time,
the FAT info is not in core, so the system is reading from the disk to see
how much space is used up/free. Some programs might wipe out this part of
memory so a re-read is needed. I am running PC-DOS 3.1 (8-)


... Peter/
-------------------------------------------------------------------------------
Peter Kuo                   | Bitnet (VMS)  : KUO@SASK
Accelerator Laboratory      |
(a.k.a. The Beam Warehouse) | uucp   (Unix) : !alberta\
Univ. of Saskatchewan       |                 !ihnp4  -- !sask!skatter!kuo
Saskatoon, Saskatchewan     |                 !utcsri /
CANADA  S7N 0W0             |
(Earth)                     | Ma Bell       : (306) 966-6059

Disclaimer: I don't know what I am saying, so don't quote me on
	    anything! And I only speak for myself.

jl@fornax.uucp (JL) (07/13/87)

> In article <3774@garfield.UUCP> robert4@garfield.UUCP writes:
> >
       [ Question about why the FIRST acces to a directory after a cold
         boot results in the hard drive being accessed continuously for
         about 5-10 seconds BEFORE the dir listing comes up on the screen.]
> In article Jon Mandrell, Applied Microsystems Corp., (ihnp4!uw-beaver!tikal!amc!jon)

> My system does the same thing, and after poking around I tracked it down
> to the BUFFERS= entry in CONFIG.SYS.  It turns out that some clusters are
> getting buffered in memory, so that the next time you access the directory
> it just looks in memory.  On mine, I can enter an invalid command, and the
> disk will whir and I will get an error message, and then if I do it again,
> it comes back immediately with an error message.
> 
> P.S. If you really want to speed up operations (with a fast hard disk), and
>      you can afford the memory, set your buffers to a larger number (I use
                                  ***********************************

>      64, and have been tempted to go larger).


     RTFM.   :-)

     For example, try pages 4-7 through 4-10 of the IBM PC-DOS
reference manual for ver 3.20

     In particular, note the suggestion above about using very
large buffers.  I quote the following from page 4-9 of the above
cited reference.

          "For most data base applications, a value between 10 and 20
     buffers usually provides the best results.  For subdirectories,
     between 10 and 25 buffers usually provides desirable performance.

          Beyond that point, the system may appear to start
     RUNNING SLOWER [caps are mine].  With a very large number of
     buffers, it can take DOS longer to search all the buffers for
     a record than it would take to read the record from disk."


     ...

          "Since each additional buffer increases the resident size of
     DOS by 528 bytes, the amount of memory available to the application
     is reduced by that amount.  Additional buffers may actually cause
     some applications to run more slowly because there is less memory
     available for the application to keep data.  This could result in
     more frequent reads and writes than would otherwise be necessary."



     Please keep this in mind when you select a BUFFERS size.



-- 
Jay-El