Karakteristik sistem file gemuk. sistem file gemuk. Deskripsi sistem file FAT16

Sebelum munculnya sistem operasi Microsoft Windows NT, pengguna komputer pribadi jarang mengalami masalah dalam memilih sistem file. Semua pemilik sistem operasi (OS) MS-DOS dan Microsoft Windows menggunakan salah satu jenis sistem file yang disebut FAT (FAT-12, FAT-16 atau FAT-32).

Sekarang situasinya telah berubah. Saat menginstal OS Microsoft Windows NT/2000/XP, saat memformat disk, Anda harus memilih antara tiga sistem file - FAT-16, FAT-32 atau NTFS.

Pada artikel ini, kita akan berbicara tentang struktur internal dari sistem file yang terdaftar, pertimbangkan kekurangan dan kelebihannya yang melekat. Berbekal pengetahuan ini, Anda akan dapat membuat pilihan berdasarkan informasi yang mendukung sistem file tertentu untuk Microsoft Windows.

Secara singkat tentang sistem file FAT

Sistem file FAT muncul pada awal perkembangan komputer pribadi dan pada awalnya dimaksudkan untuk menyimpan file pada floppy disk.

Informasi disimpan pada disk dan floppy disk dalam porsi, di sektor 512 byte. Seluruh ruang floppy disk dibagi menjadi wilayah dengan panjang tetap, yang disebut cluster. Sebuah cluster dapat berisi satu atau lebih sektor.

Setiap file menempati satu atau lebih cluster, mungkin tidak bersebelahan. Nama file dan informasi lain tentang file, seperti ukuran dan tanggal pembuatan, terletak di area awal floppy disk yang didedikasikan untuk direktori root.

Selain direktori root, direktori lain dapat dibuat dalam sistem file FAT. Bersama dengan direktori root, mereka membentuk pohon direktori yang berisi informasi tentang file dan direktori. Adapun lokasi cluster file pada disk, informasi ini disimpan di area awal disket, yang disebut tabel alokasi file (File Allocation Table, FAT).

Untuk setiap kluster, tabel FAT memiliki sel tersendiri, yang menyimpan informasi tentang bagaimana kluster ini digunakan. Jadi, tabel alokasi file adalah larik yang berisi informasi tentang cluster. Ukuran array ini ditentukan oleh jumlah cluster pada disk.

Direktori menyimpan nomor cluster pertama yang dialokasikan ke file atau subdirektori. Jumlah cluster yang tersisa dapat ditemukan menggunakan tabel alokasi file FAT.

Saat mengembangkan format tabel FAT, tugasnya adalah menghemat ruang, karena Floppy disk memiliki ukuran yang sangat kecil (dari 180 KB hingga 2,44 MB). Oleh karena itu, hanya 12 digit biner yang dialokasikan untuk menyimpan nomor cluster. Akibatnya, tabel FAT dikemas sangat rapat sehingga hanya menempati satu sektor floppy disk.

Tabel FAT berisi informasi penting tentang lokasi direktori dan file. Jika tabel FAT rusak akibat kegagalan perangkat keras, perangkat lunak, atau malware, akses ke file dan direktori akan hilang. Oleh karena itu, untuk tujuan jaring pengaman, dua salinan tabel FAT biasanya dibuat pada disk.

Berbagai versi FAT

Setelah munculnya hard disk berkapasitas besar (pada masa itu, disk berukuran 10-20 MB dianggap besar), jumlah cluster bertambah, dan 12 bit tidak cukup untuk menyimpan jumlahnya. Format tabel alokasi file 16-bit baru dikembangkan, di mana dua byte dialokasikan untuk menyimpan jumlah satu cluster. Sistem file lama yang dirancang untuk floppy disk dikenal sebagai FAT-12, dan yang baru menjadi FAT-16.

Tabel FAT-16 yang diperbesar tidak lagi muat di satu sektor, namun, dengan volume disk yang besar, kekurangan ini tidak memainkan peran yang signifikan. Seperti sebelumnya, untuk asuransi, dua salinan tabel FAT disimpan di disk.

Namun, ketika volume disk mulai diukur dalam ratusan MB dan bahkan dalam gigabyte, sistem file FAT-16 kembali menjadi tidak efisien. Agar nomor cluster sesuai dengan 16 digit, saat memformat disk besar, Anda harus menambah ukuran cluster menjadi 16 KB atau bahkan lebih. Ini menyebabkan masalah ketika penyimpanan disk diperlukan jumlah yang besar file kecil. Karena ruang penyimpanan file dialokasikan dalam kelompok, bahkan file yang sangat kecil harus mengalokasikan terlalu banyak ruang disk.

Akibatnya, yang lain, tampaknya, upaya terakhir untuk meningkatkan sistem file FAT dilakukan - ukuran sel dari tabel alokasi file ditingkatkan menjadi 32. Ini memungkinkan untuk memformat disk ratusan MB dan unit GB menggunakan a ukuran cluster relatif kecil. Sistem file baru dikenal sebagai FAT-32.

Standar 8.3

Sebelum munculnya Microsoft Windows 95, pengguna komputer pribadi terpaksa menggunakan "standar 8.3" yang sangat merepotkan untuk menamai file, di mana nama file harus terdiri dari 8 karakter ditambah 3 karakter ekstensi. Keterbatasan ini diberlakukan tidak hanya oleh antarmuka pemrograman sistem operasi MS-DOS, tetapi juga oleh struktur entri direktori dari sistem file FAT.

Setelah memodifikasi struktur entri direktori, batas jumlah karakter dalam nama file praktis dihapus. Panjang nama file sekarang bisa mencapai 255 karakter, yang jelas cukup dalam banyak kasus. Namun, sistem file FAT yang dimodifikasi ini menjadi tidak kompatibel dengan sistem operasi MS-DOS, serta dengan shell Microsoft Windows versi 3.1 dan 3.11 yang berjalan di lingkungannya.

Anda dapat membaca lebih lanjut tentang format struktur FAT internal di artikel kami "Pemulihan Data dalam Partisi FAT" yang dipublikasikan di situs ini.

Batasan sistem file FAT

Saat memutuskan apakah akan menggunakan sistem file FAT untuk memformat drive, Anda harus mengetahui batasan bawaannya. Pembatasan ini menyangkut, pertama-tama, ukuran maksimum drive FAT, serta ukuran maksimum file yang terletak di drive ini.

Ukuran maksimum drive logis FAT-16 adalah 4 GB, yang sangat kecil menurut standar modern. Microsoft, bagaimanapun, tidak merekomendasikan membuat disk FAT-16 yang lebih besar dari 200 MB, seperti dengan demikian ruang disk akan digunakan dengan sangat tidak efisien.

Secara teoritis, ukuran maksimum drive FAT-32 adalah 8 TB, yang seharusnya cukup untuk menerapkan aplikasi modern apa pun. Nilai ini diperoleh dengan mengalikan jumlah cluster maksimum (268.435.445) dengan ukuran cluster maksimum yang diperbolehkan dalam FAT-32 (32 KB).

Namun, dalam praktiknya situasinya terlihat sedikit berbeda.

Karena keterbatasan internal, utilitas ScanDisk di Microsoft 95/98 tidak dapat bekerja dengan disk yang lebih besar dari 127,53 GB. Setahun yang lalu, batasan seperti itu tidak akan menimbulkan masalah, tetapi hari ini disk 160 GB yang murah telah muncul di pasaran, dan volumenya akan segera menjadi lebih besar.

Untuk sistem operasi Microsoft Windows 2000/XP yang baru, mereka tidak dapat membuat partisi FAT-32 yang lebih besar dari 32 GB. Jika Anda memerlukan partisi dengan ukuran ini atau lebih, Microsoft akan menyarankan agar Anda menggunakan sistem file NTFS.

Batasan signifikan lainnya dari FAT-32 dikenakan pada ukuran file - tidak boleh melebihi 4 GB. Pembatasan ini akan mempengaruhi, misalnya, saat merekam klip video ke disk atau saat membuat file database besar.

Direktori FAT-32 dapat menyimpan maksimal 65534 file.

Kekurangan FAT

Selain keterbatasan yang dibahas di atas, sistem file FAT memiliki kelemahan lain. Yang paling signifikan, tampaknya, adalah tidak adanya alat kontrol akses sama sekali, serta kemungkinan kehilangan informasi tentang lokasi semua file setelah penghancuran tabel FAT yang cukup kompak dan salinannya.

Dengan mem-boot komputer dari floppy disk sistem, penyerang dapat dengan mudah mengakses file apa pun yang disimpan di disk dengan sistem file FAT. Tidak akan sulit baginya untuk kemudian menyalin file-file ini ke perangkat ZIP atau media penyimpanan eksternal lainnya.

Saat menggunakan FAT pada disk server, tidak mungkin memberikan diferensiasi akses pengguna yang andal dan fleksibel ke direktori. Itu sebabnya, dan juga karena toleransi kesalahannya yang rendah, FAT tidak umum digunakan di server.

Kehadiran tabel alokasi file FAT yang ringkas membuat sistem file ini menjadi target yang rentan terhadap virus komputer - cukup untuk menghancurkan fragmen awal disk FAT, dan hampir semua data akan hilang.

sistem file NTFS

Sistem file NTFS modern, yang dikembangkan oleh Microsoft untuk sistem operasi Microsoft Windows NT, tidak memiliki batasan dan kekurangan FAT. Sejak awal, sistem file NTFS yang muncul telah mengalami beberapa peningkatan, yang terbaru (pada saat penulisan ini) dilakukan di Microsoft Windows XP.

Dalam sistem file NTFS, semua atribut file (nama, ukuran, lokasi luasan file pada disk, dll.) disimpan dalam file sistem $MFT yang tersembunyi. Untuk menyimpan informasi tentang setiap file (dan direktori) di $MFT dialokasikan dari satu hingga beberapa KB. Dengan banyaknya file yang tersimpan di disk, ukuran file $MFT bisa mencapai puluhan bahkan ratusan MB.

File kecil (dalam urutan ratusan byte) disimpan langsung di $MFT, yang secara signifikan mempercepat aksesnya.

Perhatikan, bagaimanapun, bahwa overhead NTFS untuk menyimpan informasi sistem, meskipun melebihi overhead FAT, masih tidak terlalu besar dibandingkan dengan volume disk modern. Karena fakta bahwa file $MFT biasanya terletak lebih dekat ke tengah disk, penghancuran trek pertama disk NTFS tidak menyebabkan konsekuensi fatal seperti penghancuran area awal disk FAT.

Sistem file NTFS memiliki banyak fitur yang tidak ditemukan di FAT. Mereka memungkinkan Anda mencapai lebih banyak fleksibilitas, keandalan, dan keamanan dibandingkan dengan FAT.

Mari daftarkan beberapa fitur NTFS yang paling menarik dalam versi modern.

Alat kontrol akses

Sarana diferensiasi akses NTFS cukup fleksibel dan memungkinkan Anda untuk mengelola akses pada tingkat file dan direktori individual, memberikan (atau memblokir) akses ke pengguna individu atau grup pengguna.

Meskipun pada pandangan pertama tampaknya alat kontrol akses hanya diperlukan untuk server file, mereka juga akan diperlukan jika beberapa pengguna memiliki akses ke komputer.

Enkripsi file

Alat kontrol akses yang disebutkan di atas tidak akan berguna jika disk NTFS fisik jatuh ke tangan penyerang. Menggunakan utilitas modern, isi disk semacam itu dapat dengan mudah dibaca di lingkungan sistem operasi apa pun - DOS, Microsoft Windows, atau Linux.

Untuk melindungi file pengguna dari akses tidak sah, sistem operasi Microsoft Windows 2000/XP menyediakan enkripsi tambahan untuk file yang disimpan di partisi NTFS. Dan meskipun kekuatan enkripsi semacam itu mungkin tidak terlalu tinggi, itu cukup memadai dalam banyak kasus.

RAID perangkat lunak

Menggunakan NTFS, Anda dapat membuat apa yang disebut perangkat lunak array RAID 1 (Mirrored set). Array ini, terdiri dari dua fisik atau drive logis dengan volume yang sama, memungkinkan Anda untuk menggandakan (atau, seperti yang mereka katakan, "mirror") file.

Array seperti itu dapat menyimpan file Anda jika terjadi kegagalan fisik salah satu disk yang menyusun array tersebut, sehingga sering digunakan untuk meningkatkan keandalan sistem disk.

Pengaturan Volume

Sistem file NTFS memungkinkan Anda menggabungkan beberapa partisi yang terletak di satu atau lebih disk fisik ke dalam satu volume logis. Ini mungkin diperlukan, misalnya, untuk menyimpan file database besar yang tidak muat di satu disk fisik, atau untuk membuat direktori dengan volume total file yang melebihi ukuran disk fisik.

Kumpulan yang dibuat dari beberapa partisi atau disk fisik disebut Kumpulan Volume (dalam terminologi Microsoft Windows NT) atau Volume Terbentang (dalam terminologi Windows 2000/XP).

Mengemas file

Untuk menghemat ruang disk, Anda dapat menggunakan kemampuan NTFS untuk mengemas (mengompres) file. Selain itu, NTFS memungkinkan Anda membuat apa yang disebut file jarang (jarang) yang berisi area data nol. File seperti itu bisa berukuran besar tetapi hanya memakan sedikit ruang disk karena hanya byte signifikan dari file yang benar-benar disimpan.

