Chuck(G)
25k Member
Calculating free space on a disk when you're running in real 16-bit mode is going to take time, even if you're running on a Pentium. FAT32 for large disks only really became practical when it could be done as a 32-bit task.
At a straight DOS prompt, the behavior is 100% predictable. If you run programs that issue DOS function calls that perform absolute reads/writes (INT 25h/26h), or anything else DOS feels may have modified anything outside of its control, DOS marks the free space variable as "dirty" and it is recalculated the next time it is needed. So, this is common:
DIR (slow)
DIR (fast)
DIR (fast)
...
DIR (fast)
CHKDSK C:
DIR (slow)
Calculating free space on a disk when you're running in real 16-bit mode is going to take time, even if you're running on a Pentium.
If you're not seeing a delay the first time you run DIR, then you must not be on an 8088 system running DOS 4 or later with a full FAT16 filesystem (ie. 2G, 1G, 512M, 256M, 128M all use up nearly the entire full FAT16 capacity, differing only by cluster size). Any FAT12 filesystem does not have this problem (32M or less); also, 286s and later don't have this problem.