File
system FAT, FAT12, FAT16, FAT32, exFAT
By : Agus lh / lhagus813@gmail.com
File system FAT (Sistem Berkas FAT) , adalah sebuah sistem berkas yang
menggunakan struktur tabel alokasi berkas sebagai cara dirinya beroperasi. Kita
ketahui secara umum dalam keseharian bahasa yang digunakan adalah penyingkatan,
umumnya orang menyebut sistem berkas
FAT sebagai FAT saja. Kata FAT sendiri adalah singkatan dari File Allocation Table, yang mana
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 File System FAT
Ada beberapa versi dari sistem berkas FAT, yang
dibedakan dari berapa banyak unit alokasi yang didukungya, diantaranya :
File System FAT12, File System FAT16, File System FAT32, exFAT
File System FAT12
File System 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.
Berikut informasi sistem operasi apa saja yang
mendukung sistem berkas FAT12.
=======================================
Sistem Operasi : MS-DOS
Dukungan : Ya
========================================
Sistem Operasi : Windows 95 (semua versi).
Dukungan : Ya
========================================
Sistem Operasi : Windows 98
Dukungan : Ya
========================================
Sistem Operasi : Windows Millennium Edition (ME).
Dukungan : Ya
========================================
Sistem Operasi : Windows NT 3.x
Dukungan : Ya
========================================
Sistem Operasi : Windows NT 4. 0
Dukungan : Ya
========================================
Sistem Operasi : Windows 2000
Dukungan : Ya
========================================
Sistem Operasi : Windows XP
Dukungan : Ya
========================================
Sistem Operasi : Windows Server 2003.
Dukungan : Ya
========================================
Sistem Operasi : Windows Vista.
Dukungan : Ya
========================================
File System FAT16
File System 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.
Berikut informasi sistem operasi apa saja yang
mendukung sistem berkas FAT16 :
===============================================
Sistem Operasi : MS-DOS
Dukungan : Ya (versi 4.x ke atas); Tidak (sebelum
versi 4.x).
===============================================
Sistem Operasi : Windows 95 (semua versi).
Dukungan : Ya
========================================
Sistem Operasi : Windows 98
Dukungan : Ya
========================================
Sistem Operasi : Windows Millennium Edition (ME).
Dukungan : Ya
========================================
Sistem Operasi : Windows NT 3.x
Dukungan : Ya
========================================
Sistem Operasi : Windows NT 4. 0
Dukungan : Ya
========================================
Sistem Operasi : Windows 2000
Dukungan : Ya
========================================
Sistem Operasi : Windows XP
Dukungan : Ya
========================================
Sistem Operasi : Windows Server 2003.
Dukungan : Ya
========================================
Sistem Operasi : Windows Vista.
Dukungan : 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.
File System FAT32
File
System FAT32 adalah versi sistem berkas FAT yang paling baru, yang
diperkenalkan ketika Microsoft merilis Windows 95 OEM Service Release 2
(Windows 95 OSR2). Berikut sistem operasi Windows yang mendukung sistem berkas
FAT32 ini :
======================
Sistem Operasi : MS-DOS
Dukungan : Tidak
======================
Sistem Operasi : Windows 95 (versi awal)
Dukungan : Tidak
======================
Sistem Operasi : Windows 95 OSR2
Dukungan : Ya
======================
Sistem Operasi : Windows 98
Dukungan : Ya (Windows 98 juga memiliki utilitas untuk
mengkonversi FAT16 ke FAT32).
=============================================================
Sistem Operasi : Windows Millenium Edition (ME)
Dukungan : Ya
======================
Sistem Operasi : Windows NT 3.x
Dukungan : Tidak
======================
Sistem Operasi : Windows NT 4.0
Dukungan : Tidak (Beberapa perusahaan, seperti
Winternals membuat driver FAT32 untuk Windows NT 4.0).
======================
Sistem Operasi : Windows 2000
Dukungan : Ya ( Windows 2000 membatasi kapasitas
partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja ).
======================
Sistem Operasi : Windows XP
Dukungan : Ya ( Windows XP membatasi kapasitas partisi
FAT32 yang dapat dibuat hingga 32768 Megabytes saja ).
======================
Sistem Operasi : Windows Server 2003
Dukungan : Ya ( Windows Server 2003 membatasi
kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja ).
======================
Sistem Operasi : Windows Vista
Dukungan : 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 teoretis mampu memberikan alamat hingga 232 unit alokasi (4294967296 buah). Meskipun
demikian, dalam implementasinya, jumlah unit alokasi yang dapat diberikan
alamat oleh FAT32 adalah 228 (268435456 buah). Ukuran unit alokasi maksimum
dapat mencapai 32768 byte (64 sektor), sehingga secara teoretis dapat memberikan
alamat 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 dimana Windows diinstalasikan kurang dari 2 Gigabyte, program
instalasi akan menggunakan sistem berkas FAT16; dan berlaku sebaliknya, jika
partisi dimana Windows hendak diinstalasikan lebih dari 2 Gigabyte, program
instalasi akan menggunakan sistem berkas FAT32.
FAT32 menggunakan ukuran unit alokasi yang
lebih kecil dibandingkan dengan sistem berkas FAT12 / FAT16, sehingga FAT32
lebih efisien ketika di aplikasikan pada partisi yang besar ( ukurannya lebih
besar daripada 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 mengkonversi partisi FAT16 menjadi
FAT32 tanpa kehilangan data.
Tabel Alokasi Berkas atau File Alocation Table (FAT)
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.
Gimana 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 : Nama Berkas
Ukuran dalam bit : 64
Ukuran dalam byte : 8
======================
Field : Ekstensi Berkas
Ukuran dalam bit : 24
Ukuran dalam byte : 3
======================
Field : Atribut Berkas
Ukuran dalam bit : 8
Ukuran dalam byte : 1
======================
Field : Ruangan yang dicadangkan untuk berkas
Ukuran dalam bit : 80
Ukuran dalam byte : 10
======================
Field : Stempel waktu Berkas
Ukuran dalam bit : 16
Ukuran dalam byte : 2
======================
Field : Stempel Tanggal Berkas
Ukuran dalam bit : 16
Ukuran dalam byte : 2
======================
Field : Alamat cluster pertama berkas dalam tabel
alokasi berkas
Ukuran dalam bit : 16
Ukuran dalam byte : 2
======================
Field : Ukuran berkas terbesar
Ukuran dalam bit : 32
Ukuran dalam byte : 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.
Keunggulan exFAT
Beberapa keunggulan yang ditawarkan oleh exFAT adalah
sebagai berikut:
Skalabilitas untuk HDD (hard disk drive) berukuran
besar.
Ukuran berkas teoretis 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.
Kelemahan exFAT
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.
Demikian
sekilas tentang File
system FAT, FAT12, FAT16, FAT32, exFAT yang dapat saya post, mudah –
mudahan bisa membantu dan bermanfaat. Terima kasih.
Sumber : www.wikipedia.com
, www.google.jp