Perhatikan bahwa mengemas file akan menyebabkan beberapa pelambatan. Namun, keadaan ini tidak selalu penting. Misalnya, dokumen kantor dapat dikemas tanpa penurunan kecepatan yang nyata, tetapi ini tidak berlaku untuk file database yang diakses oleh banyak pengguna pada saat yang bersamaan. Dengan cakram berkapasitas tinggi yang relatif murah di pasaran, media pengemasan hanya boleh digunakan saat benar-benar dibutuhkan. Ini, bagaimanapun, berlaku untuk fitur NTFS lainnya juga.

File multithread

Jika perlu, beberapa aliran informasi dapat disimpan dalam satu file yang direkam pada disk NTFS. Ini memungkinkan, khususnya, untuk menyediakan file dokumen dengan informasi tambahan, menyimpan beberapa versi dokumen dalam satu file (misalnya, dalam bahasa yang berbeda), menyimpan kode program dan data dalam aliran terpisah dari satu file, dll.

ikatan keras

Tautan keras (tautan keras) memungkinkan Anda untuk menetapkan beberapa nama berbeda ke satu file fisik dengan menempatkan nama-nama ini (yaitu tautan ke file) di direktori yang berbeda. Menghapus tautan tidak menghapus file itu sendiri. Hanya ketika semua tautan file dihancurkan, file itu sendiri akan dihapus.

Perhatikan bahwa fitur tersebut tipikal untuk sistem file yang digunakan dalam sistem operasi mirip Unix, misalnya, di Linux, FreeBSD, dll.

Timpa poin

Objek sistem NTFS seperti titik reparse memungkinkan Anda mengganti file atau direktori apa pun. Dalam hal ini, misalnya, file atau direktori yang jarang digunakan sebenarnya dapat disimpan pada pita magnetik, dimuat ke disk hanya jika diperlukan.

Transisi

Menggunakan transisi NTFS, Anda dapat memasang hard drive atau CD lain ke direktori drive. Fitur ini awalnya ada di sistem file sistem operasi mirip Unix.

Kuota ruang disk

Sistem file NTFS, yang digunakan di Microsoft Windows 2000/XP, memungkinkan Anda mengutip atau membatasi ruang disk yang tersedia bagi pengguna. Fitur ini sangat berguna saat membuat server file.

Ubah Pencatatan

Dalam perjalanannya, sistem operasi melakukan berbagai tindakan pada file (pembuatan, modifikasi, penghapusan). Semua perubahan tersebut disimpan dalam jurnal khusus yang dibuat pada volume NTFS dan dapat digunakan oleh program pencadangan, sistem pengindeksan, dll. Perubahan pencatatan meningkatkan keandalan sistem file, memungkinkan dalam beberapa kasus untuk terus bekerja setelah kegagalan sistem operasi dan perangkat keras yang tidak kritis. Meskipun, tentu saja, sebagian besar kegagalan serius mengakibatkan perlunya pemulihan data cadangan atau menggunakan utilitas pemulihan data khusus.

keterbatasan NTFS

Terlepas dari banyaknya fitur, sistem file NTFS juga memiliki beberapa keterbatasan. Namun, dalam banyak kasus mereka tidak memainkan peran penting.

Ukuran maksimum drive logis NTFS adalah sekitar 18.446.744 TB, yang jelas cukup untuk semua aplikasi modern, serta aplikasi yang akan muncul dalam waktu dekat. Ukuran file maksimum bahkan lebih besar, jadi batasan ini juga tidak signifikan.

Tidak ada batasan jumlah file yang disimpan dalam satu direktori NTFS, jadi ini juga memiliki keunggulan dibandingkan FAT.

Perbandingan NTFS dan FAT untuk kecepatan akses file

Dalam hal masa depan, fungsionalitas, keamanan, dan keandalan, NTFS jauh di depan FAT. Namun, membandingkan kinerja sistem file ini tidak memberikan hasil yang jelas, karena kinerja bergantung pada banyak faktor.

Karena FAT jauh lebih sederhana dalam pengoperasian dan struktur internal daripada NTFS, FAT cenderung lebih cepat saat menangani direktori kecil. Namun, jika isi direktori sangat kecil sehingga muat seluruhnya dalam satu atau lebih entri file $MFT, atau sebaliknya, jika direktori sangat besar, NTFS akan "menang".

Telapak tangan kemungkinan besar akan masuk ke NTFS saat mencari file atau direktori yang tidak ada (karena tidak memerlukan pemindaian lengkap dari isi direktori), saat mengakses file kecil (dalam urutan ratusan byte), dan juga dalam kasus fragmentasi disk yang parah.

Untuk meningkatkan kinerja NTFS, Anda dapat meningkatkan ukuran cluster, tetapi hal ini dapat menyebabkan pemborosan penggunaan ruang disk saat menyimpan sejumlah besar file yang lebih besar dari 1-2 KB dan berjumlah puluhan KB. Dengan meningkatkan ukuran cluster menjadi 64 KB, Anda bisa mendapatkan peningkatan kinerja maksimal, tetapi Anda harus melepaskan pengemasan file dan menggunakan utilitas defragmentasi.

Mengemas file yang terletak di disk kecil (sekitar 4 GB) dapat meningkatkan performa, sedangkan mengompresi disk besar dapat menurunkan performa. Bagaimanapun, pengemasan akan menyebabkan beban tambahan pada CPU.

Jadi apa yang harus dipilih - FAT atau NTFS?

Seperti yang Anda lihat, NTFS memiliki banyak keunggulan dibandingkan FAT, dan keterbatasannya dapat diabaikan dalam banyak kasus. Jika Anda dihadapkan pada pilihan sistem file, pertimbangkan untuk menggunakan NTFS terlebih dahulu dan FAT kedua.

Apa yang mungkin menjadi hambatan untuk mengganti FAT dengan NTFS?

Kendala yang paling serius adalah kebutuhan untuk menggunakan Microsoft Windows NT/2000/XP. OS ini membutuhkan setidaknya 64 MB untuk berjalan dengan baik. memori akses acak dan prosesor dengan frekuensi clock minimal 200-300 MHz. Namun, persyaratan ini tidak hanya dipenuhi oleh komputer yang sangat tua yang tidak mampu menjalankan versi modern Microsoft Windows.

Jika komputer Anda dapat berjalan di bawah Microsoft Windows 2000/XP, dan Anda tidak memiliki satu aplikasi pun yang dirancang khusus untuk Microsoft Windows 95/98/ME, kami menyarankan agar Anda beralih ke sistem operasi baru sesegera mungkin, mengganti FAT ini menjadi NTFS.

Pada saat yang sama, Anda juga akan mendapatkan peningkatan nyata dalam keandalan pekerjaan, karena. setelah menginstal semua paket layanan yang diperlukan, serta versi driver perangkat periferal yang benar, Microsoft Windows 2000/XP akan bekerja dengan sangat stabil.

Dalam beberapa kasus, Anda harus menggabungkan beberapa sistem file dalam satu disk fisik. Misalnya, jika komputer Anda memiliki tiga sistem operasi Microsoft Windows ME, Microsoft Windows XP dan Linux, Anda dapat membuat tiga sistem file - FAT, NTFS, dan Ext2FS. Yang pertama akan "terlihat" saat bekerja di Microsoft Windows ME dan Linux, yang kedua - hanya di Microsoft Windows XP, dan yang ketiga - hanya di Linux (perhatikan bahwa di LINUX juga ada kemungkinan mengakses partisi NTFS).

Tetapi jika Anda membuat server (file, database atau Web) berdasarkan Microsoft Window NT/2000/XP, maka NTFS adalah satu-satunya pilihan yang masuk akal. Hanya dalam kasus ini dimungkinkan untuk mencapai stabilitas, keandalan, dan keamanan server yang diperlukan.

Ada juga pendapat yang diterima secara umum (dan, menurut pendapat kami, salah) bahwa pengguna komputer rumahan tidak memerlukan sistem operasi Microsoft Window NT/2000/XP atau sistem file NTFS.

Tentu saja, jika komputer digunakan khusus untuk bermain game, untuk alasan kompatibilitas, yang terbaik adalah menginstal Microsoft Windows 98/ME dan memformat drive dalam FAT. Namun, jika Anda bekerja tidak hanya di kantor, tetapi juga di rumah, lebih baik menggunakan solusi modern, profesional, dan andal. Ini akan memungkinkan, khususnya, untuk mengatur perlindungan terhadap intrusi di komputer Anda melalui Internet, membatasi akses ke direktori dan file dengan data penting, dan juga meningkatkan peluang pemulihan informasi yang berhasil jika terjadi berbagai jenis kegagalan.

pengantar

2.1 sistem FAT16

2.2 sistem FAT32

2.3 Perbandingan FAT16 dan FAT32

3.1 sistem NTFS

3.2 Perbandingan NTFS dan FAT32

Kesimpulan

Bibliografi

pengantar

Saat ini, rata-rata, beberapa puluh ribu file direkam dalam satu disk. Bagaimana memahami semua keragaman ini untuk menangani file secara akurat? Tujuan dari sistem file adalah solusi yang efektif untuk masalah ini.

Sistem file, dari sudut pandang pengguna, adalah "ruang" tempat file ditempatkan. Dan sebagai istilah ilmiah, ini adalah cara menyimpan dan mengatur akses ke data pada pembawa informasi atau bagiannya. Kehadiran sistem file memungkinkan Anda untuk menentukan nama file, di mana lokasinya. Karena informasi disimpan terutama pada disk pada komputer yang kompatibel dengan IBM PC, sistem file yang digunakan pada mereka menentukan pengorganisasian data pada disk (lebih tepatnya, pada disk logis). Kami akan melihat sistem file FAT.

sistem file ntfs gemuk

1. Sejarah penciptaan dan karakteristik umum Sistem file FAT

Sistem file FAT (File Allocation Table) dikembangkan oleh Bill Gates dan Mark McDonald pada tahun 1977 dan awalnya digunakan dalam sistem operasi 86-DOS. Untuk mencapai portabilitas program dari sistem operasi CP/M ke 86-DOS, ia mempertahankan batasan sebelumnya pada nama file. 86-DOS kemudian diakuisisi oleh Microsoft dan menjadi dasar MS-DOS 1.0, dirilis pada Agustus 1981. FAT dirancang untuk bekerja dengan floppy disk yang lebih kecil dari 1 MB, dan awalnya tidak mendukung hard disk. FAT saat ini mendukung file dan partisi hingga ukuran 2 GB.

FAT menggunakan konvensi penamaan file berikut:

nama harus dimulai dengan huruf atau angka dan dapat berisi karakter ASCII apa pun kecuali spasi dan "/\ :; |=,^*?

Panjang nama hingga 8 karakter, diikuti dengan titik dan ekstensi opsional hingga 3 karakter.

kasus karakter dalam nama file tidak dibedakan dan tidak dipertahankan.

Struktur partisi FAT ditunjukkan pada Tabel 1.1 Blok parameter BIOS berisi informasi yang dibutuhkan oleh BIOS tentang karakteristik fisik perangkat keras. Sistem file FAT tidak dapat mengontrol setiap sektor secara terpisah, sehingga menggabungkan sektor yang berdekatan menjadi kluster. Ini mengurangi jumlah total unit penyimpanan yang harus dilacak oleh sistem file. Ukuran cluster dalam FAT adalah pangkat dua dan ditentukan oleh ukuran volume saat memformat disk (Tabel 1.2). Cluster adalah ruang minimum yang dapat ditempati file. Hal ini menyebabkan beberapa ruang disk terbuang sia-sia. Sistem operasi menyertakan berbagai utilitas (DoubleSpace, DriveSpace) yang dirancang untuk memadatkan data pada disk.

Tab. 1.1 - Struktur partisi FAT

Sektor Boot Blok Parameter BIOS (BPB) FATFAT (salinan) Area File Direktori Akar

FAT mendapatkan namanya dari tabel alokasi file dengan nama yang sama. Tabel alokasi file menyimpan informasi tentang cluster disk logis. Setiap cluster di FAT memiliki entri terpisah yang menunjukkan apakah itu gratis, sibuk dengan data file, atau ditandai sebagai buruk (rusak). Jika cluster ditempati oleh sebuah file, maka alamat cluster yang berisi bagian selanjutnya dari file tersebut ditunjukkan dalam entri yang sesuai di tabel alokasi file. Karena itu, FAT disebut sistem file daftar tertaut. Versi asli FAT, dikembangkan untuk DOS 1.00, menggunakan tabel alokasi file 12-bit dan mendukung partisi hingga ukuran 16 MB (maksimal dua partisi FAT dapat dibuat di DOS). Untuk mendukung hard drive yang lebih besar dari 32 MB, kedalaman bit FAT telah ditingkatkan menjadi 16 bit, dan ukuran cluster menjadi 64 sektor (32 KB). Karena setiap cluster dapat diberi nomor 16-bit yang unik, FAT mendukung maksimal 216, atau 65536 cluster per volume.

Tabel 1.2 - Ukuran cluster

