Terjemahkan

Sabtu, 31 Januari 2009

File System Microsoft Windows Non NT-Based

Pendahuluan

File system merupakan struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada disk. File system menyediakan mekanisme untuk penyimpanan data dan program yang dimiliki oleh sistem operasi serta seluruh pengguna dari sistem komputer. File system terdiri dari dua bagian:

œ Kumpulan berkas yang masing-masingnya menyimpan data-data yang berhubungan

œ Struktur direktori yang mengorganisasi dan menyediakan informasi mengenai seluruh berkas dalam sistem

Masing-masing sistem operasi menggunakan cara yang berbeda dalam mengatur dan mengendalikan akses data dalam disk. Cara pengaturan dan pengendalian ini tidak bergantung pada spesifikasi dari perangkat keras. Misalnya suatu harddisk dengan spesifikasi yang sama dapat menggunakan file system yang berbeda. Struktur logika dari suatu harddisk memiliki pengaruh yang besar terhadap kinerja, daya tahan, dan pengembangan dari suatu disk. Penetapan file system dalam suatu disk dilakukan pada saat disk tersebut diformat.

File system merupakan interface yang menghubungkan sistem operasi dengan disk. Ketika program aplikasi yang sedang dijalankan memerlukan pembacaan berkas dari harddisk, sistem operasi meminta file system untuk membuka berkas yang diinginkan. File system harus mengetahui lokasi penyimpanan berkas yang dibaca. Setelah menemukan lokasinya, file system membaca data yang ada dan mengirimkan data tersebut pada sistem operasi.


Bagian-bagian Dalam Disk File System

Sektor

Semua disk dibagi dalam sektor-sektor, dan setiap sektor berukuran 512 bytes. Ukuran ini merupakan ukuran standar unit disk terkecil. Sektor dibentuk ketika disk diatur dalam jalur-jalur yang konsentris. Setiap jalur dibagi menjadi sektor-sektor. Masing-masing sektor dapat menampung 512 bytes data. Bagaimana sektor-sektor ini terdistribusi? Bagaimana penempatan data dalam sektor? Bagaimana menangani file yang ukurannya lebih dari 512 bytes dan menempati lebih dari 1 sektor? Semua ini merupakan tugas-tugas yang ditangani oleh file system.


Kluster

Kluster adalah sekumpulan sektor yang saling berhubungan. Ukuran kluster pada FAT16 adalah 2, 4, 8, 16, 32, atau 64 sektor. Ukuran partisi maksimum FAT16 hanya 2 GB. FAT32 memungkinkan untuk mendapatkan partisi harddisk yang besar (lebih dari 2 GB), dengan ukuran kluster yang kecil. Ukuran kluster yang kecil ini dapat menghemat penggunaan disk space untuk menyimpan data.


File System pada OS MS. Windows Non NT-Based

Pada sistem operasi Ms. Windows Non NT-Based, file system yang digunakan adalah file system FAT (File Allocation Table). Secara tepatnya adalah file system FAT16 dan FAT32. FAT16 diimplementasikan pada Ms. Windows 3.11 dan Ms Windows 95, sedangkan FAT32 diimplementasikan pada Microsoft Windows 95 OEM Service Release, versions 2, 2.1, 2.5, Microsoft Windows Edisi Millennium, Microsoft Windows 98 Edisi 1 & 2. FAT itu sendiri adalah sebuah arsitektur file system secara asli dibeli oleh Bill Gates dan dikembangkan oleh Bill Gates dan Marc McDonald selama 1976 – 1977.

Sebuah file system FAT dibagi menjadi empat bagian yang berbeda :

1. Reserved Sector, terletak pada bagian paling awal. Reserved sector yang pertama adalah boot sector (Partition Boot Record). Ini termasuk area yang disebut BIOS Parameter Block (dengan beberapa informasi dasar file system, dalam keterangan tipe ini, dan menunjuk lokasi bagian lain) dan biasanya terdiri dari kode boot loader sistem operasi. Jumlah total reserved sector diindikasikan dengan jumlah bagian dalam boot sector. Informasi penting dari boot sector mudah diakses langsung oleh sebuah struktur sistem operasi yang disebut drive parameter block dalam DOS dan OS/2. Untuk file system FAT32, reserved sector memasukkan sebuah backup boot sector pada sektor 6.

