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 floppy, 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
FAT12
FAT12 adalah
sistem berkas yang menggunakan ukuran unit alokasi yang memiliki batas hingga
12-bit, sehingga hanya dapat menyimpan maksimum hingga 212 unit
alokasi saja (4096 buah). Sistem berkas ini adalah sistem berkas asli dari FAT
yang pertama kali digunakan dalam sistem operasi MS-DOS.
Karena beberapa
sistem operasi Windows menggunakan ukuran unit alokasi sistem berkas yang
dibuat berdasarkan ukuran sektor (kelipatan 512 byte, dari 1 sektor hingga 16
sektor), FAT12 memiliki batasan pada kapasitasnya, yakni hingga 32 Megabyte.
Karena itulah, FAT12 umumnya hanya digunakan sebagai sistem berkas untuk media
penyimpanan floppy disk. Tabel berikut berisi informasi sistem
operasi apa saja yang mendukung sistem berkas FAT12.
Sistem
operasi
|
Dukungan
|
MS-DOS
|
Ya (semua versi
MS-DOS)
|
Windows 95 (semua
versi)
|
Ya
|
Windows 98
|
Ya
|
Windows Millennium
Edition
|
Ya
|
Windows NT 3.x
|
Ya
|
Windows NT 4.0
|
Ya
|
Ya
|
|
Windows XP
|
Ya
|
Windows Server 2003
|
Ya
|
Windows Vista
|
Ya
|
FAT16
FAT16 adalah sistem
berkas yang menggunakan unit alokasi yang memiliki batas hingga
16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536
buah). Sistem berkas ini memiliki batas kapasitas hingga ukuran 4 Gigabyte
saja. Ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada kapasitas
partisi yang hendak diformat: jika ukuran partisi kurang dari 16 Megabyte, maka
Windows akan menggunakan sistem berkas FAT12, dan jika ukuran partisi lebih
besar dari 16 Megabyte, maka Windows akan menggunakan sistem berkas FAT16.
Tabel berikut berisi informasi sistem operasi apa saja yang mendukung sistem
berkas FAT16.
Sistem
operasi
|
Dukungan
|
MS-DOS
|
Ya (versi 4.x ke
atas); Tidak (sebelum versi 4.x)
|
Windows 95 (semua
versi)
|
Ya
|
Windows 98
|
Ya
|
Windows Millennium
Edition
|
Ya
|
Windows NT 3.x
|
Ya
|
Windows NT 4.0
|
Ya
|
Windows 2000
|
Ya
|
Windows XP
|
Ya
|
Windows Server 2003
|
Ya
|
Windows Vista
|
Ya
|
VFAT (Virtual FAT)
VFAT adalah sebuah
variasi sistem berkas FAT16 yang mendukung nama berkas
panjang, hingga 255 karakter. Sistem berkas ini diintegrasikan ke dalam sistem
operasi Windows
95 dan Windows
NT 3.51. Meskipun mendukung nama berkas panjang, sebenarnya dalam struktur
sistem berkas ini tidak ada perubahan yang signifikan. Bahkan nama berkas
panjang akan memakai beberapa entri direktori secara sekaligus.
[FAT32
FAT32 adalah versi
sistem berkas FAT yang paling baru, yang diperkenalkan ketika Microsoft merilis
Windows 95 OEM Service Release 2 (Windows 95 OSR2). Tabel sistem operasi Windows
yang mendukung sistem berkas FAT32 ini sebagai berikut.
Sistem
operasi
|
Dukungan
|
MS-DOS
|
Tidak
|
Windows
95
(versi awal)
|
Tidak
|
Windows
95 OSR2
|
Ya
|
Windows
98
|
Ya (Windows 98 juga
memiliki utilitas untuk mengonversi FAT16 ke FAT32)
|
Windows Millennium Edition
|
Ya
|
Windows
NT 3.x
|
Tidak
|
Windows
NT 4.0
|
Tidak
(Beberapa perusahaan, seperti Winternals membuat driver FAT32 untuk Windows NT 4.0) |
Windows
2000
|
Ya
(Windows 2000 membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja) |
Windows
XP
|
Ya
(Windows XP membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja) |
Windows Server 2003
|
Ya
(Windows Server 2003 membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja) |
Windows
Vista
|
Ya
(Windows Vista membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja) |
Karena menggunakan
tabel alokasi berkas yang besar (32-bit), FAT32 secara teoritis mampu
mengalamati hingga 232 unit alokasi (4294967296 buah). Meskipun
demikian, dalam implementasinya, jumlah unit alokasi yang dapat dialamati oleh
FAT32 adalah 228 (268435456 buah). Ukuran unit alokasi maksimum
dapat mencapai 32768 byte (64 sektor), sehingga secara teoritis dapat
mengalamati 8 terabytes (8192 Gigabytes), meski tidak disarankan. Selain itu,
program instalasi beberapa keluarga sistem operasi Windows NT 5.x ke atas hanya
mengizinkan pembuatan partisi FAT32 hingga 32 Gigabyte (jika partisi lebih
besar dari 32 GB, maka program instalasi Windows hanya menyediakan sistem berkas
NTFS). Dalam
instalasi sistem operasi Windows NT 5.x ke atas, jika ukuran partisi di mana
Windows diinstalasikan kurang dari 2 Gigabyte, program instalasi akan
menggunakan sistem berkas FAT16; dan berlaku sebaliknya, jika partisi di mana
Windows hendak diinstalasikan lebih dari 2 Gigabyte, program instalasi akan
menggunakan sistem berkas FAT32.
Program pengonversi
FAT16 menjadi FAT32 dalam sistem
operasi Windows
98
FAT32 menggunakan
ukuran unit alokasi yang lebih kecil dibandingkan
dengan sistem berkas FAT12/FAT16, sehingga FAT32 lebih efisien ketika
diaplikasikan pada partisi yang besar (ukurannya lebih besar dari pada 512
Megabyte). Penghematan yang dilakukan oleh FAT32 dibandingkan dengan FAT16/FAT12
kira-kira adalah 20% hingga 27%. Windows 98
memiliki utilitas yang dapat digunakan untuk mengonversi partisi FAT16 menjadi
FAT32 tanpa kehilangan data.
Karakteristik dan fitur setiap versi
Berikut ini adalah
tabel perbandingan ukuran partisi dan ukuran unit alokasi sistem berkas (default)
yang digunakan oleh sistem berkas FAT.
Ukuran
partisi
|
FAT12
|
FAT16
|
FAT32
|
0 MB hingga 6 MB
|
1024 byte (2 sektor)
|
Tidak didukung
|
Tidak didukung
|
7 MB hingga 16 MB
|
2048 byte (4 sektor)
|
Tidak didukung
|
Tidak didukung
|
17 MB hingga 32 MB
|
4096 byte (8 sektor)
|
512 byte (1 sektor)
|
Tidak didukung
|
33 MB hingga 64 MB
|
Tidak didukung
|
1024 byte (2 sektor)
|
512 byte (1 sektor)
|
65 MB hingga 128 MB
|
Tidak didukung
|
2048 byte (4 sektor)
|
1024 byte (2 sektor)
|
129 MB hingga 256 MB
|
Tidak didukung
|
4096 byte (8 sektor)
|
2048 byte (4 sektor)
|
257 MB hingga 512 MB
|
Tidak didukung
|
8192 byte (16 sektor)
|
4096 byte (8 sektor)
|
513 MB hingga 1024 MB
|
Tidak didukung
|
16384 byte (32
sektor)
|
4096 byte (8 sektor)
|
1025 MB hingga 2048
MB
|
Tidak didukung
|
32768 byte (64
sektor)
|
4096 byte (8 sektor)
|
2049 MB hingga 4096
MB
|
Tidak didukung
|
65536 byte (128
sektor)
Hanya dapat digunakan dalam keluarga Windows NT |
4096 byte (8 sektor)
|
4097 MB hingga 8192 MB
|
Tidak didukung
|
Tidak didukung
|
4096 byte (8 sektor)
|
8192 MB hingga 16384
MB
|
Tidak didukung
|
Tidak didukung
|
8192 byte (16 sektor)
|
16385 MB hingga 32768
MB
|
Tidak didukung
|
Tidak didukung
|
16384 byte (32
sektor)
|
32769 MB - 127.5 GB
|
Tidak didukung
|
Tidak didukung
|
32768 byte (64
sektor)
|
127.5 GB - 2 TB
|
Tidak didukung
|
Tidak didukung
|
65536 (128 sektor)
|
Tabel berikut
berisi informasi mengenai karakteristik dan fitur sistem berkas FAT
Karakteristik
|
FAT12
|
FAT16
|
FAT32
|
Panjang nama berkas
maksimum
|
8.3 dalam sistem operasi
MS-DOS,
hingga 260 karakter dalam sistem operasi Windows 32-bit |
8.3 dalam sistem
operasi MS-DOS,
hingga 260 karakter dalam sistem operasi Windows 32-bit |
Hingga 260 karakter
dalam sistem operasi Windows 32-bit,
juga membuat format nama berkas 8.3 |
Fitur keamanan
|
Tidak ada
|
Tidak ada
|
Tidak ada
|
Fitur kompresi data
|
Tidak ada
|
Tidak ada
|
Tidak ada
|
Jumlah unit alokasi
tabel alokasi berkas
|
12-bit (4096 buah)
|
16-bit (65536 buah),
|
32-bit (teoritis),
28-bit (praktik)
|
Jumlah unit alokasi
fisik tiap partisi
|
32680 sektor
|
65524 buah unit
alokasi
(seharusnya 65536 buah, tapi beberapa unit alokasi telah direservasikan) |
65527 buah unit
alokasi
(seharusnya 65536 buah, tapi beberapa unit alokasi telah direservasikan) |
Ukuran unit alokasi
maksimum
|
64 KB (maksimum); 32
KB (disarankan)
|
64 KB (teoritis); 32
KB (praktik); 16 KB (disarankan)
|
|
Kisaran ukuran unit
alokasi
|
512 byte hingga 2048
byte
|
512 byte hingga 65536
byte
|
512 byte hingga 65536
byte
|
Ukuran partisi
maksimum
|
32 MB
|
2 GB (pada semua
sistem operasi); 4 GB (hanya pada keluarga Windows NT)
|
8 TB (teoritis), 2 TB
(implementasi; limitasi ini dikarenakan tabel
partisi dalam skema
partisi MBR yang
digunakan oleh FAT32), 32 GB (Windows NT 5.x ke atas)
|
Ukuran berkas
maksimum
|
4 GB - 1 byte (232-1
byte)
|
4 GB - 1 byte (232-1
byte)
|
|
Jumlah berkas
tiap partisi
|
65536 berkas
|
4177920 berkas
|
|
Jumlah berkas
maksimum dalam direktori akar
|
512 berkas
(Penggunaan nama berkas
panjang (nama berkas yang tidak menggunakan format 8.3) dapat mengurangi
jumlah ini secara signifikan)
|
65534 berkas
(Penggunaan nama berkas
panjang dapat mengurangi jumlah ini secara signifikan)
|
|
Saran penggunaan
|
Media penyimpanan
kurang dari 16 MB
|
Media penyimpanan
dari 16 MB hingga 511 MB
|
Media penyimpanan
dari 512 MB hingga 32768 MB. Gunakan NTFS
atau sistem berkas lainnya untuk media penyimpanan yang lain.
|
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.
Bagaimana sebuah berkas disimpan dalam volume FAT16
Sistem berkas
FAT-16 menggunakan unit alokasi (atau cluster) sebagai unit terkecil bagaimana
ia dapat menyimpan berkas. FAT-16 mendukung ukuran cluster dari 1 hingga 128 sektor. Selanjutnya, ada
juga entri direktori yang menyediakan ruangan yang cukup untuk menampung berkas
dengan nama berkas berformat 8.3 (delapan nama berkas plus tiga nama ekstensi).
Entri direktori pada sistem berkas FAT-16 memiliki entri sebesar 32 byte untuk
setiap berkas dan subdirektori yang dikandung oleh direktori tersebut. Entri
direktori tersebut mengandung field-field berikut.
Field
|
Ukuran
dalam bit
|
Ukuran
dalam byte
|
Nama berkas
|
64
|
8
|
Ekstensi berkas
|
24
|
3
|
Atribut berkas
|
8
|
1
|
Ruangan yang
dicadangkan untuk berkas
|
80
|
10
|
Stempel waktu berkas
|
16
|
2
|
Stempel tanggal
berkas
|
16
|
2
|
Alamat cluster
pertama berkas dalam tabel alokasi berkas
|
16
|
2
|
Ukuran berkas
terbesar
|
32
|
4
|
Struktur
organisasi dalam sistem berkas FAT16 tidaklah terlalu rumit rumit.
Berkas-berkas akan diberikan lokasi yang pertama kali ditemukan oleh sistem
berkas dalam sebuah partisi. Selanjutnya, sistem berkas akan memberikan nomor
terhadap lokasi tersebut, yang disebut dengan cluster number, yang
merupakan alamat lokasi cluster di mana berkas dimulai. Setiap cluster berisi
penunjuk (pointer) terhadap cluster berikutnya untuk berkas yang sama, atau
indikasi bahwa cluster yang bersangkutan merupakan akhir dari rangkaian cluster
sebuah berkas yang ditandai dengan bilangan basis 16 (hexadecimal) 0xFFFF
(FAT16), atau 0xFFF (FAT12). Sebagai contoh, pada sebuah berkas yang
menggunakan 10 buah cluster, berkas tersebut akan memiliki 10 buah entri di
dalam tabel alokasi file, dan juga 9 buah tautan terhadap tabel alokasi file
tersebut, sedangkan 1 cluster terakhir berisi tanda bahwa ia adalah cluster
terakhir, dan berisi bilangan 0xFFFF. Umumnya, struktur sistem berkas seperti
ini disebut sebagai struktur linked-list.
exFAT
exFAT (singkatan
dari Extended File Allocation Table, atau sering disebut sebagai FAT64) adalah
sebuah sistem berkas proprietary yang cocok untuk digunakan oleh media-media
penyimpanan berbasis memori flash. Sistem berkas ini pertama kali dibuat oleh
Microsoft untuk perangkat-perangkat benam di dalam Windows Embedded CE 6.0 dan
Windows Vista Service Pack 1. Diperkenalkan pada bulan November 2006, sistem
berkas ini dapat digunakan sebagai alternatif dari sistem berkas NTFS, karena
memang NTFS memiliki struktur data yang relatif lebih besar ketimbang exFAT.
[sunting] Keunggulan exFAT
Beberapa
keunggulan yang ditawarkan oleh exFAT adalah sebagai berikut:
· Skalabilitas untuk HDD (hard disk drive) berukuran besar.
· Ukuran berkas teoritis maksimal 264 (16 EiB). Sebagai perbandingan, FAT-32 hanya mendukung ukuran berkas maksimal hingga 232 (4 GB).
· Ukuran Cluster yang didukung hingga 2255 Sector, dengan batasan implementasi hingga 32 MB (Megabyte).
· Performa untuk alokasi ruangan kosong dan penghapusan ditingkatkan karena file system ini memperkenalkan implementasi baru, yaitu Free Space Bitmap
· Mendukung lebih dari 216 (65536) berkas di dalam sebuah direktori tunggal.
· Mendukung fitur access control list (ACL), seperti halnya NTFS. Sayangnya, fitur ini belum didukung sepenuhnya di dalam Windows Vista Service Pack 1.
· Mendukung Transaction-Safe FAT File System (sebuah fungsi opsional untuk Windows CE yang diaktifkan).
· Memiliki ruangan tersendiri yang bisa digunakan oleh OEM untuk melakukan kustomisasi terhadap sistem berkas untuk karakteristik perangkat tertentu.
· Timestamp dapat ditampilkan dalam UTC, tidak hanya dalam local time saja.
Beberapa kelemahan
yang dimiliki oleh exFAT, jika dibandingkan dengan file system FAT sebelumnya
(FAT12, FAT16, atau FAT32) adalah:
·
Perangkat yang menggunakan file system exFAT
tidak bisa menggunakan kemampuan ReadyBoost milik Windows Vista (namun pada
Windows 7, Microsoft sudah membuat file system exFAT yang baru dengan dukungan
ReadyBoost).
·
Status lisensi yang belum jelas. Akan tetapi,
Microsoft telah mempatenkan beberapa bagian dari file system FAT.
·
Tidak bisa diakses oleh sistem-sistem operasi
Windows terdahulu, sebelum Windows Vista Service Pack 1 atau Windows CE 6.0.
·
Belum tersedia implementasi dalam proyek open
source.
0 komentar:
Posting Komentar