Ukuran partisiUkuran clusterTipe FAT< 16 Мб4 КбFAT1216 Мб - 127 Мб2 КбFAT16128 Мб - 255 Мб4 КбFAT16256 Мб - 511 Мб8 КбFAT16512 Мб - 1023 Мб16 КбFAT161 Гб - 2 Гб32 КбFAT16

Karena catatan boot terlalu kecil untuk menyimpan algoritme pencarian file sistem pada disk, file sistem harus berada di lokasi tertentu agar catatan boot dapat menemukannya. Posisi tetap file sistem di awal area data memberlakukan batasan tegas pada ukuran direktori root dan tabel alokasi file. Akibatnya, jumlah file dan subdirektori di bawah direktori root pada drive FAT dibatasi hingga 512.

Setiap file dan subdirektori di FAT memiliki entri direktori 32-byte yang berisi nama file, atributnya (arsip, tersembunyi, sistem, dan hanya-baca). ), tanggal dan waktu pembuatan (atau perubahan terakhir yang dibuat), serta informasi lainnya (Tabel 1.3).

Tabel 1.3 - Elemen katalog

Sistem file FAT selalu mengisi ruang disk kosong secara berurutan dari awal hingga akhir. Saat membuat file baru atau memperluas yang sudah ada, ia mencari cluster gratis pertama di tabel alokasi file. Jika selama bekerja beberapa file dihapus, sementara yang lain diubah ukurannya, maka cluster kosong yang dihasilkan akan tersebar di seluruh disk. Jika cluster yang berisi data file tidak dalam satu baris, maka file tersebut terfragmentasi. File yang sangat terfragmentasi secara signifikan mengurangi efisiensi kerja, karena kepala baca / tulis, saat mencari rekaman file berikutnya, harus berpindah dari satu area disk ke area lain. Sistem operasi yang mendukung FAT biasanya menyertakan utilitas defragmentasi disk khusus yang dirancang untuk meningkatkan kinerja operasi file.

Kerugian lain dari FAT adalah kinerjanya sangat bergantung pada jumlah file yang disimpan dalam satu direktori. Dengan jumlah file yang banyak (sekitar seribu), operasi membaca daftar file di direktori mungkin memakan waktu beberapa menit. Hal ini disebabkan oleh fakta bahwa dalam FAT sebuah direktori memiliki struktur linier yang tidak terurut, dan nama file dalam direktori sesuai dengan urutan pembuatannya. Akibatnya, semakin banyak entri dalam direktori, semakin lambat program bekerja, karena saat mencari file, perlu untuk melihat semua entri dalam direktori secara berurutan. Karena FAT pada awalnya dirancang untuk sistem operasi DOS pengguna tunggal, itu tidak menyediakan untuk menyimpan informasi seperti informasi pemilik atau izin akses file / direktori Ini adalah sistem file yang paling umum dan sebagian besar sistem operasi modern mendukungnya sampai tingkat tertentu atau lebih. lain. Karena keserbagunaannya, FAT dapat digunakan pada volume yang bekerja dengan sistem operasi yang berbeda.

Meskipun tidak ada hambatan untuk menggunakan sistem file lain saat memformat floppy disk, sebagian besar sistem operasi menggunakan FAT untuk kompatibilitas. Hal ini sebagian dapat dijelaskan oleh fakta bahwa struktur FAT yang sederhana membutuhkan lebih sedikit ruang untuk menyimpan data layanan daripada sistem lain. Keunggulan sistem file lain menjadi nyata hanya jika digunakan pada media yang lebih besar dari 100 MB.

Perlu dicatat bahwa FAT adalah sistem file sederhana yang tidak mencegah kerusakan file karena shutdown komputer yang tidak normal. Sistem operasi yang mendukung FAT menyertakan utilitas khusus yang memeriksa struktur dan memperbaiki inkonsistensi dalam sistem file.

2. Karakteristik sistem file FAT16 dan FAT32 serta perbandingannya

.1 sistem FAT16

Sistem file FAT 16, yang merupakan sistem file utama untuk sistem operasi DOS, Windows 95⁄98⁄Me, Windows NT⁄2000⁄XP, dan juga didukung oleh sebagian besar sistem lainnya. FAT 16 adalah sistem file sederhana yang dirancang untuk drive kecil dan struktur direktori sederhana. Nama tersebut berasal dari nama metode organisasi file - Tabel Alokasi File. Tabel ini ditempatkan di awal disk. Angka 16 berarti sistem file ini 16-bit - 16 bit digunakan untuk mengatasi cluster. Sistem operasi menggunakan Tabel Alokasi File untuk menemukan file dan menentukan cluster yang ditempati file di hard drive. Selain itu, Tabel berisi informasi tentang klaster bebas dan klaster cacat. Agar lebih mudah memahami sistem file FAT16, bayangkan daftar isi sebuah buku dan bagaimana Anda bekerja dengan daftar isi ini, begitulah cara kerja sistem operasi dengan FAT 16.

Untuk membaca file, sistem operasi harus menemukan entri di folder dengan nama file dan membaca nomor cluster pertama dari file tersebut. Cluster pertama mewakili awal file. Maka Anda perlu membaca elemen FAT yang sesuai dengan cluster pertama dari file tersebut. Jika elemen berisi label - yang terakhir dalam rantai, maka tidak perlu mencari lebih jauh: seluruh file cocok dalam satu kluster. Jika cluster tersebut bukan yang terakhir, maka elemen tabel berisi nomor dari cluster berikutnya. Isi cluster berikutnya harus dibaca setelah yang pertama. Ketika cluster terakhir dalam rantai ditemukan, maka jika file tidak menempati seluruh cluster, perlu untuk memotong byte tambahan dari cluster. Kelebihan byte dipangkas sesuai dengan panjang file yang disimpan dalam entri folder.

Untuk menulis file, sistem operasi harus melakukan urutan tindakan berikut. Deskripsi file dibuat dalam elemen folder gratis, kemudian elemen FAT gratis dicari, dan tautannya ditempatkan di entri folder. Cluster pertama yang dijelaskan oleh elemen FAT yang ditemukan telah ditempati. Elemen FAT ini diisi dengan nomor klaster berikutnya atau tanda klaster terakhir pada rantai tersebut.

Sistem operasi bertindak sedemikian rupa untuk mengumpulkan rantai dari cluster tetangga dalam urutan menaik. Jelas bahwa akses ke cluster yang berurutan akan jauh lebih cepat daripada cluster yang tersebar secara acak di seluruh disk. Dalam hal ini, sudah ditempati dan ditandai di FAT sebagai cluster buruk diabaikan.

Dalam sistem file FAT16, 16 bit dicadangkan untuk nomor cluster. karena itu jumlah maksimum cluster adalah 65525 dan ukuran cluster maksimum adalah 128 sektor. Dalam hal ini, ukuran maksimum partisi atau disk di FAT16 adalah 4,2 gigabyte. Saat memformat disk atau partisi secara logis, sistem operasi mencoba menggunakan ukuran cluster minimum yang akan menghasilkan cluster maksimum 65525. Jelas, semakin besar ukuran partisi, semakin besar pula ukuran cluster. Banyak sistem operasi tidak bekerja dengan benar dengan 128 sektor cluster. Akibatnya, ukuran maksimum partisi FAT16 dikurangi menjadi 2 gigabyte. Biasanya, semakin besar ukuran cluster, semakin besar ruang disk yang terbuang. Ini karena cluster terakhir yang ditempati oleh file hanya terisi sebagian. Misalnya, jika file 17 KB ditulis ke partisi dengan ukuran cluster 16 KB, maka file tersebut akan mengambil dua cluster, dengan cluster pertama penuh, cluster kedua hanya menulis 1 KB data, dan sisanya 15 Ruang KB di kluster kedua tersisa tidak terpakai, penuh dan tidak akan dapat ditulisi oleh file lain. Jika sejumlah besar file kecil ditulis ke disk besar, maka ruang disk akan hilang secara signifikan. Tabel 2.1 berikut memberikan informasi tentang kemungkinan ruang disk terbuang untuk ukuran partisi yang berbeda.

Tab. 2.1.1 - Kehilangan ruang disk

Ukuran PartisiUkuran ClusterRuang Disk Terbuang127MB2Kb2%128-255MB4Kb4%256-511MB8Kb10%512-1023MB16Kb25%1024-2047MB32Kb40%2048-4096MB64Kb50%

Ada dua cara untuk mengurangi ruang disk yang terbuang. Yang pertama adalah mempartisi ruang disk menjadi partisi kecil dengan ukuran cluster kecil. Yang kedua menggunakan sistem file FAT32<#"center">2.2 sistem FAT32

Sistem file FAT32 adalah sistem file yang lebih baru berdasarkan format FAT dan didukung oleh Windows 95 OSR2, Windows 98, dan Windows Millennium Edition. FAT32 menggunakan ID cluster 32-bit, tetapi mencadangkan 4 bit teratas, sehingga ukuran ID cluster yang efektif adalah 28 bit. Karena ukuran maksimum cluster FAT32 adalah 32 KB, FAT32 secara teoritis dapat menangani volume 8 terabyte. Windows 2000 membatasi ukuran volume FAT32 baru menjadi 32 GB, meskipun Windows 2000 mendukung volume FAT32 yang lebih besar (dibuat pada sistem operasi lain). Jumlah kluster yang lebih besar yang didukung oleh FAT32 memungkinkannya mengelola disk lebih efisien daripada FAT 16. FAT32 dapat menggunakan kluster 512 byte untuk volume hingga 128 MB.

Sistem file FAT 32 di Windows 98 digunakan sebagai default. Sistem operasi ini dilengkapi dengan program konversi disk khusus dari FAT 16 ke FAT 32. Windows NT dan Windows 2000 juga dapat menggunakan sistem file FAT, sehingga Anda dapat mem-boot komputer Anda dari disk DOS dan memiliki akses penuh ke semua file. Namun, beberapa fitur tercanggih dari Windows NT dan Windows 2000 disediakan oleh sistem file NTFS (NT File System) miliknya sendiri. NTFS memungkinkan Anda membuat partisi hingga 2 TB pada disk (seperti FAT 32), tetapi, selain itu, ia memiliki fungsi kompresi file, keamanan, dan audit bawaan yang diperlukan saat bekerja di lingkungan jaringan. Dan Windows 2000 mengimplementasikan dukungan untuk sistem file FAT 32. Sistem Windows NT dimulai pada disk FAT, tetapi pada akhir penginstalan, data pada disk dapat dikonversi ke format NTFS di akhir penginstalan.

Anda juga dapat melakukannya nanti menggunakan utilitas Konversi. exe yang disertakan dengan sistem operasi. Partisi disk yang diubah menjadi NTFS menjadi tidak dapat diakses oleh sistem operasi lain. Untuk kembali ke DOS, Windows 3.1, atau Windows 9x, Anda harus menghapus partisi NTFS dan membuat partisi FAT. Windows 2000 dapat diinstal pada drive dengan sistem file FAT 32 dan NTFS.

Kemampuan sistem file FAT32 jauh lebih luas daripada FAT16. Fitur terpentingnya adalah mendukung disk hingga 2047 GB dan bekerja dengan cluster yang lebih kecil, sehingga secara signifikan mengurangi jumlah ruang disk yang terbuang. Misalnya, hard drive 2 GB di FAT16 menggunakan cluster 32 KB, sedangkan FAT32 menggunakan cluster 4 KB. Untuk menjaga kompatibilitas dengan program, jaringan, dan driver perangkat yang ada sedapat mungkin, FAT32 diimplementasikan dengan sedikit perubahan pada arsitektur, API, struktur data internal, dan format disk. Namun, karena ukuran elemen tabel FAT32 sekarang menjadi empat byte, banyak struktur data internal dan disk, serta API, harus direvisi atau diperluas. API tertentu pada drive FAT32 diblokir untuk mencegah utilitas disk lama merusak konten drive FAT32. Sebagian besar program tidak akan terpengaruh oleh perubahan ini. Ada peralatan dan driver juga akan bekerja pada drive FAT32. Namun, driver perangkat blok MS-DOS (seperti Aspidisk.sys) dan utilitas disk perlu dimodifikasi untuk mendukung FAT32. Semua utilitas disk yang disediakan oleh Microsoft (Format, Fdisk, Defrag, dan ScanDisk untuk mode nyata dan terproteksi) telah didesain ulang untuk sepenuhnya mendukung FAT32. Selain itu, Microsoft membantu vendor utilitas disk dan driver perangkat terkemuka memodifikasi produk mereka untuk mendukung FAT32. FAT32 lebih efisien daripada FAT16 saat bekerja dengan disk yang lebih besar dan tidak mengharuskannya dipartisi menjadi partisi 2 GB. Windows 98 tentu mendukung FAT16, karena sistem file inilah yang kompatibel dengan sistem operasi lain, termasuk perusahaan pihak ketiga. Dalam mode nyata MS-DOS dan masuk mode aman Windows 98, sistem file FAT32 jauh lebih lambat daripada FAT16. Oleh karena itu, saat menjalankan program dalam mode MS DOS, disarankan untuk menyertakan Autoexec. perintah file bat atau PIF untuk mengunduh Smartdrv. exe, yang akan mempercepat operasi disk. Beberapa program FAT16 lama mungkin melaporkan informasi yang salah tentang jumlah ruang disk kosong atau total jika lebih dari 2 GB. Windows 98 menyediakan API baru untuk MS-DOS dan Win32 yang memungkinkan metrik ini ditentukan dengan benar.