2. FAT Region, berdasarkan tipenya terdiri dari dua cetakan (boleh berubah) File Allocation Table untuk pemeriksaan redundansi, meskipun ekstra cetakan jarang digunakan, bahkan oleh utilitas perbaikan disk. Ada peta data region yang mengindikasi dimana kluster digunakan untuk berkas-berkas dan direktori-direktori.

3. Root Directory Region. Ini adalah tabel direktori yang menyediakan informasi tentang berkas-berkas dan direktori yang diletakkan di root directory. Ini hanya digunakan dengan FAT12 dan FAT16 dan berarti bahwa root directory itu mempunyai ukuran maksimum tetap yang dialokasi awal pada pembuatan volume ini. FAT32 menyediakan root directory dalam data region bersama dengan berkas-berkas dan direktori lain, memperbolehkan ini untuk bertambah tanpa pengendalian.

4. Data Region. Ini adalah dimana berkas aktual dan direktori data disediakan dan mengambil paling banyak partisi. Ukuran berkas dan subdirektori dapat dinaikkan secara terpisah (selama ada kluster yang kosong) dengan penambahan secara mudah hubungan ke rantai berkas dalam FAT, meskipun, berkas itu dialokasikan sama sekali dalam sebuah kluster, dan jadi jika sebuah berkas 1 KB diletakkan dalam sebuah kluster 32 KB, 31 KB dibuang.

Berikut ini gambar pembagian wilayah dalam file system FAT:

Boot Sector

Sektor pertama dari disk atau partisi selalu digunakan untuk boot sector. Boot sector ini mengandung informasi mengenai disk atau partisi disk tersebut. Informasi yang ada pada boot sector memungkinkan file system untuk mengatur disk. Boot sector juga mengandung suatu program sederhana, yang digunakan pada saat system start-up. Boot sector terdapat pada semua disk dan partisi disk, baik yang menggunakan FAT maupun yang menggunakan file system lain. Sektor ini mengandung informasi penting dari disk.

File Allocation Table

Sebuah partisi dibagi menjadi ukuran kluster yang identik, blok kecil ruangan yang berdampingan. Ukuran kluster berubah tergantung pada tipe file system FAT yang digunakan dan ukuran partisi, secara khas ukuran partisi terbentang beberapa tempat antara 2 KB dan 32 KB. Tiap berkas boleh menempati satu atau lebih dari kluster-kluster ini tergantung ukurannya; Demikian, sebuah berkas direpresentasikan dengan sebuah rantai dari kluster-kluster (dihubungkan sebagai singly linked list). Biarpun kluster-kluster ini tidak perlu disediakan berdekatan satu dengan lainnya pada permukaan disk tetapi malahan seringkali memfragmentasi seluruhnya data region.

FAT adalah sebuah daftar entri yang dipetakan ke tiap kluster pada partisi. FAT area terdiri dari dua bagian, yaitu FAT 1 dan FAT 2. FAT 2 adalah salinan dari FAT 1, karena FAT area sangat penting untuk melakukan fungsi-fungsi disk. FAT mengandung sebuah tabel yang terdiri dari 65,536 entri. Setiap entri ini terdiri dari 16-bit dan masing-masing entri ini mengandung angka-angka yang memberikan informasi tentang kluster-kluster.

Setiap entri merekam satu dari lima hal:

  • Nomor kluster dari kluster berikutnya di dalam sebuah rantai.
  • Entri khusus end of clusterchain (EOC) yang mengindikasi sebagai akhir dari sebuah rantai.
  • Entri khusus untuk menandai kluster yang buruk.
  • Entri khusus untuk menandai kluster yang disediakan.
  • Sebuah kluster kosong untuk mencatatkan kluster yang tidak digunakan.

Tiap versi file system FAT menggunakan sebuah ukuran yang berbeda untuk entri-entri FAT. Ukuran diindikasikan dari namanya, sebagai contoh file system FAT16 menggunakan 16 bits untuk tiap entri, sedangkan file sytem FAT32 menggunakan 32 bits. Biarpun, hanya 28 dari semua yang secara aktual digunakan. Perbedaan ini mengartikan bahwa file allocation table dari FAT32 dapat memetakan sebuah nomor kluster yang lebih besar daripada FAT16, memperbolehkan untuk ukuran partisi yang lebih besar dengan FAT32. Ini juga memperbolehkan untuk lebih efisien penggunaan tempat daripada FAT16, karena di harddisk yang sama, tabel FAT32 dapat mengalamatkan kluster-kluster yang lebih kecil yang mengartikan lebih sedikit membuang tempat.

Root Directory

Sebenarnya direktori merupakan daftar dari file-file dan direktori-direktori lainnya. Struktur direktori mengandung direktori entri-direktori entri yang identik, baik untuk root maupun sub direktori. Semua sub direktori paling sedikit mempunyai dua entri, yang menunjuk ke direktori itu sendiri (direpresentasikan dengan satu titik) dan parent directory-nya (direpresentasikan dengan dua titik).

Data Region

Data region merupakan bagian yang terbesar dalam disk. Pada data region ini semua berkas dan sub direktori disimpan. Sektor-sektor dalam data region dialokasikan dalam bentuk kluster. Semua entri dari sub direktori disusun dalam berkas, yang berukuran 32 bytes, yang mengandung field yang sama dengan entri dari root directory. Pada sistem FAT dapat terjadi fragmentasi, yaitu berkas yang berukuran besar menempati kluster-kluster yang terpisah berjauhan. Fragmentasi ini dapat memperlambat pencarian dan pengaksesan berkas. Untuk mengatasi hal ini dilakukan defragmentasi.


Perbandingan Setiap Versi FAT

FAT16

Ukuran Partisi

( HDisk)

Ukuran Cluster FAT16

32 MB

2 KB

128 MB

2 KB

256 MB

4 KB

512 MB

8 KB

1 GB

16 KB

2 GB

32 KB

Kekurangan FAT16 :

  • Sedikitnya ruang penyimpanan. Tidak ada tambahan program atau berkas terutama bagi yang menggunakan sistem dengan Windows95 dan mempunyai harddisk melebihi 512MB.
  • Tidak efektif. Ukuran cluster yang besar menyebabkan terjadinya pemborosan.
  • Tidak efisien dalam susunan berkas dan meminta pengguna sering melakukan defrag agar mendapatkan kluster sebelumnya yang tidak terpakai sepenuhnya.
  • Batas ukuran maksimum disk yang dapat disokong FAT16 dalam satu harddisk adalah 2 GB.

FAT32

Ukuran Partisi

( HDisk)

Ukuran cluster FAT32

32 MB

-

128 MB

-

256 MB

-

512 MB

4 KB

1 GB

4 KB

2 GB

4 KB

3 GB – 7 GB

4 KB

8 GB – 16 GB

8 KB

16 GB – 32 GB

16 KB

Melebihi 32 GB

32 KB

