Hi,
thank you for these important informations referring to zoo.
But: A teacher would say: You have missed the point, I have to give you the worst grade for it.
Reason: The comments will not create a bugfix packet. I am sure that the old version of zoo will be in FDT2406 too.
OK, then let us keep it.
Sometimes I have the feeling this is intention - or a very strange discussion culture.
I regret that I have to say this.
W. Spiegl

 
Sent: Tuesday, May 21, 2024 at 8:21 PM
From: "E. C. Masloch via Freedos-devel" <freedos-devel@lists.sourceforge.net>
To: freedos-devel@lists.sourceforge.net
Cc: "E. C. Masloch" <pus...@ulukai.org>
Subject: Re: [Freedos-devel] zoo
On at 2024-05-19 00:37 +0100, Liam Proven via Freedos-devel wrote:
> On Fri, 17 May 2024 at 17:14, tom ehlert via Freedos-devel
> <freedos-devel@lists.sourceforge.net> wrote:
>
>>> Below 1GB FAT16 uses 8kB clusters. From 1GB-2GB it uses 16kB ones.
>>> (Below ½GB it uses 4kB.)
>>
>> That would require FAT17.
>
> (?)
>
> Not at all.

64 Ki * 16 KiB = 1024 MiB. (The actual maximum amount of clusters is of
course slightly less than 64 Ki, to be exacting.) So you're off-by-one,
a "2 GB" file system cannot possibly be fully utilised with FAT16 at a
16 KiB per cluster size. Hence tom's suggestion of FAT17.

> Here is the full list:
>
> FAT12
>
> Drive size Secs/cluster Cluster size
> < 16 MB 8 4 KiB
>
> FAT16
>
> Drive size Secs/cluster Cluster size
> < 128 MB 4 2 KiB
> < 256 MB 8 4 KiB
> < 512 MB 16 8 KiB
> < 1 GB 32 16 KiB
> < 2 GB 64 32 KiB

This supports what tom and I wrote: up to (nearly) "2 GB" you need 32
KiB per cluster.

> < 4 GB 128 64 KiB (Windows NT only)

I agree with this. Enhanced DR-DOS, FreeDOS, and my MS-DOS v4 fork also
support 64 KiB per cluster now.

> < 8 GB 256 128 KiB (Windows NT 4.0 only)
> < 16 GB 512 256 KiB (Windows NT 4.0 only)

EDR-DOS, FreeDOS, and lMS-DOS also support 128 KiB clusters, using 256
Sectors per Cluster. For further comment see below.


> FAT32
>
> Drive size Secs/cluster Cluster size
> < 260 MB 1 512 bytes
> < 8 GB 8 4 KiB
> < 16 GB 16 8 KiB
> < 32 GB 32 16 KiB
> < 2 TB 64 32 KiB

It seems that a 2 TiB file system could actually use 8 KiB per cluster
if you were willing to tolerate a FAT size of 1 GiB each. (1 GiB is the
maximum size of a FAT's usable data in FAT32.)

2 * 1024 * 1024 * 1024 * 1024 / (2 ** 28) = 8192.

Not claiming any formatting tool does this, but the numbers check out.

(If anyone is confused about 2 to the power 28, this is because FAT32
actually reserves the top 4 bits of every 32-bit FAT entry. They're
masked off by drivers and never set by anyone AFAIK. So the usable
amount of entries is 2 ** 28, not 2 ** 32.)

> Source:
> https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html
>
> Confirmation:
> https://www.researchgate.net/figure/Default-cluster-size-for-FAT-compatible-OS_tbl1_261851917

To get to the "Windows NT 4.0 only" entries: I'd never heard of any MSW
supporting 256 Sectors per Cluster. Let alone 512. I didn't find any
other source that confirms this or even explains how such large SpC
values are to be encoded in the file system in order for a driver to use
them. I was also under the impression that EDR-DOS was the first
implementation of FAT FS with 256 SpC.

The only other source I found that supports the possibility of 256 KiB
clusters is in the English Wikipedia page for FAT, in the FAT16B info box:

> Max volume size
>
> 2 GB (with 32 KB clusters)
> 4 GB (with 64 KB clusters) (NT 4, PTS-DOS, EDR-DOS)
> 8 GB (with 128 KB clusters and 1 or 2 KB sectors) (NT 4 and
EDR-DOS only)
> 8 GB (with 128 KB clusters and 512 byte sectors) (EDR-DOS only)
> 16 GB (with 256 KB clusters and 2 or 4 KB sectors) (NT 4 only)

https://en.wikipedia.org/wiki/File_Allocation_Table#Final_FAT16

You will note that the "8 GB" limits listed use 512 BpS only for the
EDR-DOS 256 SpC extension, only. The other "8 GB" and the "16 GB"
specify larger sector sizes. That would explain how to get to a 256 KiB
cluster, without even the 256 SpC extension.

Regards,
ecm


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

Reply via email to