.3 Perbandingan FAT16 dan FAT32

Tabel 2.3.1 - Perbandingan sistem file FAT16 dan FAT32

FAT16FAT32 Diimplementasikan dan digunakan oleh sebagian besar sistem operasi (MS-DOS, Windows 98, Windows NT, OS/2, UNIX). Saat ini hanya didukung pada Windows 95 OSR2 dan Windows 98. Sangat efektif untuk drive logis yang lebih kecil dari 256 MB. Tidak berfungsi dengan disk yang lebih kecil dari 512 MB. Mendukung kompresi disk, seperti algoritma DriveSpace. Tidak mendukung kompresi disk. Menangani maksimal 65.525 cluster, yang ukurannya bergantung pada ukuran drive logis. Karena ukuran kluster maksimum adalah 32 KB, FAT16 hanya dapat menangani disk logis hingga 2 GB. Mampu bekerja dengan drive logis hingga 2047 GB dengan ukuran cluster maksimum 32 KB.

Panjang file maksimum yang mungkin dalam FAT32 adalah 4 GB dikurangi 2 byte. Aplikasi Win32 dapat membuka file sepanjang ini tanpa pemrosesan khusus. Aplikasi lain harus menggunakan interupsi Int 21h, fungsi 716C (FAT32) dengan open flag sama dengan EXTEND-SIZE (1000h).

Dalam sistem file FAT32, 4 byte dialokasikan untuk setiap cluster dalam tabel alokasi file, sedangkan di FAT16 - 2 byte, dan di FAT12 - 1,5 byte.

4 bit teratas dari entri tabel FAT32 32-bit dicadangkan dan tidak berpartisipasi dalam pembentukan nomor cluster. Program yang langsung membaca tabel FAT32 harus menutupi bit-bit ini dan mencegahnya diubah saat nilai baru ditulis.

Jadi, FAT32 memiliki keunggulan sebagai berikut dibandingkan implementasi sistem file FAT sebelumnya:

mendukung drive hingga 2 TB;

mengatur ruang disk lebih efisien. FAT32 menggunakan cluster yang lebih kecil (4 KB untuk drive hingga 8 GB), yang menghemat ruang hingga 10-15% pada drive besar dibandingkan dengan FAT;

direktori root FAT 32, seperti semua direktori lainnya, sekarang tidak terbatas, terdiri dari rangkaian cluster dan dapat ditempatkan di mana saja di disk;

memiliki keandalan yang lebih tinggi: FAT32 dapat memindahkan direktori root dan bekerja dengan cadangan FAT, selain itu, catatan boot pada drive FAT32 telah diperluas untuk menyertakan cadangan struktur data penting, yang berarti drive FAT32 kurang sensitif terhadap terjadinya patch buruk yang terpisah dari volume FAT yang ada;

program memuat 50% lebih cepat.

Tabel 2.3.2 - Perbandingan ukuran klaster

Ukuran DiskFAT16 Ukuran Cluster KBFAT32 Ukuran Cluster KB256MB-511MB8Tidak Didukung512MB-1023MB1641024MB-2GB3242GB-8GBTidak Didukung48GB-16GBTidak Didukung816GB-32GBTidak Didukung16Lebih dari 32GBTidak Didukung32

3. Sistem file alternatif NTFS dan perbandingannya dengan FAT32

3.1 sistem NTFS

(Sistem File Teknologi Baru) adalah sistem file yang paling disukai saat bekerja dengan Windows NT, karena dirancang khusus untuk sistem ini. Windows NT menyertakan utilitas konversi yang mengubah volume FAT dan HPFS menjadi volume NTFS. Di NTFS, kemungkinan untuk mengelola akses ke file dan direktori individual diperluas secara signifikan, sejumlah besar atribut diperkenalkan, toleransi kesalahan diimplementasikan, alat kompresi file dinamis diimplementasikan, dan dukungan untuk persyaratan standar POSIX. NTFS memungkinkan nama file hingga 255 karakter, dan menggunakan algoritma pembuatan nama pendek yang sama seperti VFAT. NTFS menyembuhkan diri sendiri jika terjadi kegagalan OS atau perangkat keras, sehingga volume disk tetap tersedia dan struktur direktori tetap utuh.

Setiap file pada volume NTFS diwakili oleh entri dalam file khusus, MFT (Master File Table). NTFS mencadangkan 16 entri tabel pertama, berukuran sekitar 1MB, untuk informasi khusus. Entri tabel pertama menjelaskan secara langsung tabel file utama itu sendiri. Ini diikuti oleh entri MFT yang dicerminkan. Jika entri MFT pertama rusak, NTFS membaca entri kedua untuk menemukan file MFT yang dicerminkan yang entri pertamanya identik dengan entri MFT pertama. Lokasi segmen data MFT dan file cermin MFT disimpan di sektor bootstrap. Salinan sektor bootstrap terletak di pusat logis disk. Entri MFT ketiga berisi file log yang digunakan untuk memulihkan file. Entri ketujuh belas dan selanjutnya dalam tabel file master digunakan oleh file dan direktori aktual pada volume.

Log transaksi (file log) merekam semua operasi yang memengaruhi struktur volume, termasuk pembuatan file dan perintah apa pun yang mengubah struktur direktori. Log transaksi digunakan untuk memulihkan volume NTFS setelah kegagalan sistem. Entri untuk direktori root berisi daftar file dan direktori yang disimpan di direktori root.

Skema alokasi ruang pada volume disimpan dalam file bitmap. Atribut data dari file ini berisi bitmap, yang masing-masing bitnya mewakili satu kluster volume dan menunjukkan apakah kluster tersebut kosong atau ditempati oleh beberapa file. Ini juga mendukung file kluster yang buruk untuk mendaftarkan area yang buruk pada volume dan file volume A berisi nama volume, versi NTFS, dan bit yang disetel saat volume rusak. Terakhir, ada file yang berisi tabel definisi atribut yang menentukan jenis atribut yang didukung pada volume dan apakah atribut tersebut dapat diindeks, dipulihkan oleh pemulihan sistem, dll. mengalokasikan ruang dalam kluster dan menggunakan 64 bit untuk menomori mereka , yang membuatnya mungkin untuk memiliki 264 cluster, masing-masing berukuran hingga 64 KB. Seperti pada FAT, ukuran cluster dapat berubah, tetapi tidak harus bertambah sebanding dengan ukuran disk. Ukuran cluster yang ditetapkan secara default saat memformat partisi ditunjukkan pada Tabel 3.1.

Ukuran partisi Ukuran cluster< 512 Мб512 байт513 Мб - 1024 Мб (1 Гб) 1 Кб1 Гб - 2 Гб2 Кб2 Гб - 4 Гб4 Кб4 Гб - 8 Гб8 Кб8 Гб - 16 Гб16 Кб16 Гб - 32 Гб32 Кб>32 GB64KB memungkinkan Anda menyimpan file hingga 16 exabyte (264 byte) dan memiliki pemadatan file real-time bawaan. Kompresi adalah salah satu atribut file atau direktori dan, seperti atribut apa pun, dapat dihapus atau disetel kapan saja (kompresi dimungkinkan pada partisi dengan ukuran cluster tidak lebih dari 4 KB). Saat memadatkan file, berbeda dengan skema kompresi yang digunakan dalam FAT, pemadatan per file digunakan, sehingga kerusakan pada area kecil disk tidak menyebabkan hilangnya informasi di file lain.

Untuk mengurangi fragmentasi, NTFS selalu mencoba menyimpan file dalam blok yang berdekatan. Sistem ini menggunakan struktur direktori B-tree yang serupa dengan sistem file HPFS berperforma tinggi, daripada struktur daftar tertaut yang digunakan oleh FAT. Ini membuat pencarian file dalam direktori lebih cepat karena nama file disimpan dengan urutan leksikografis.dirancang sebagai sistem file yang dapat dipulihkan yang menggunakan model pemrosesan transaksi. Setiap operasi I/O yang mengubah file pada volume NTFS diperlakukan sebagai transaksi oleh sistem dan dapat dijalankan sebagai blok yang tidak dapat dibagi. Saat file dimodifikasi oleh pengguna, layanan file log menangkap semua informasi yang diperlukan untuk mencoba kembali atau mengembalikan transaksi. Jika transaksi berhasil diselesaikan, file diubah. Jika tidak, NTFS mengembalikan transaksi.

Meskipun ada perlindungan terhadap akses tidak sah ke data, NTFS tidak memberikan kerahasiaan yang diperlukan dari informasi yang disimpan. Untuk mengakses file, cukup mem-boot komputer ke DOS dari floppy disk dan menggunakan beberapa driver NTFS pihak ketiga untuk sistem ini.

Dimulai dengan Versi Windows NT 5.0 (baru nama jendela 2000) Microsoft mendukung sistem file NTFS 5.0 yang baru. Versi baru NTFS memperkenalkan atribut file tambahan; bersama dengan hak akses, konsep larangan akses diperkenalkan, yang memungkinkan, misalnya, ketika pengguna mewarisi hak grup atas suatu file, untuk melarangnya mengubah kontennya. Sistem baru ini juga memungkinkan:

memberlakukan batasan (kuota) pada jumlah ruang disk yang disediakan untuk pengguna;

memproyeksikan direktori apa pun (lokal dan komputer remot) ke subdirektori di drive lokal.

Fitur menarik dari versi baru Windows NT adalah enkripsi dinamis file dan direktori, yang meningkatkan keandalan penyimpanan informasi. Windows NT 5.0 menyertakan Encrypting File System (EFS) yang menggunakan algoritma enkripsi kunci bersama. Jika atribut enkripsi diatur untuk sebuah file, maka ketika program pengguna mengakses file untuk menulis atau membaca, file tersebut dienkripsi dan diterjemahkan secara transparan untuk program tersebut.

.2 Perbandingan NTFS dan FAT32

Keuntungan:

Akses cepat ke file kecil;

Ukuran ruang disk saat ini praktis tidak terbatas;

Fragmentasi file tidak memengaruhi sistem file itu sendiri;

Keandalan yang tinggi dalam menyimpan data dan struktur file yang sebenarnya itu sendiri;

Performa tinggi saat bekerja dengan file besar;

Kekurangan:

Persyaratan memori lebih tinggi dibandingkan dengan FAT 32;

Bekerja dengan direktori berukuran sedang sulit karena fragmentasinya;

Kecepatan operasi lebih rendah dibandingkan dengan FAT 3232

Keuntungan:

Kecepatan kerja yang tinggi;

Persyaratan RAM rendah;

Pekerjaan yang efisien dengan file berukuran sedang dan kecil;

Lebih sedikit keausan disk karena gerakan kepala baca/tulis yang lebih sedikit.

Kekurangan:

Perlindungan rendah terhadap kegagalan sistem;

Pekerjaan tidak efisien dengan file besar;

Pembatasan ukuran maksimum bagian dan file;

Mengurangi kinerja selama fragmentasi;

Mengurangi kinerja saat bekerja dengan direktori yang berisi banyak file;

Jadi, kedua sistem file menyimpan data dalam kelompok, ukuran minimumnya adalah 512 b. Sebagai aturan, ukuran cluster biasa adalah 4 Kb. Di sinilah kesamaan mungkin berakhir. Sesuatu tentang fragmentasi: Kecepatan NTFS turun drastis saat disk 80 - 90% penuh. Ini karena fragmentasi layanan dan file yang berfungsi. Semakin banyak Anda bekerja dengan disk yang dimuat seperti itu, semakin banyak fragmentasi dan semakin rendah kinerjanya. Di FAT 32, fragmentasi area kerja disk juga terjadi pada tahap awal. Intinya disini tergantung seberapa sering anda menulis/menghapus data. Seperti NTFS, fragmentasi sangat mengurangi kinerja. Sekarang tentang RAM. Volume spreadsheet FAT 32 itu sendiri dapat memakan beberapa megabita dalam RAM. Tapi caching datang untuk menyelamatkan. Apa yang di-cache:

Direktori yang paling sering digunakan;

Data pada semua file yang sedang digunakan;

Informasi tentang ruang disk kosong;

Tapi bagaimana dengan NTFS? Caching sulit untuk direktori besar, dan ukurannya bisa mencapai beberapa puluh megabyte. Ditambah MFT, ditambah informasi tentang ruang disk kosong. Meskipun perlu dicatat bahwa NTFS masih mengkonsumsi sumber daya RAM dengan cukup hemat. Di hadapan sistem penyimpanan data yang sukses, di MFT setiap entri kira-kira sama dengan 1 Kb. Tapi tetap saja, persyaratan RAM lebih tinggi daripada FAT 32. Singkatnya, jika memori Anda kurang dari atau sama dengan 64 Mb, maka FAT 32 akan lebih efisien dalam hal kecepatan, jika lebih, perbedaan kecepatan akan menjadi kecil, dan seringkali tidak sama sekali. Sekarang tentang hard drive itu sendiri. Untuk menggunakan NTFS, Bus Mastering diperlukan. Apa ini? Ini adalah mode operasi khusus dari pengemudi dan pengontrol. Saat menggunakan BM, pertukaran terjadi tanpa partisipasi prosesor. Tidak adanya VM akan mempengaruhi kinerja sistem. Selain itu, karena penggunaan sistem file yang lebih kompleks, jumlah gerakan head baca / tulis meningkat, yang juga memengaruhi kecepatan. Kehadiran cache disk memiliki efek positif yang sama pada NTFS dan FAT 32.

