Find the answer to your Linux question:
Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 11 to 20 of 35
Why? Why? Why ever is that? Doesn't FAT32 imply that it has 32-bit cluster addressing?...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #11
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578

    Why? Why? Why ever is that? Doesn't FAT32 imply that it has 32-bit cluster addressing?

  2. #12
    Linux Engineer
    Join Date
    Jan 2003
    Location
    Lebanon, pa
    Posts
    994
    Yes but I don't quite understand what you are getting at. That just means that the entries in the FAT are 32bit(4 bytes wide) compared to fat16 which is 16bit(2 bytes wide). It just increases the size of the fat so it takes up more memory and can slow disk access down.

  3. #13
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Yes, it does bloat the FAT, and it does require more disk seeks, but, on the other hand, clusters on a 100 GB disk don't have to be 1.5 MB each (as opposed to FAT16).
    All sensible operating systems use 32 bit addressing for blocks/clusters/whatever, and that's for a very good reason.
    FAT16 can't have more than 65536 clusters, because of its 16 bit addressing. FAT32, if 32 really implies 32 bit cluster addressing, should be able to have 4 billion clusters. (I know that you know this, I'm just making the post more complete)
    MS must let the FAT grow to more than 8MB, or it would just fit 2 million clusters.
    Now that you mention it, I have noticed that there are large clusters even on FAT32 filesystems, of course, but I still don't understand why whey'd have to be larger than 4 KB.

  4. $spacer_open
    $spacer_close
  5. #14
    Linux Engineer
    Join Date
    Jan 2003
    Location
    Lebanon, pa
    Posts
    994
    Well MS tried to find a balance between wasted diskspace and performance and that is how they came up with the table I showed you. You must also think of what year it was when fat32 came out(win95b). Ram was very expensive so they kept the FAT size low. By todays standards, who cares if we use up a lot of ram since it is so cheap. I think I remember reading somewhere that a 1TB partition on fat32 with 4KB clusters would have a 1GB FAT.

  6. #15
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    It's not like the whole FAT has to be held in RAM, so that shouldn't matter in itself. If I wrote the FAT fs driver, I'd just cache the FAT with a little higher priority than normal file caches. And, it's not like you have to keep it to 4 billion clusters whatever you do. I wouldn't mind if it grew to say, 1, 2 or 4 KB per cluster, but I think my hard drive had 16 KB per cluster, and that's far too much, especially when you have the capability to make the clusters much smaller by adding some FAT space.
    It's quite correct the a 1TB fat32 fs with 4 KB clusters would have a 1GB FAT, but since that's just .1% of the whole space, it doesn't really matter that much, now does it?

  7. #16
    Linux Engineer
    Join Date
    Jan 2003
    Location
    Lebanon, pa
    Posts
    994
    I imagine disk access would be quite slow with a 1GB FAT.

  8. #17
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Why exactly would it be slow?

  9. #18
    Linux Engineer
    Join Date
    Jan 2003
    Location
    Lebanon, pa
    Posts
    994
    Well very few machines will be able to have that cached in memory so its going to have to read through that often from the disk which would slow it down.

  10. #19
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Wouldn't that apply to unix filesystems as well? If Microsoft has done this wisely (which I highly doubt they have), they cache the cluster chain for the file along with whatever their counterpart to a filedescriptor would be.

  11. #20
    Linux Engineer
    Join Date
    Jan 2003
    Location
    Lebanon, pa
    Posts
    994
    What do you mean? A filesystem like ext2 doesn't use FAT to locate files. A directory on ext2 has an inode just like a file would but it contains records with each name pointing towards an inode and what type of object it is. So there is no FAT to search through to get the locate of a file. That is why you can have blocks(linux version of the cluster) ranging from 1k-4k on ext2.

Page 2 of 4 FirstFirst 1 2 3 4 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •