Hi,

On Wed, Aug 14, 2024 at 5:46 AM tom ehlert via Freedos-user
<freedos-user@lists.sourceforge.net> wrote:
>
> Hallo Herr Trevor Campbell via Freedos-user,
>
> am Mittwoch, 14. August 2024 um 01:10 schrieben Sie:
>
> > I have Freedos installed on 8086 hardware using an SD Card with a 1Gb 
> > FAT-16 partition.
> (I have so far been unable to get a FAT-32 partition to work)

So the FAT32 kernels don't boot on 8086 for you?? Have you tested
older (e.g. 2041) kernels? Surely some should work. (Actually, maybe
it's a BIOS issue.)

> > After boot the first time I run a `DIR` command e.g.
> > The directory list returns quickly, but the number of bytes free takes 
> > another 30 seconds to appear.
> > Subsequent `DIR` commands return immediately whether in the same directory 
> > or elsewhere.

A large 1 GB FAT16 partition is somewhat wasteful due to cluster size
being 16 kb, IIRC. For my use, a lot of stuff is backup .ZIP files,
hence data that is secondary and not actively used. So it's probably
better to use two smaller FAT16 partitions (8 kb clusters?), each
roughly 500 MB or smaller. (With a lot of files, wasting 16 kb for a
simple 100-byte file is ridiculous and adds up.)

In particular, if you say it takes 30 secs., I would blindly hope a
partition half that size would take only half as long to calculate.

I have some very small and simple ASM code that calculates free space
(8086, int 21h 36h) and another (386, FAT32 with LFNs, int 21h 7303h).
Feel free to ask for it (public domain).

But you're saying it's not the slow DIV instruction (to get decimal
output) holding things up. If that were the holdup, you could just
output hexadecimal (no slow DIV needed).

> That's something in the design of DOS/FAT.
> When the machine boots, it doesn't know the amount of free clusters on the 
> disk.
>
> When asked about free disk space, it has to read the entire FAT and count the 
> number of unused clusters.
> And it does so one sector of FAT data after he next sector. that's no problem 
> on a FAT16 drive with at most
> 256 sectors in the FAT, but can be a problem for large FAT32 drives.
>
> After this first time, DOS remembers the number of free clusters and keeps 
> track of them over
> creat, write, delete operation so it is much faster.

Doesn't FAT32 already keep the amount of free space stored somewhere?
No slow calculation at bootup needed.


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to