Kesimpulan

Keuntungan FAT adalah overhead penyimpanan data yang rendah dan kompatibilitas total dengan sejumlah besar sistem operasi dan platform perangkat keras. Sistem file ini masih digunakan untuk memformat floppy disk, di mana volume besar partisi yang didukung oleh sistem file lain tidak berperan, dan overhead rendah memungkinkan Anda menggunakan ruang disk kecil secara ekonomis (NTFS membutuhkan lebih banyak ruang untuk menyimpan data, yang sama sekali tidak dapat diterima untuk disket ).

Ruang lingkup FAT32 sebenarnya jauh lebih sempit - sistem file ini layak digunakan jika Anda akan mengakses partisi dengan Windows 9x dan Windows 2000/XP. Namun karena relevansi Windows 9x saat ini praktis telah menghilang, penggunaan sistem file ini tidak terlalu diminati.

Bibliografi

1. http://yura. puslapiai. lt/archiv/per/fat.html

sistem file FAT

FAT16

Sistem file FAT16 mendahului MS-DOS dan didukung oleh semua sistem operasi Microsoft untuk kompatibilitas. Namanya Tabel Alokasi File (tabel lokasi file) dengan sempurna mencerminkan organisasi fisik sistem file, karakteristik utamanya meliputi fakta bahwa ukuran maksimum volume yang didukung (hard disk atau partisi pada hard disk) tidak melebihi 4095 MB. Pada zaman MS-DOS, hard drive 4 GB tampak seperti mimpi yang mustahil (drive 20-40 MB adalah barang mewah), jadi cadangan seperti itu cukup dibenarkan.

Volume yang diformat untuk menggunakan FAT16 dibagi menjadi beberapa kluster. Ukuran cluster default bergantung pada ukuran volume dan dapat berkisar dari 512 byte hingga 64 KB. Di meja. Gambar 2 menunjukkan bagaimana ukuran cluster bergantung pada ukuran volume. Perhatikan bahwa ukuran cluster mungkin berbeda dari nilai default, tetapi harus memiliki salah satu nilai yang ditentukan dalam Tabel 1. 2.

Tidak disarankan untuk menggunakan sistem file FAT16 pada volume yang lebih besar dari 511 MB, karena ruang disk akan digunakan sangat tidak efisien untuk file yang relatif kecil (file 1 byte akan memakan waktu 64 KB). Terlepas dari ukuran cluster, sistem file FAT16 tidak didukung untuk volume yang lebih besar dari 4 GB.

FAT32

Dimulai dengan Microsoft Windows 95 OEM Service Release 2 (OSR2), Windows memperkenalkan dukungan untuk FAT 32-bit. Untuk sistem berbasis Windows NT, sistem file ini pertama kali didukung di Microsoft Windows 2000. Sementara FAT16 dapat mendukung volume hingga 4 GB, FAT32 dapat mendukung volume hingga 2 TB. Ukuran cluster di FAT32 dapat bervariasi dari 1 (512 byte) hingga 64 sektor (32 KB). Nilai cluster FAT32 membutuhkan penyimpanan 4 byte (32 bit, bukan 16 seperti pada FAT16). Ini berarti, khususnya, beberapa utilitas file yang dirancang untuk FAT16 tidak dapat bekerja dengan FAT32.

Perbedaan utama antara FAT32 dan FAT16 adalah ukuran partisi logis disk telah berubah. FAT32 mendukung volume hingga 127 GB. Pada saat yang sama, jika saat menggunakan FAT16 dengan disk 2 GB, diperlukan cluster 32 KB, maka di FAT32 cluster 4 KB cocok untuk disk dari 512 MB hingga 8 GB (Tabel 4).

Oleh karena itu, ini berarti penggunaan ruang disk yang lebih efisien - semakin kecil cluster, semakin sedikit ruang yang diperlukan untuk menyimpan file dan, akibatnya, disk menjadi tidak terlalu terfragmentasi.

Saat menggunakan FAT32, ukuran file maksimal bisa sampai 4 GB minus 2 byte. Jika saat menggunakan FAT16 jumlah entri maksimum di direktori root dibatasi hingga 512, maka FAT32 memungkinkan Anda untuk menambah jumlah ini menjadi 65.535.

FAT32 memberlakukan batasan pada ukuran volume minimum - setidaknya harus 65.527 cluster. Pada saat yang sama, ukuran cluster tidak boleh sedemikian rupa sehingga FAT menempati lebih dari 16 MB - 64 KB / 4 atau 4 juta cluster.

Saat menggunakan nama file yang panjang, data yang diperlukan untuk akses dari FAT16 dan FAT32 tidak tumpang tindih. Saat membuat file dengan panjang nama jendela membuat nama format 8.3 yang sesuai dan satu atau lebih entri direktori untuk menampung nama panjang (13 karakter dari nama file panjang per entri). Setiap kejadian berikutnya menyimpan bagian yang sesuai dari nama file dalam format Unicode. Entri tersebut memiliki atribut "volume id", "read-only", "system", dan "hidden", satu set yang diabaikan oleh MS-DOS; pada sistem operasi ini, file diakses oleh "alias" -nya dalam format 8.3.

sistem file NTFS

Microsoft Windows 2000 menyertakan dukungan untuk versi baru sistem file NTFS, yang, khususnya, menyediakan pekerjaan dengan layanan direktori Active Directory, titik reparse, alat keamanan informasi, kontrol akses, dan sejumlah fitur lainnya.

Seperti FAT, unit dasar informasi di NTFS adalah cluster. Di meja. Gambar 5 menunjukkan ukuran cluster default untuk volume berbagai kapasitas.

Saat Anda membuat sistem file NTFS, formatter membuat file Master File Table (MTF) dan area lain untuk menyimpan metadata. Metadata digunakan oleh NTFS untuk mengimplementasikan struktur file. 16 entri pertama di MFT dicadangkan oleh NTFS sendiri. Lokasi file metadata $Mft dan $MftMirr direkam di sektor boot disk. Jika entri pertama di MFT rusak, NTFS membaca entri kedua untuk menemukan salinan yang pertama. Salinan lengkap sektor boot terletak di akhir volume. Di meja. 6 mencantumkan metadata utama yang disimpan di MFT.

Entri MFT yang tersisa berisi entri untuk setiap file dan direktori yang terletak di volume.

Biasanya, satu file menggunakan satu entri di MFT, tetapi jika file memiliki kumpulan atribut yang besar atau menjadi terlalu terfragmentasi, entri tambahan mungkin diperlukan untuk menyimpan informasi tentangnya. Dalam hal ini, catatan pertama tentang file, yang disebut catatan dasar, menyimpan lokasi catatan lainnya. Data tentang file dan direktori berukuran kecil (hingga 1500 byte) sudah dimuat lengkap di entri pertama.

Atribut file dalam NTFS

Setiap sektor yang ditempati pada volume NTFS milik file tertentu. Bahkan metadata sistem file adalah bagian dari file. NTFS memperlakukan setiap file (atau direktori) sebagai sekumpulan atribut file. Elemen seperti nama file, informasi perlindungannya, dan bahkan data di dalamnya adalah atribut dari file tersebut. Setiap atribut diidentifikasi dengan kode jenis tertentu dan, secara opsional, dengan nama atribut.

Jika atribut file sesuai dengan record file, mereka disebut atribut residen. Atribut ini selalu berupa nama file dan tanggal pembuatannya. Dalam kasus di mana informasi tentang file terlalu besar untuk dimasukkan ke dalam satu catatan MFT, beberapa atribut file menjadi bukan penduduk. Atribut residen disimpan dalam satu atau lebih cluster dan mewakili aliran data alternatif untuk volume saat ini (lebih lanjut di bawah). Untuk mendeskripsikan lokasi atribut residen dan non-residen, NTFS membuat atribut Daftar Atribut.

Di meja. 7 menunjukkan atribut file utama yang didefinisikan dalam NTFS. Daftar ini dapat diperluas di masa mendatang.

sistem file CDFS

Windows 2000 menyediakan dukungan untuk sistem berkas CDFS, yang sesuai dengan standar ISO'9660, yang menjelaskan lokasi informasi pada CD-ROM. Nama file yang panjang didukung menurut ISO'9660 Level 2.

Pada membuat CD-ROM Untuk digunakan di bawah Windows 2000, perhatikan hal berikut:

  • semua nama direktori dan file harus kurang dari 32 karakter;
  • semua nama direktori dan file hanya boleh berisi karakter huruf besar;
  • kedalaman direktori tidak boleh melebihi 8 level dari root;
  • penggunaan ekstensi nama file adalah opsional.

Perbandingan sistem file

Di bawah Microsoft Windows 2000, FAT16, FAT32, NTFS, atau kombinasi dari sistem file ini dapat digunakan. Pilihan sistem operasi tergantung pada kriteria berikut:

  • bagaimana komputer digunakan;
  • platform perangkat keras;
  • ukuran dan jumlah hard drive;
  • informasi keamanan

sistem file FAT

Seperti yang mungkin Anda perhatikan, angka dalam nama sistem file - FAT16 dan FAT32 - menunjukkan jumlah bit yang diperlukan untuk menyimpan informasi tentang nomor cluster yang digunakan oleh file. Jadi, FAT16 menggunakan pengalamatan 16-bit dan, karenanya, dimungkinkan untuk menggunakan hingga 216 alamat. Di Windows 2000, empat bit pertama dari tabel lokasi file FAT32 diperlukan untuk penggunaan internal, sehingga FAT32 mencapai 228 alamat.

Di meja. 8 menunjukkan ukuran cluster untuk sistem file FAT16 dan FAT32.

Selain perbedaan yang signifikan dalam ukuran cluster, FAT32 juga memungkinkan direktori root untuk memperluas (dalam FAT16, jumlah entri dibatasi hingga 512 dan bahkan dapat lebih rendah bila menggunakan nama file yang panjang).

Manfaat FAT16

Di antara kelebihan FAT16 adalah sebagai berikut:

  • sistem file didukung oleh MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, dan beberapa sistem operasi UNIX;
  • ada sejumlah besar program yang memungkinkan Anda memperbaiki kesalahan dalam sistem file ini dan memulihkan data;
  • jika ada masalah saat mem-boot dari hard disk, sistem dapat di-boot dari floppy disk;
  • sistem file ini cukup efisien untuk volume yang lebih kecil dari 256 MB.
Kekurangan FAT16

Kerugian utama FAT16 meliputi:

  • direktori root tidak boleh berisi lebih dari 512 entri. Menggunakan nama file yang panjang sangat mengurangi jumlah elemen ini;
  • FAT16 mendukung maksimal 65.536 klaster, dan karena beberapa klaster dicadangkan oleh sistem operasi, jumlah klaster yang tersedia adalah 65.524. Setiap klaster memiliki ukuran tetap untuk LUN tertentu. Ketika jumlah maksimum cluster tercapai pada ukuran maksimumnya (32 KB), volume maksimum yang didukung dibatasi hingga 4 GB (di bawah Windows 2000). Untuk mempertahankan kompatibilitas dengan MS-DOS, Windows 95, dan Windows 98, ukuran volume FAT16 tidak boleh melebihi 2 GB;
  • FAT16 tidak mendukung perlindungan dan kompresi file bawaan;
  • pada disk besar, banyak ruang yang terbuang karena fakta bahwa ukuran cluster maksimum digunakan. Ruang untuk file dialokasikan berdasarkan ukuran cluster, bukan file.
Manfaat FAT32

Di antara kelebihan FAT32 adalah sebagai berikut:

  • alokasi ruang disk dilakukan lebih efisien, terutama untuk disk besar;
  • direktori root di FAT32 adalah rangkaian cluster reguler dan dapat ditempatkan di mana saja di disk. Karena itu, FAT32 tidak memberlakukan batasan apapun pada jumlah item di direktori root;
  • karena penggunaan cluster yang lebih kecil (4 KB pada disk hingga 8 GB), ruang disk yang ditempati biasanya 10-15% lebih sedikit daripada di bawah FAT16;
  • FAT32 adalah sistem file yang lebih aman. Secara khusus, ini mendukung kemampuan untuk memindahkan direktori root dan menggunakan cadangan FAT. Selain itu, catatan boot berisi sejumlah data penting untuk sistem file.
Kekurangan FAT32

Kerugian utama FAT32:

  • ukuran volume saat menggunakan FAT32 di bawah Windows 2000 dibatasi hingga 32 GB;
  • Volume FAT32 tidak tersedia dari sistem operasi lain - hanya dari Windows 95 OSR2 dan Windows 98;
  • cadangan sektor boot tidak didukung;
  • FAT32 tidak mendukung perlindungan dan kompresi file bawaan.

sistem file NTFS

