Semua situs yang saya kunjungi untuk mencari informasi tentang FAT16 hanya menyatakan secara deklaratif bahwa ia tidak dapat mengalokasikan lebih dari 2 GB. BAIK. Besar. Aku percaya kamu. Tetapi bagaimana Anda sampai pada kesimpulan itu (selain hanya mengujinya)?
Apakah ada semacam rumus yang dapat digunakan untuk menentukan seberapa banyak sistem FAT16 dapat bertahan?
file-storage
allocation
SangoProductions
sumber
sumber
Jawaban:
FAT16 menggunakan 16 bit untuk mengidentifikasi cluster. Dengan demikian ada maksimum 65536 cluster sebelum Anda kehabisan pengidentifikasi, dan beberapa pengidentifikasi dicadangkan untuk penggunaan non-file. Setiap file menempati setidaknya satu cluster. Cluster yang lebih besar meningkatkan alokasi minimum per file, meningkatkan overhead file kecil.
Ukuran cluster kemudian memberi tahu Anda volume maksimum yang dapat diidentifikasi. Untuk kelompok 32KiB, yaitu 32 * 1024 * 65536 B = 2GiB.
Anda dapat meningkatkan ukuran cluster tanpa batas, dengan meningkatkan ukuran sektor pada disk Anda, tetapi Anda tetap terbatas pada jumlah file maksimum. Anda juga akan mengalami masalah dengan perangkat lunak yang diasumsikan ukuran sektor default (512B)
Pada titik di mana ada volume fisik ~ 2GiB tersedia, prosesor dan OS 32bit, jadi pindah ke FAT32 adalah pilihan yang masuk akal, memungkinkan jauh lebih banyak file dalam kelompok kecil
sumber
Sebenarnya ada beberapa varian "FAT16" selama bertahun-tahun dengan batas yang berbeda tetapi mari kita pertimbangkan versi yang bertahan dari "compaq DOS 3.31" hingga windows 95.
Volume FAT dibagi menjadi beberapa kelompok. Setiap cluster terdiri dari kekuatan dua sektor. Jumlah sektor per cluster pada FAT16 disimpan sebagai angka yang ditandatangani 8 bit. Jadi sektor maksimum yang mungkin per klaster adalah 64.
Nomor cluster disimpan sebagai nilai unsigned 16 bit. Membatasi total kluster menjadi 65536. Lipat gandakan dengan sektor maksimum per kluster dan Anda mendapatkan batas 4.194.304 sektor.
Ukuran sektor (logis) dari hard drive adalah 512 byte. Lipat gandakan dengan batas jumlah sektor yang disebutkan di atas dan Anda mendapatkan batas 2GiB Anda. Pada prinsipnya media dengan ukuran sektor yang lebih besar dapat mendukung volume FAT16 yang lebih besar tetapi saya tidak berpikir ini terjadi dalam praktik.
Windows NT mengubah interpretasi bidang "sektor per klaster" menjadi 8 bit yang tidak ditandai. Hal ini memungkinkan partisi FAT16 4GiB dengan sektor 512 byte (dan secara teoritis lebih besar pada drive dengan sektor yang lebih besar). AIUI windows 98 menambahkan dukungan untuk membaca dan menulis partisi seperti itu tetapi tidak dapat membuatnya dan utilitas disk tidak dapat memperbaikinya.
Tentunya mungkin untuk melakukan sedikit perubahan kecil pada format sistem file untuk mendukung kluster yang lebih besar dan karenanya volume yang lebih besar. Namun MS memutuskan untuk memilih opsi yang lebih radikal untuk pindah ke indeks cluster 32-bit dengan windows 95 OSR2 yang menghasilkan FAT32.
Saya percaya alasan untuk memilih opsi yang lebih radikal adalah efisiensi ruang. Mengingat filesizes khas pada saat 32kiB cluster sudah cukup boros dan yang lebih besar bahkan akan pindah begitu.
sumber