Sistem berkas FAT atau FAT File System adalah sebuah sistem berkas yang menggunakan struktur tabel alokasi berkas sebagai cara dirinya beroperasi. Untuk penyingkatan, umumnya orang menyebut sistem berkas FAT sebagai FAT saja. Kata FAT sendiri adalah singkatan dari File Allocation Table, yang jika diterjemahkan secara bebas ke dalam Bahasa Indonesia menjadi Tabel Alokasi Berkas. Arsitektur FAT sekarang banyak digunakan secara luas dalam sistem komputer dan kartu-kartu memori yang digunakan dalam kamera digital atau pemutar media portabel.
FAT pertama kali dikembangkan oleh Bill Gates dan Marc McDonald, pada tahun 1976-1977. Sistem berkas ini merupakan sistem berkas utama untuk sistem operasi yang ada saat itu, termasuk di antaranya adalah Digital Research Disk Operating System (DR-DOS), OpenDOS, FreeDOS, MS-DOS, IBM OS/2 (versi 1.1, sebelum berpindah ke sistem HPFS), dan Microsoft Windows (hingga Windows Me). Untuk disket, FAT telah distandardisasikan sebagai ECMA-107 dan ISO/IEC 9293. Standar-standar tersebut hanya mencakup FAT12 dan FAT16 tanpa dukungan nama berkas panjang, karena memang beberapa bagian dalam standar nama file panjang di dalam sistem berkas FAT telah dipatenkan.
Sistem berkas ini digunakan oleh sistem operasi MS-DOS (hanya versi FAT12 dan FAT16), Windows (hampir semua versi Windows; untuk versi FAT yang didukung olehnya lihat pada bagian versi), GNU/Linux, dan masih banyak sistem operasi lainnya yang juga mendukung, termasuk Macintosh Mac OS/X.
Versi
Ada beberapa versi dari sistem berkas FAT, yang dibedakan dari berapa banyak unit alokasi yang didukungya, yakni sebagai berikut:
FAT12
FAT16
FAT32
exFAT
Tabel Alokasi Berkas
Tabel alokasi berkas atau File Allocation Table merupakan sebuah tabel yang dipelihara di dalam hard disk atau media penyimpanan lainnya oleh sistem operasi yang bertindak sebagai "daftar isi media penyimpanan", yang menunjukan di mana direktori dan berkas disimpan di dalam disk.
Ketika sebuah media penyimpanan diformat dengan menggunakan FAT, sistem berkas ini akan membuat sebuah tabel alokasi berkas yang disimpan pada lokasi yang dekat dengan permulaan media penyimpanan tersebut. Media penyimpanan yang dimaksud adalah media penyimpanan seperti sebuah hard disk, sebuah partisi dalam sebuah hard disk, atau media penyimpanan portabel. Selain membuat satu tabel alokasi berkas, sistem berkas tersebut juga membuat salinan dari sistem berkas tersebut, dan berada pada media penyimpanan yang sama. Jika salah satu salinan mengalami kerusakan, maka sistem berkas akan menggunakan salinan yang lain, dan mengganti tabel yang rusak tersebut dengan salinan yang masih baik (cara kerja ini disebut dengan FAT Mirroring, yang bekerja seperti layaknya RAID 1). Lokasi tabel alokasi berkas ditentukan di dalam sebuah area yang disebut dengan BIOS Parameter Block (BPB) dalam boot sector sebuah media penyimpanan yang menggunakan sistem berkas FAT.
FAT16 akan membuat dua buah tabel alokasi berkas, yang diberi nama FAT1 dan FAT2. Tabel alokasi berkas akan diletakkan pada area tertentu, yakni pada lokasi yang berdekatan dengan boot sector. Tabel alokasi berkas akan berisi informasi-informasi berikut:
Unused, yang menandakan bahwa unit alokasi tersebut tidak terpakai
In use, yang menandakan bahwa unit alokasi tersebut tidak dapat digunakan karena sedang digunakan oleh sebuah berkas tertentu.
Bad, yang menandakan bahwa unit alokasi tersebut tidak dapat digunakan karena mengalami kerusakan.
Last cluster, yang menandakan bahwa unit alokasi tersebut merupakan unit alokasi terakhir yang dimiliki oleh sebuah berkas.
Dalam strukturnya, FAT16 membedakan antara direktori akar (root directory) dan direktori lainnya, karena memang desain FAT16 menentukan lokasi direktori akar pada lokasi yang spesifik, dan memiliki batasan jumlah entri yang dapat disimpan (hanya dapat menampung 512 entri).
Direktori akar pada sistem berkas FAT16 terdiri dari sebuah ukuran yang tetap dan diketahui, karena berkas-berkas sistem operasi biasanya langsung diletakkan segera setelah direktori akar tersebut. Lokasi yang diketahui untuk berkas-berkas sistem operasi ini mengizinkan sistem operasi DOS, OS/2, atau Windows NT untuk langsung memulai proses booting sistem operasi. Tetapi, keputusan desain ini juga membatasi jumlah file yang dapat ditampung di dalam sebuah direktori akar dari sebuah volume FAT16.
Entri-entri di dalam direktori akar dan juga sub-direktori tidak diurutkan sehingga proses pencarian terhadap berkas-berkas tertentu dapat memakan waktu yang lama, apalagi jika volume tersebut mengandung banyak berkas dalam sebuah direktori.
Tabel alokasi berkas dan juga direktori akar selalu diletakkan pada awal sebuah volume, atau biasanya terletak pada lokasi track terluar dari sebuah disk. Entri-entri tersebut merupakan entri-entri yang sering sekali dibaca dari sebuah disk, utamanya pada sistem operasi yang mendukung multitasking, yang membutuhkan banyak pergerakan head hard disk yang lamban.(Wikipedia)