Saat menggunakan Windows 2000, Microsoft menganjurkan agar Anda memformat semua partisi hard disk ke NTFS, kecuali untuk konfigurasi yang menggunakan beberapa sistem operasi (kecuali Windows 2000 dan Windows NT). Menggunakan NTFS alih-alih FAT memungkinkan Anda untuk menggunakan fitur yang tersedia di NTFS. Ini termasuk, khususnya:

  • kemungkinan pemulihan. Fitur ini "dibangun ke dalam" sistem file. NTFS menjamin keamanan data karena menggunakan protokol dan beberapa algoritme pemulihan informasi. Jika terjadi kegagalan sistem, NTFS menggunakan protokol dan informasi tambahan untuk memulihkan integritas sistem file secara otomatis;
  • kompresi informasi. Untuk volume NTFS, Windows 2000 mendukung kompresi file tunggal. File terkompresi tersebut dapat digunakan oleh aplikasi Windows tanpa dekompresi sebelumnya, yang terjadi secara otomatis saat membaca dari file. Saat menutup dan menyimpan file dikemas kembali;
  • Selain itu, keunggulan NTFS berikut ini dapat dibedakan:

Beberapa fitur sistem operasi memerlukan NTFS;

Kecepatan akses jauh lebih cepat - NTFS meminimalkan jumlah akses disk yang diperlukan untuk menemukan file;

Perlindungan file dan direktori. Hanya pada volume NTFS dimungkinkan untuk mengatur atribut akses file dan folder;

Saat menggunakan NTFS, Windows 2000 mendukung volume hingga 2TB;

Sistem file menyimpan salinan cadangan dari sektor boot - terletak di akhir volume;

NTFS mendukung sistem enkripsi Encrypted File System (EFS), yang memberikan perlindungan terhadap akses tidak sah ke konten file;

Saat menggunakan kuota, Anda dapat membatasi jumlah ruang disk yang digunakan oleh pengguna.

Kekurangan NTFS

Berbicara tentang kekurangan sistem file NTFS, perlu dicatat bahwa:

  • Volume NTFS tidak tersedia di MS-DOS, Windows 95, dan Windows 98. Selain itu, sejumlah fitur yang tersedia di NTFS di bawah Windows 2000 tidak tersedia di Windows 4.0 dan sebelumnya;
  • Volume kecil yang berisi banyak file kecil mungkin mengalami penurunan kinerja dibandingkan dengan FAT.

Sistem file dan kecepatan

Seperti yang telah kami ketahui, untuk volume kecil, FAT16 atau FAT32 menyediakan akses file yang lebih cepat dibandingkan NTFS, karena:

  • FAT memiliki struktur yang lebih sederhana;
  • direktori lebih kecil;
  • FAT tidak mendukung perlindungan file dari akses tidak sah - sistem tidak perlu memeriksa izin file.

NTFS meminimalkan jumlah akses disk dan waktu yang diperlukan untuk menemukan file. Juga, jika ukuran direktori cukup kecil untuk muat dalam satu entri MFT, seluruh entri dibaca sekaligus.

Satu entri di FAT berisi nomor klaster untuk klaster pertama dalam direktori. Melihat file FAT membutuhkan pencarian di seluruh struktur file.

Saat membandingkan kecepatan operasi yang dilakukan untuk direktori yang berisi nama file pendek dan panjang, perlu diperhatikan bahwa kecepatan operasi FAT bergantung pada operasi itu sendiri dan ukuran direktori. Jika FAT mencari file yang tidak ada, FAT akan mencari seluruh direktori, sebuah operasi yang memerlukan waktu lebih lama daripada mencari struktur B-tree yang digunakan oleh NTFS. Waktu rata-rata yang diperlukan untuk menemukan file dalam FAT dinyatakan sebagai fungsi N/2, dalam NTFS dinyatakan sebagai log N, di mana N adalah jumlah file.

Sejumlah faktor berikut mempengaruhi kecepatan membaca dan menulis file di bawah Windows 2000:

  • fragmentasi file. Jika file sangat terfragmentasi, NTFS biasanya memerlukan lebih sedikit akses disk daripada FAT untuk menemukan semua fragmen;
  • ukuran kelompok. Untuk kedua sistem file, ukuran cluster default bergantung pada ukuran volume dan selalu dinyatakan sebagai pangkat 2. Alamat di FAT16 adalah 16-bit, di FAT32 adalah 32-bit, di NTFS adalah 64-bit;
  • ukuran cluster default di FAT didasarkan pada fakta bahwa tabel lokasi file dapat memiliki tidak lebih dari 65.535 entri - ukuran cluster adalah fungsi dari ukuran volume dibagi 65.535. Jadi, ukuran cluster default untuk volume FAT selalu lebih besar dari ukuran cluster untuk volume NTFS dengan ukuran yang sama. Perhatikan bahwa ukuran kluster yang lebih besar untuk volume FAT berarti bahwa volume FAT dapat lebih sedikit terfragmentasi;
  • lokasi file kecil. Saat menggunakan NTFS, file kecil disimpan dalam catatan MFT. Ukuran file yang sesuai dengan satu catatan MFT bergantung pada jumlah atribut dalam file tersebut.

Ukuran maksimum volume NTFS

Secara teoritis, NTFS mendukung volume hingga 232 cluster. Namun demikian, selain kekurangan hard drive dengan ukuran ini, ada batasan lain pada ukuran volume maksimum.

Salah satu batasan tersebut adalah tabel partisi. Standar industri membatasi ukuran tabel partisi 2 sampai 32 sektor. Keterbatasan lain adalah ukuran sektor, yang biasanya 512 byte. Karena ukuran sektor dapat berubah di masa mendatang, ukuran saat ini membatasi ukuran volume tunggal hingga 2 TB (2 32 x 512 byte = 2 41). Jadi, 2TB adalah batas praktis untuk volume fisik dan logis NTFS.

Di meja. Gambar 11 menunjukkan keterbatasan utama NTFS.

Mengelola akses ke file dan direktori

Saat menggunakan volume NTFS, Anda dapat mengatur izin file dan direktori. Hak akses ini menentukan pengguna dan grup mana yang memiliki akses ke mereka dan tingkat akses apa yang diizinkan. Hak akses tersebut berlaku untuk pengguna yang bekerja di komputer tempat file berada, dan untuk pengguna yang mengakses file melalui jaringan saat file berada di direktori terbuka untuk akses jarak jauh.

Di bawah NTFS, Anda juga dapat mengatur izin akses jarak jauh yang digabungkan dengan izin file dan direktori. Selain itu, atribut file (hanya baca, tersembunyi, sistem) juga membatasi akses ke file tersebut.

Di bawah FAT16 dan FAT32, dimungkinkan juga untuk mengatur atribut file, tetapi mereka tidak memberikan izin file.

Versi NTFS yang digunakan di Windows 2000 memperkenalkan jenis izin akses baru yang disebut izin warisan. Tab Keamanan berisi opsi Izinkan izin yang dapat diwariskan dari induk untuk disebarkan ke objek file ini, yang aktif secara default. Opsi ini secara signifikan mengurangi waktu yang diperlukan untuk mengubah izin untuk file dan subdirektori. Misalnya, untuk mengubah izin pohon yang berisi ratusan subdirektori dan file, cukup mengaktifkan opsi ini - di Windows NT 4, Anda harus mengubah atribut setiap file dan subdirektori.

Pada ara. Gambar 5 menunjukkan kotak dialog Properties dan tab Security (Advanced section) yang mencantumkan izin file yang diperluas.

Ingatlah bahwa untuk volume FAT, akses hanya dapat dikontrol pada level volume, dan kontrol tersebut hanya dapat dilakukan dengan akses jarak jauh.

Mengompresi file dan direktori

Windows 2000 mendukung kompresi file dan direktori yang terletak di volume NTFS. File terkompresi dapat dibaca dan ditulis oleh aplikasi Windows apa pun. Untuk ini, tidak perlu membongkar awal mereka. Algoritme kompresi yang digunakan mirip dengan yang digunakan di DoubleSpace (MS-DOS 6.0) dan DriveSpace (MS-DOS 6.22), tetapi memiliki satu perbedaan signifikan - di bawah MS-DOS, seluruh partisi primer atau perangkat logis dikompresi, sedangkan di bawah NTFS Anda dapat mengemas file dan direktori individual.

Algoritme kompresi dalam NTFS dirancang untuk mendukung cluster hingga berukuran 4 KB. Jika ukuran cluster lebih besar dari 4 KB, fitur kompresi NTFS menjadi tidak tersedia.

NTFS penyembuhan diri

Sistem file NTFS menyembuhkan diri sendiri dan dapat mempertahankan integritasnya melalui penggunaan log tindakan yang diambil dan sejumlah mekanisme lainnya.

NTFS memperlakukan setiap operasi yang mengubah file sistem pada volume NTFS sebagai transaksi dan menyimpan informasi tentang transaksi semacam itu dalam log. Transaksi yang dimulai dapat diselesaikan sepenuhnya (commit) atau dibatalkan (rollback). Dalam kasus terakhir, volume NTFS kembali ke keadaan sebelum dimulainya transaksi. Untuk mengelola transaksi, NTFS menulis semua operasi yang terlibat dalam transaksi ke file log sebelum ditulis ke disk. Setelah transaksi selesai, semua operasi dilakukan. Jadi, di bawah manajemen NTFS, tidak ada operasi yang tertunda. Jika terjadi kegagalan disk, operasi yang tertunda dibatalkan begitu saja.

Di bawah kendali NTFS, operasi juga dilakukan yang memungkinkan Anda mengidentifikasi cluster buruk dengan cepat dan mengalokasikan cluster baru untuk operasi file. Mekanisme ini disebut cluster remapping.

Dalam ulasan ini, kami memeriksa berbagai sistem file yang didukung di Microsoft Windows 2000, membahas desain masing-masing, mencatat kelebihan dan kekurangannya. Yang paling menjanjikan adalah sistem file NTFS, yang memiliki banyak fitur yang tidak tersedia di sistem file lain. Versi baru NTFS yang didukung oleh Microsoft Windows 2000 bahkan memiliki lebih banyak fungsi dan karena itu direkomendasikan untuk digunakan saat menginstal sistem operasi Win 2000.

Komputer Tekan 7"2000

Berkas sistem itu hanya cara mengatur data di media, tidak ada yang rumit dalam organisasi ini.

Mungkin Anda berpikir: "bahwa sistem file adalah hal yang rumit dan tidak dapat dipahami, karena sistem operasi bekerja dengannya, dan semuanya tidak mungkin ada di sana ..."

Anda sebagian benar, tetapi semua kismis ada di driver sistem file, mis. dalam program yang menyediakan API untuk program aplikasi lainnya. Itu hanya melakukan hal-hal seperti:

  • membuat file
  • menghapus file
  • ganti nama
  • salinan
  • menampilkan isi direktori
  • pindah ke direktori lain, dll.

Prinsip pengorganisasian sistem file itu sederhana.

Dalam posting ini, saya tidak akan mempertimbangkan cara kerja driver dan cara membuat / menghapus file, saya akan memberi tahu Anda tentang prinsip organisasi file sistem FAT16.

(tentang cara menulis driver, ada yang terpisah)

Mengapa FAT16?

Saya merasa paling nyaman untuk belajar, mudah dipahami. Dan mengetahui idenya, tidak lagi sulit untuk mempelajari sistem file lain - FAT32, NTFS, dll.

Mengapa saya perlu mengetahui cara kerja sistem file?

Mengetahui prinsip pengorganisasian sistem file, Anda dapat mengembangkan driver Anda sendiri atau manajer file pada perangkat komputasi apa pun.

Deskripsi sistem file FAT16

Untuk kenyamanan Anda, berikut adalah daftar pertanyaan yang akan Anda temukan jawabannya:

sistem file FAT16 membagi seluruh ruang alamat media menjadi dua bidang:

  • wilayah sistem
  • wilayah data

Untuk kejelasan, kami akan menggambarkan seluruh ruang alamat sebagai persegi panjang. Bagian atas kecil dari persegi panjang (ruang alamat) adalah area sistem, bagian bawah yang masif adalah area data.

Semua data yang kami simpan di media kami, mis. semua file dan direktori disimpan di area data. Area sistem, di sisi lain, menyimpan parameter media ini dan karakteristik file dan direktori - nama file, nama direktori, atribut file, dll.

Mari kita mulai dengan yang sederhana, beberapa kata tentang area data dan bagaimana data disimpan di sana

Tentang area data...

Agar tidak mengalamatkan setiap byte (walaupun beberapa media penyimpanan memungkinkan Anda untuk bekerja byte demi byte), unit pengalamatan minimum yang berbeda digunakan dalam sistem file - sektor. Ukuran sektor 512 byte. Selain sektor, sistem file FAT16 juga menggunakan konsep seperti gugus. mengelompokkannya satu atau lebih sektor yang berdekatan.