Keunggulan FAT32

  • Menggunakan 32 bits untuk merepresentasikan cluster
  • FAT32 menyediakan ukuran drive lebih besar. Ukuran yang disediakan sampai dengan 2 terabytes, bandingkan dengan FAT 16 yang hanya 2GB.
  • FAT32 menggunakan tempat lebih efisien.
  • FAT32 menggunakan ukuran cluster yang lebih kecil (4 KB cluster untuk ukuran drive 8 GB), lebih efisien 10 s/d 15 persen dibandingkan FAT12 atau FAT16. Batas ukuran minimum untuk partisi FAT32 sekitar 260 MB.
  • FAT32 lebih kuat.
  • FAT32 dapat menampung folder utama dan dapat menggunakan backup copy dari tabel alokasi file daripada default copy. Oleh karena itu FAT32 lebih tidak rentan dari kegagalan dibandingkan FAT16.
  • FAT32 lebih fleksibel. Folder utama pada FAT32 adalah rantai grup biasa, jadi dapat ditempatkan di mana pun pada drive dan tidak ada lagi batasan jumlah masukan untuk folder.
  • Ukuran partisi FAT32 dapat diubah-ubah, tapi tidak dapat diimplementasikan pada initial release.
  • Dapat mencari root directory dan menggunakannya sebagai salinan backup FAT dan ini akan menghindarkan komputer dari bertemunya/ tabrakan antar program (crash).
  • Apabila suatu berkas disimpan atau suatu program diinstall komputer akan menyimpan semua data mengenai aktivitas tersebut di satu kawasan kecil dalam harddisk yang dinamakan kluster.
  • Semakin kecil ukuran kluster, semakin baik data itu disimpan dan diurus. Ukuran kluster ditentukan oleh partisi dan partisi ditentukan oleh sistem berkas yang ditetapkan semasa harddisk diformat.

Keterbatasan FAT32

  • Microsoft akan mendukung fungsional dari file system FAT32 dalam membaca kerusakan-kerusakan secara bebas dan menyimpan berkas-berkas baik dalam bentuk real mode maupun bentuk protect mode. Microsoft mendukung fasilitas real dan protected mode termasuk pada Windows 95.
  • Untuk program-program legal yang tidak akan diinstall pada FAT32 atau tidak akan menyimpan berkas-berkas atau membacanya, kita harus menghubungi pabrik dari perangkat lunak tersebut.
  • Walaupun file system FAT32 mendukung ukuran harddisk sampai 2 terabytes (TB), beberapa harddisk kemungkinan tidak dapat mengisi partisi yang dapat dinyalakan lebih besar dari 7,8 gigabytes (GB) karena keterbatasan dari sistem I/O dasar (BIOS) INT13 interface.

Implementasi Teknik FAT32

  • Implementasi dari FAT32 meliputi beberapa perubahan kecil pada Windows 95. Perbedaan utama antara FAT32 dan implementasi FAT sebelumnya adalah sebagai berikut 2 tipe partisi baru yang didefinisikan sebagai OxB dan OxC. Keduanya mengindikasikan volume FAT32, tipe OxC mengindikasikan partisi FAT32 yang meminta dukungan perluasan INTI3 (LBA).
  • Drive FAT32 membutuhkan 2 sektor (karena perluasan dan penambahan field di dalam BPB). Hasilnya, jumlah dari sektor yang dapat dipesan pada drive FAT32 lebih tinggi daripada FAT16, pada umumnya 32.
  • Area perluasan ini memperbolehkan 2 komplit cetakan dari boot record untuk disimpan di sana, baik sektor kosong dan informasi file system lainnya disimpan. FAT sekarang lebih besar, karena masing-masing masukan sekarang mengambil 4 byte dan biasanya lebih banyak jumlah klusternya dibanding drive FAT16.
  • Root directory tidak disimpan lama pada lokasi yang tetap. Sebuah pointer untuk memulai kluster dari root directory disimpan pada BPB yang sudah diperluas. Masukan direktori format on-disk telah diubah, kecuali 2 byte sebelumnya sudah disiapkan untuk atribut perluasan.


Kinerja File System FAT

Cara Penyimpanan Data

Apabila suatu berkas disimpan atau suatu program diinstall ke dalam komputer, maka akan disimpan semua data mengenai aktivitas tersebut di satu kawasan kecil dalam harddisk yang dinamakan kluster. Semakin kecil ukuran kluster, semakin baik data itu disimpan dan diurus. Ukuran kluster ditentukan oleh partisi dan partisi ditentukan oleh sistem berkas yang ditetapkan semasa harddisk diformat.