Parameter ini (jumlah sektor per cluster) sering dimanipulasi saat memformat media penyimpanan. Karena kecepatan kerja dan "tingkat pengemasan data" bergantung padanya. FAT16, seperti semua sistem file, menggunakan konsep file. File adalah area data yang memiliki nama dan beberapa atribut. Secara fisik, di area data, ini adalah satu atau lebih cluster yang sibuk, dan file tersebut menempati sejumlah cluster bilangan bulat. Bahkan jika menempati sedikit lebih dari dua kluster, tiga kluster akan dipertimbangkan untuk sistem file yang ditempati oleh file tersebut. Oleh karena itu, semakin kecil ukuran cluster, semakin besar “derajat pengepakan data” dan semakin ekonomis area data digunakan. Di sisi lain, membaca file dari sebagian besar memori mis. berkelompok lebih cepat daripada yang kecil. Oleh karena itu, pilihan ukuran cluster adalah masalah kompromi.

Berkas sistem FAT16 memberlakukan batasan pada ukuran cluster, tidak lebih dari 128 sektor(mis. tidak lebih dari 64 kb) dan seterusnya jumlah cluster tidak lebih dari 65525 buah. Jika Anda menggunakan semuanya secara maksimal, mis. ukuran maksimum sektor dan jumlah cluster maksimum, ternyata FAT16 tidak dapat menangani lebih dari 4,2 gigabytes informasi.

Jika kami melakukan pemformatan dalam mode otomatis (ketika kami tidak menentukan ukuran cluster), maka ukuran cluster dipilih minimal, di mana jumlah cluster yang dihasilkan tidak melebihi 65525.

Tentang area sistem...

Area sistem dibuat saat media diformat dan bersifat deskriptif. Ini terdiri dari bagian-bagian berikut:

Mari kita menganalisis setiap bagian lebih detail.

1. Sektor boot

Sektor boot adalah tabel parameter dan pemuat program. Ukuran sektor boot biasanya 512 byte, tapi bisa lebih.

Pertimbangkan struktur sektor boot.

Jangan takut dengan sejumlah besar bidang di sektor boot, dia berlebihan. Misalnya, ini menyimpan informasi yang tidak relevan untuk flash drive: jumlah sektor di trek, jumlah kepala. Jadi, tidak semua parameter akan berguna bagi kita.

Jika Anda melihat Kode HEX, beberapa media diformat dalam format FAT16, maka kita akan melihat nilai dari field tersebut. Sebagai contoh, saya akan memberikan kode HEX dari gambar dalam format FAT16 yang dibuat di WinImage. Untuk kenyamanan orientasi dalam kode, saya menandai dengan warna fragmen mana dari kode HEX milik parameter mana.

P.S. Nilai untuk setiap sel dipertimbangkan dari kanan ke kiri, misalnya, jika ditulis 00 02 h, maka sebenarnya 02 00 h, mis. 512

P.S. Sektor boot selalu berakhir pada 55AAh.

Penting untuk memperhatikan parameter " Sektor Cadangan» - jumlah sektor yang dicadangkan, dengan offset 0Eh. Di awal saya bilang boot sector biasanya berukuran 512 byte, tapi bisa lebih. Ukurannya ditentukan oleh parameter " Sektor Cadangan", dalam kasus kami Sektor Cadangan = 01h, sehingga sektor boot menempati sektor 1 atau 512 byte.

2. LEMAK

Setelah sektor boot dengan ukuran 512* byte ReservedSectors, meja pergi FAT1, ukurannya ditentukan bidang dua byte - SectorPerFat (16j) sektor boot. Pada contoh di atas, nilai field ini sama dengan 0001h atau 1 , yaitu satu sektor atau 512 byte.

Apa itu LEMAK?

Pertama-tama, ini adalah singkatan - Tabel Alokasi File, yang berarti "tabel lokasi file". dia meja Dengan satu kolom dan 512/2 jumlah baris(jika ukuran tabel FAT adalah 512 byte atau SectorPerFat adalah 0001h, seperti dalam kasus kami). Setiap garis tabel LEMAK menempati 2 byte memori, jadi jumlah baris untuk kasus kita adalah 512/2 .

Meja berfungsi sebagai peta lintas cluster, setiap garis mencirikan setiap cluster, baris pertama adalah klaster pertama, baris kedua adalah klaster kedua, dan seterusnya untuk semua klaster yang ada di area data. Tabel didahului oleh deskriptor tabel F8FFh(nilai yang sama dengan sektor boot 15j) dan placeholder FFFFh. Berikutnya adalah baris-baris tabel, yang nilainya bisa sebagai berikut:

  • 0000h- cluster gratis;
  • 0002h-FFEFh- nomor elemen berikutnya dalam rantai;
  • FFF0h-FFF6h- disimpan;
  • FFF7h- rusak;
  • FFF8h-FFFFh- yang terakhir dalam rantai;

Saya akan memberikan contoh Kode HEX dengan penjelasan.

Biru Saya telah membingkai tabel FAT1, tabel FAT2 merah(salinan tabel FAT1). dilukis alun-alun hijau ini deskriptor tabel F8FFh dan placeholder FFFFh. Kotak yang tidak terisi adalah baris tabel. Saya tidak menandai semua garis dengan bingkai hijau, hanya melingkari bukan nol.

Bagaimana penggunaannya dan mengapa FAT dibutuhkan, saya akan jelaskan nanti.

3. Direktori akar

Setelah tabel FAT muncul " direktori akar". Ini adalah area memori yang berisi elemen 32-byte. Setiap elemen menjelaskan, file atau direktori apa pun yang terletak di direktori root atau bahasa lain "di root" hard drive / flash drive. Ternyata direktori root menjelaskan semua yang ada di root.

Ukuran direktori root tergantung pada pengaturan RootEntri (11h) sektor boot. Ini menunjukkan jumlah maksimum elemen 32-byte di direktori akar. Ternyata ukuran direktori adalah RootEntri * 32, untuk kasus kami 512 * 32 = 16384 byte.

Setiap elemen memiliki struktur sebagai berikut:

Saya akan memberikan contoh kode HEX dengan penjelasannya.

Hijau Saya telah membingkai area memori yang bertanggung jawab atas direktori root, entri direktori root 32-byte berwarna biru. Bukan elemen 32-byte kosong yang saya lukis dengan warna biru.

Berikut adalah dua elemen 32-byte yang tidak kosong, berarti di direktori root menyimpan dua "sesuatu", itu bisa baik file maupun direktori lainnya. Dalam hal ini, untuk kesederhanaan contoh, dua file disimpan di root " 1.txt" dan " test.txt».

Mari kita lihat lebih dekat kedua elemen 32-byte ini, untuk kenyamanan, saya menandai fragmen kode HEX dan parameter yang sesuai dari elemen 32-byte dalam tabel dengan warna.

P.S.. Jika byte pertama dari nama file diganti dengan "E5", kemudian penjelajah jendela akan dihitung sebagai terpencil. File seperti itu dapat dipulihkan dengan mengganti karakter pertama E5 pada nama dengan nilai sebelumnya. Saya tidak sepenuhnya yakin, tapi menurut saya beginilah cara kerja recycle bin di Windows. Saat menempatkannya di tempat sampah, sistem operasi menyimpan nama file di suatu tempat dan mengganti byte pertama dalam nama tersebut dengan E5, dan saat memulihkan, file tersebut diberi nama sebelumnya.

P.S.. Nama file dalam sistem FAT16 disimpan dalam format 8.3 . Itu. 8 -byte dialokasikan untuk nama dan 3 byte dialokasikan untuk ekstensi. Nama dikodekan dalam format ASCII, satu karakter adalah satu byte. Oleh karena itu, nama tidak boleh lebih dari 8 karakter, dan ekstensi lebih dari 3. Jika nama lebih pendek dari 8 karakter, kemudian byte yang hilang diisi dalam 20 jam(karakter spasi dalam kode ASCII).

P.S.. Izinkan saya mengingatkan Anda bahwa nilai setiap sel dihitung dari kanan ke kiri, misalnya jika ditulis 00 02 h, maka sebenarnya 02 00 h, mis. 512 dalam sistem desimal.

Parameter terpenting bagi kami terletak di 1Ah — « kata rendah cluster file pertama". Ini menyimpan nomor cluster tempat konten file berada, yang berarti kita dapat bekerja dengan informasi file ini, mis. membacanya, mengeditnya, dll.

Sebagai contoh " 1.txt» disimpan dalam cluster nomor 0x0003 atau 3 dalam sistem desimal. Dan ini berarti bahwa jika kita mari kita lanjutkan ke gugus №3 di area data (ingat, area data hanyalah cluster yang berurutan) kita mendapatkan isi dari file ini.

Anda mungkin memiliki pertanyaan "praktis", tapi bagaimana menemukan cluster ketiga ini? Oleh alamat apa itu?

Bagaimana menemukan alamat cluster mengetahui nomornya?

Untuk ini, Anda perlu tahu berapa banyak ruang sistem yang Anda miliki dan seberapa besar clusternya(yaitu berapa banyak sektor (atau 512 byte) yang dikandung cluster).

Gambar berikut akan membantu Anda mengetahui ukuran area sistem:

Contoh untuk kasus saya

Sektor boot memiliki volume 512*Sektor Cadangan byte, dalam kasus saya 512 byte. Selanjutnya, tabel FAT menempati saya satu sektor, itu. 512 byte(karena SectroPerFat adalah 1). Tabel dua(karena NumberOfFATs sama dengan 2), maka totalnya ada dua tabel 512*2=1024 byte. Ukuran direktori root adalah 512 elemen 32 karakter, mis. 512*32=16384 byte. Kami percaya:

512 (sektor boot) + 1024 (dua tabel FAT) + 16384 (direktori root) = 17920 byte atau 4600 dalam sistem heksadesimal.

Akibatnya, dalam kasus kami, area data dimulai dengan 0x4600, Mari kita lihat:

Kami melihat konten beberapa file, tetapi bukan milik kami. Data dari file yang kita minati (1.txt) disimpan dalam gugus №3.

Sekarang kita perlu mengetahui ukuran cluster, parameter sektor boot akan membantu kita dalam hal ini - SektorPerCluster(0xD, ukuran parameter 1 byte). Dalam kasus kami ukuran cluster sektor ke-4, yaitu 512*4=2048 byte atau 800 dalam sistem heksadesimal. Penting untuk dicatat bahwa cluster diberi nomor dari dua, bukan dari satu (!).

Kami menghitung dari apa alamat dimulai gugus №3:

0x4600 (area sistem) + 0x800 (cluster kedua) = 0x4E00

Mari kita hitung apa alamat berakhir cluster nomor 3:

0x4E00 (awal cluster #3) + 0x800 (512*4 atau ukuran satu cluster di HEX) = 0x5600

Akibatnya, klaster Nomor 3 terletak pada rentang alamat 0x4E000x5600.

Mari kita lihat kode HEX

berbingkai biru saya tandai Konten file 1.txt. Segala sesuatu di atas bingkai adalah isi dari file lain. Area kosong dari sektor diisi dengan 0x00.

Jadi mengapa kita membutuhkan tabel FAT?

Jika file menempati lebih dari satu cluster (dalam kasus kami, jika file lebih besar dari 2048 byte), maka tabel FAT akan membantu. Ini seperti "peta" cluster. Itu. kapan kita tahu nomor sektor, dari mana file yang menarik bagi kita dimulai, hal pertama yang perlu kita lihat nomor baris yang sama di FAT.

Jika string penting 0xFF8-0xFFFF, maka ini berarti bahwa ini adalah kluster terakhir untuk file tertentu, mis. menempati file satu klaster saja.

Jika string penting 0x0002-0xFFEF, maka ini berarti bahwa file membentang ke cluster lain. Nomor cara nomor cluster berikutnya, yang menyimpan kelanjutan dari file. Kita harus melanjutkan membaca file dengan nomor yang diberikan gugus.

Setelah membaca cluster baru, Anda perlu melihat nilai garis pada nomor ini di FAT. Jika nilai barisnya adalah 0x FF8-0xFFFF, berarti cluster ini adalah yang terakhir di file. Jika 0x0002-0xFFEF, maka ini adalah nomor cluster berikutnya, baca lebih lanjut dan ulangi tindakannya. Membaca file adalah loop bersyarat.

Jadi kami menemukan file-file itu, sekarang saatnya berurusan dengan direktori.

Apa itu direktori?

Direktori untuk sistem file FAT16 (dan banyak lainnya) adalah file ukuran nol khusus yang menyimpan daftar isinya.

Katakanlah kita menambahkan direktori " TEST_DIR» dengan berkas « in_dir.txt". Kemudian di direktori root elemen 32-byte baru akan muncul, ini menjelaskan direktori sama dengan file, tetapi dengan sedikit perbedaan.

Saya menandai dengan warna merah parameter khusus untuk direktori, ini adalah 0x10- label direktori dan 0x00000000- ukuran file.

Seperti yang Anda lihat di kotak biru, kami memiliki direktori dalam gugus №5 mari kita lihat apa yang ada.

Isi dari "berkas" TEST_DIR nyatanya, ini adalah direktori root yang sama, yaitu set elemen 32-byte. Saya telah menandai setiap elemen dengan batas hijau.

Elemen menggambarkan nama file atau direktori, atribut, dan nomor cluster tempat datanya berada. Di folder manapun, selalu ada dua direktori Dengan nama "." dan "..".

Yang pertama terletak di cluster №5 , yaitu ini direktori yang sama, sebuah yang kedua adalah untuk nomor cluster 0. Di bawahnya nomor berarti "direktori root", yaitu ini adalah output ke direktori root.

Deskripsi file " in_dir.txt» standar, untuk direktori root (lihat direktori root). Bagi kami, yang utama adalah jumlah cluster tempat konten file ini berada (ditandai dengan kotak merah).

Kami sedang menonton gugus №6 dan melihat isi file in_dir.txt". Saya menandai awal cluster dengan garis merah.

Anda akan tertarik:


Di FAT, nama file dalam format 8.3 dan hanya terdiri dari karakter ASCII. Dukungan untuk nama file yang panjang (hingga 255 karakter) telah ditambahkan ke VFAT. Nama File Panjang, LFN) dikodekan dalam UTF-16LE, dengan LFN disimpan bersamaan dengan 8.3 nama, secara retrospektif disebut sebagai SFN. Nama File Pendek). LFN tidak peka huruf besar-kecil saat mencari, namun, tidak seperti SFN, yang disimpan dalam huruf besar, LFN mempertahankan huruf besar-kecil yang ditentukan saat file dibuat.

Struktur sistem FAT

Dalam sistem file FAT, sektor disk yang berdekatan digabungkan menjadi unit yang disebut cluster. Jumlah sektor dalam sebuah cluster sama dengan pangkat dua (lihat di bawah). Sejumlah cluster bilangan bulat (setidaknya satu) dialokasikan untuk menyimpan data file, jadi, misalnya, jika ukuran file 40 byte dan ukuran cluster 4 kbytes, hanya 1% dari ruang yang dialokasikan untuk itu yang benar-benar akan ditempati oleh informasi file. Untuk menghindari situasi seperti itu, disarankan untuk mengurangi ukuran cluster, dan sebaliknya mengurangi jumlah informasi alamat dan meningkatkan kecepatan operasi file. Dalam praktiknya beberapa kompromi dipilih. Karena kapasitas disk mungkin tidak dinyatakan dalam jumlah bilangan bulat cluster, biasanya ada yang disebut "unit" di akhir volume. sektor surplus - "residu" berukuran kurang dari cluster, yang tidak dapat dialokasikan oleh OS untuk menyimpan informasi.

Ruang volume FAT32 secara logis dibagi menjadi tiga area yang berdekatan:

  • daerah yang dicadangkan. Berisi struktur layanan milik catatan boot partisi (Partition Boot Record - PBR, untuk membedakannya dari Master Boot Record - catatan boot master disk; juga PBR sering salah disebut sektor boot) dan digunakan saat menginisialisasi volume ;
  • Area tabel FAT yang berisi larik penunjuk indeks ("sel") yang sesuai dengan kluster area data. Biasanya terdapat dua salinan tabel FAT pada disk untuk tujuan reliabilitas;
  • Area data tempat konten sebenarnya dari file ditulis - yaitu teks file teks, gambar yang disandikan untuk file gambar, suara digital untuk file audio, dll. - serta yang disebut. metadata - informasi tentang nama file dan folder, atributnya, waktu pembuatan dan modifikasi, ukuran dan lokasi pada disk.

FAT12 dan FAT16 juga memiliki area khusus untuk direktori root. Ini memiliki posisi tetap (segera setelah entri terakhir di tabel FAT) dan ukuran tetap di sektor.

Jika sebuah cluster milik sebuah file, maka sel yang sesuai dengannya berisi nomor cluster berikutnya dari file yang sama. Jika sel sesuai dengan kluster terakhir dari file, maka sel tersebut berisi nilai khusus (FFFF 16 untuk FAT16). Dengan demikian, rantai cluster file dibangun. Nol sesuai dengan cluster yang tidak digunakan dalam tabel. Kluster "buruk" (yang dikecualikan dari pemrosesan, misalnya, karena area perangkat yang sesuai tidak dapat dibaca) juga memiliki kode khusus.

Saat file dihapus, karakter pertama dari nama diganti dengan kode khusus E5 16 dan rantai cluster file di tabel alokasi diatur ulang ke nol. Karena informasi tentang ukuran file (yang terletak di direktori di sebelah nama file) tetap utuh, jika cluster file ditempatkan secara berurutan pada disk dan tidak ditimpa dengan informasi baru, dimungkinkan untuk memulihkan file yang dihapus. .

catatan boot

Struktur pertama dari volume FAT disebut BPB. Blok parameter BIOS ) dan terletak di area yang dicadangkan, di sektor nol. Struktur ini berisi informasi yang mengidentifikasi jenis sistem file dan karakteristik fisik media (floppy disk atau partisi hard disk).

Blok Parameter BIOS

Pada prinsipnya, BPB tidak ada dalam FAT, yang melayani MS-DOS 1.x, karena pada saat itu hanya diasumsikan dua jenis volume yang berbeda - floppy disk 360 kb lima inci satu dan dua sisi, dan format volumenya adalah ditentukan oleh byte pertama dari area FAT. BPB diperkenalkan di MS-DOS 2.x pada awal 1983 sebagai struktur sektor boot wajib untuk menentukan format volume selanjutnya; skema deteksi byte pertama FAT lama tidak lagi didukung. Juga di MS-DOS 2.0, hierarki file dan folder diperkenalkan (sebelumnya, semua file disimpan di direktori root).

Struktur BPB di MS-DOS 2.x berisi bidang "jumlah total sektor" 16-bit, yang berarti bahwa versi FAT ini pada dasarnya tidak dapat diterapkan untuk volume yang lebih besar dari 2 16 = 65.536 sektor, yaitu lebih dari 32 MB dengan ukuran sektor standar 512 byte. Dalam MS-DOS 4.0 (1988), bidang BPB di atas diperpanjang hingga 32 bit, yang berarti peningkatan ukuran volume teoretis menjadi 232 = 4.294.967.296 sektor, yaitu hingga 2 TB dengan sektor 512 byte.

Modifikasi BPB berikutnya muncul dengan Windows 95 OSR2, yang memperkenalkan FAT32 (pada Agustus 1996). Batas dua gigabyte pada ukuran volume telah dihapus, volume FAT32 secara teoritis dapat berukuran hingga 8 TB. Namun, ukuran masing-masing file tidak boleh melebihi 4 GB. Blok Parameter BIOS FAT32 mengulangi BPB FAT16 hingga dan termasuk bidang BPB_TotSec32 untuk kompatibilitas dengan versi FAT sebelumnya, diikuti dengan perbedaan.

"Sektor boot" FAT32 sebenarnya adalah tiga sektor 512-byte - sektor 0, 1 dan 2. Masing-masing berisi tanda tangan 0xAA55 di alamat 0x1FE, yaitu, dalam dua byte terakhir, jika ukuran sektor adalah 512 byte. Jika ukuran sektor lebih dari 512 byte, maka tanda tangannya terdapat di alamat 0x1FE dan di dua byte terakhir dari sektor nol, yaitu diduplikasi.

Info FSI

Catatan boot dari partisi FAT32 berisi struktur yang disebut Info FSI, digunakan untuk menyimpan nilai jumlah cluster bebas pada volume. FSIinfo biasanya menempati sektor 1 (lihat bidang BPB_FSInfo) dan memiliki struktur berikut (alamat relatif terhadap awal sektor):

  • FSI_LeadSig. Tanda tangan 4-byte 0x41615252 menunjukkan bahwa sektor tersebut digunakan untuk struktur FSIinfo.
  • FSI_Dicadangkan1. Interval dari byte ke-4 hingga ke-483 sektor, termasuk, disetel ulang ke nol.
  • FSI_StrucSig. Tanda tangan lain terletak di 0x1E4 dan berisi nilai 0x61417272.
  • FSI_Free_Count. Bidang empat byte pada alamat 0x1E8 berisi jumlah cluster bebas terakhir pada volume yang diketahui sistem. Nilai 0xFFFFFFFF berarti jumlah cluster bebas tidak diketahui dan harus dihitung.
  • FSI_Nxt_Gratis. Bidang empat byte pada alamat 0x1EC berisi nomor cluster dari mana pencarian cluster gratis di tabel penunjuk indeks harus dimulai. Biasanya, kolom ini berisi nomor cluster FAT terakhir yang ditetapkan untuk menyimpan file. Nilai 0xFFFFFFFF berarti pencarian cluster gratis harus dilakukan dari awal tabel FAT, yaitu dari cluster kedua.
  • FSI_Dicadangkan2. Bidang 12-byte yang dicadangkan di alamat 0x1F0.
  • FSI_TrailSig. Tanda tangan 0xAA550000 - 4 byte terakhir dari sektor FSIinfo.

Inti dari memperkenalkan FSIinfo adalah untuk mengoptimalkan kinerja sistem, karena di FAT32 tabel penunjuk indeks bisa berukuran besar dan pencarian byte-by-byte-nya dapat memakan banyak waktu. Namun, nilai bidang FSI_Free_Count dan FSI_Nxt_Free mungkin tidak sesuai dengan kenyataan dan harus diperiksa kecukupannya. Selain itu, mereka bahkan tidak diperbarui di cadangan FSIinfo, yang biasanya terletak di sektor 7.

Menentukan jenis volume FAT

Menentukan jenis volume FAT (yaitu pilihan antara FAT12, FAT16 dan FAT32) dibuat oleh OS berdasarkan jumlah cluster dalam volume, yang pada gilirannya ditentukan dari bidang BPB. Pertama-tama, jumlah sektor dari direktori root dihitung:

RootDirSectors = (BPB_RootEntCnt * 32) / BPB_BytsPerSec

DataSec = TotSec - (BPB_ResvdSecCnt + (BPB_NumFATs * FATSz) + RootDirSectors)

Terakhir, jumlah cluster area data ditentukan:

CountofClusters = DataSec / BPB_SecPerClus

Dengan jumlah cluster, ada korespondensi satu-ke-satu dengan sistem file:

  • CountofClusters< 4085 - FAT12
  • CountofClusters = 4085 ÷ 65524 - FAT16
  • CountofClusters > 65524 - FAT32

Menurut spesifikasi resmi, ini adalah satu-satunya cara yang valid untuk menentukan jenis FAT. Membuat volume secara artifisial yang melanggar aturan pemetaan yang ditentukan akan menyebabkannya ditangani secara tidak benar oleh Windows. Namun, disarankan untuk menghindari nilai CountofClusters yang mendekati nilai kritis (4085 dan 65525) untuk menentukan dengan benar jenis sistem file oleh driver apa pun, yang sering salah tulis.

Seiring waktu, FAT banyak digunakan di berbagai perangkat untuk kompatibilitas antara DOS, Windows, OS / 2, Linux. Microsoft tidak menunjukkan niat untuk memaksa mereka untuk dilisensikan [ menjelaskan] .

Pada Februari 2009, Microsoft menggugat TomTom, pembuat sistem navigasi dalam mobil berbasis Linux, karena pelanggaran paten.

Catatan

  1. http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT
  2. www.microsoft.com/mscorp/ip/tech/fathist.asp di archive.org
  3. Microsoft Extensible Firmware Initiative FAT32 Spesifikasi Sistem File 1.03. Microsoft (6 Desember 2000). - Format dokumen Microsoft Word, 268 Kb. diarsipkan
  4. Bagaimana dengan VFAT? . Arsip TechNet. Microsoft (15 Oktober 1999). Diarsipkan dari versi asli tanggal 22 Agustus 2011. Diakses tanggal 5 April 2010.
  5. Jangan bingung ekstensi sistem file VFAT dengan driver sistem file dengan nama yang sama, yang muncul di Windows for Workgroups 3.11 dan dirancang untuk memproses panggilan fungsi MS-DOS (INT 21h) dalam mode terlindungi (lihat: KB126746: Riwayat Versi Windows untuk Grup Kerja . VERSI 3.11 → Fitur Non-Jaringan. Microsoft (14 November 2003). Diarsipkan dari versi asli tanggal 22 Agustus 2011. Diakses tanggal 5 April 2010.)
  6. Pengadilan Paten Federal menyatakan paten FAT Microsoft batal demi hukum. online. Heise Zeitschriften Verlag (2 Maret 2007). diarsipkan
  7. Brian Kahin. Microsoft Mengguncang Dunia dengan Paten FAT. The Huffington Post (10 Maret 2009). Diarsipkan dari versi asli tanggal 22 Agustus 2011. Diakses tanggal 10 Maret 2009.
  8. Ryan Paul. Gugatan Microsoft atas paten FAT dapat membuka OSS Pandora's Box (Bahasa Inggris) . Ars Technica. Publikasi Condé Nast (25 Februari 2009). diarsipkan
  9. Glyn Moody.(Bahasa inggris) . ComputerworldUK. IDG (5 Maret 2009). Diarsipkan dari versi asli tanggal 22 Agustus 2011. Diakses tanggal 9 Maret 2009.
  10. Steven J. Vaughan-Nichols. Perusahaan Linux menandatangani pakta perlindungan paten Microsoft. Blog. IDG (5 Maret 2009). Diarsipkan dari versi asli tanggal 22 Agustus 2011. Diakses tanggal 9 Maret 2009.
  11. Erica Og. TomTom membalas Microsoft dalam sengketa paten. CNet (19 Maret 2009). Diarsipkan dari versi asli tanggal 22 Agustus 2011. Diakses tanggal 20 Maret 2009.

Tautan

  • Standar LEMAK ECMA-107