Hanya pertanyaan singkat, tetapi mengapa ada begitu banyak sistem file yang masih bersaing dan digunakan saat ini? (ntfs, fat32, ext3 (ffs), dll)
Tampaknya para perancang sistem file dapat menyepakati aspek terbaik dari setiap jenis sistem dan menerapkan sistem file yang "terbaik", bukan? Hanya sebuah pemikiran, karena sistem file ini telah ada untuk sementara waktu sekarang, dan seharusnya setidaknya agak jelas mana yang memiliki kualitas yang lebih baik daripada yang lain, dan kita bisa menggabungkan yang baik di masing-masing dan menciptakan sistem pamungkas yang jauh lebih baik
standards
file-systems
standardization
Dark Templar
sumber
sumber
Jawaban:
Mari kita pikirkan secara spesifik di sini sejenak, menggunakan contoh yang telah Anda kutip:
ntfs - Hak milik Microsoft. Siapa pun yang bukan Microsoft tidak dapat menggunakan ini, oleh karena itu harus menggunakan / membuat sesuatu yang berbeda. Sekarang, jika Anda adalah Microsoft, Anda ingin menggunakan ini di atas FAT karena masalah poin-poin berikutnya.
fat32 - Tidak cukup modern. Ukuran file maksimum adalah 4GB. Pencarian entri direktori adalah O (n). Tabel alokasi adalah daftar yang ditautkan, dan bukan sesuatu yang lebih efisien seperti bitmap alokasi (di mana sangat cepat untuk menemukan ruang kosong yang berdekatan). Tidak mendukung izin. Tidak mendukung tautan keras atau tautan simbolik. Tidak mendukung penjurnalan.
ext3 - Ini adalah ekstensi dari ext2 terutama untuk mendukung penjurnalan.
Jadi, sepertinya ada beberapa alasan:
Sistem file sebelumnya tidak memiliki sesuatu. Dalam kasus FAT itu kurang banyak: baik dari segi (1) fitur dan (2) kinerja. Dalam kasus ext2 itu tidak memiliki pembaruan jurnal, jadi memulihkan dari kerusakan membutuhkan lebih banyak waktu.
Sistem file yang ada mungkin akan melakukannya, tetapi itu bukan milik Anda. (mis. NTFS jika Anda bukan Microsoft). Dalam hal ini Anda benar-benar tidak punya banyak pilihan selain membuat pilihan Anda sendiri.
sumber
Jawaban singkat: Satu ukuran tidak cocok untuk semua.
Ada trade-off. Misalnya, jika Anda menginginkan FS yang dijurnal, Anda membayar (efisiensi, kompleksitas, dll.) Untuk itu tetapi mendapatkan sesuatu darinya. Beberapa tidak merasa perlu untuk FS jurnal dan tidak ingin membayar untuk itu, beberapa melakukannya. Sama dengan "fitur" FS lainnya.
sumber
Tidak akan pernah ada yang "terbaik" dari apa pun karena ada begitu banyak pendapat tentang apa yang "terbaik" itu. Keputusan ini khusus untuk kebutuhan dan keterbatasan pengguna. Desain selalu didasarkan pada kemampuannya agar sesuai dengan kendala.
Ponsel dasar perlu menyimpan beberapa ratus kontak, riwayat pesan teks, dan beberapa aplikasi kecil. Apakah sistem berkasnya perlu mendukung struktur direktori hierarkis pada drive multi-terabyte dalam konfigurasi RAID? Apakah ada cukup RAM pada perangkat untuk menjalankan sistem file seperti itu? Apakah sistem file memerlukan ACL yang kompleks? Mungkin tidak - untuk semua pertanyaan ini - jadi sistem file yang sederhana dan menghirup sumber daya sudah cukup.
Perusahaan juga akan mengembangkan berbagai produk untuk mempertahankan keunggulan kompetitif. Sebagai contoh, Apple mempromosikan kemampuan sistem file HFS + untuk melacak file mana yang telah berubah baru-baru ini sehingga cadangannya cepat. Di sisi lain, driver untuk sistem file floppy disk (FAT) dapat memuat hanya beberapa KB memori.
sumber
Terlalu banyak tergantung pada apa yang ingin Anda optimalkan.
Pertimbangkan FAT sejenak: dukungannya untuk nama file panjang adalah kludgy (dengan kata lain), dan mencari melalui file dalam direktori adalah linier sehingga menjadi sangat lambat dengan cepat jika sebuah direktori berisi banyak file. Pada saat yang sama, ia memiliki minimum metadata untuk kecepatan menulis mentah sangat baik, dan karena sangat sederhana di atas semua, kode untuk mengimplementasikannya bisa sangat kecil.
Sesuatu seperti ext2 atau ext3 menambahkan banyak fitur dan kemampuan yang tidak ada pada FAT. Mencari file juga jauh lebih cepat. Pada saat yang sama, kecepatan penulisan mentah mungkin sedikit lebih lambat, dan kode untuk menerapkan sistem file tidak diragukan lagi jauh lebih besar.
sumber
Mari kita anggap tidak ada pengorbanan, dan perancang sistem file benar-benar menerapkan sistem file "terbaik", bebas dari kekhawatiran paten, dan dirilis sebagai lisensi ganda BSD / GPL sehingga dapat diterima oleh MS dan Debian. Apa yang membuat Anda berpikir bahwa sistem file lain akan hilang dalam semalam?
Saya tidak berpikir ada orang yang menggunakan FAT32 pada hard drive baru selama 10 tahun, tetapi masih tetap sebagai standar de facto untuk memformat drive USB, kartu SD, dll. Pembuat kamera dan telepon seluler telah mencoba dan menguji firmware untuk menggunakannya. Penggemar Arduino memiliki perpustakaan yang stabil untuk menggunakannya. Mereka semua akan membutuhkan insentif besar untuk berubah.
Dan kemudian Anda memiliki masalah kompatibilitas ke belakang dengan OS lama (terutama Windows, yang penggunanya tidak ingin menginstal driver sistem file baru).
sumber
Seperti yang sering terjadi dalam komputasi jawabannya adalah (a) karena keadaan historis dan kebutuhan untuk mempertahankan kompatibilitas ke belakang dan (b) karena beberapa metode lebih cocok untuk beberapa tugas daripada yang lain.
Pada (a) Anda perlu mengingat bahwa "drive Winchester" - Saya baru saja cukup umur untuk mengingat mereka disebut - (apa yang oleh seluruh dunia disebut 'hard drive') hanya ada sekitar setengah dari waktu komputasi elektronik dan bahkan itu belum dapat diakses oleh sebagian besar pengguna bahkan selama itu karena alasan biaya. Sistem file FAT bekerja dengan baik pada floppy disk dan juga pada hard drive kecil asli karena cukup efisien dan membutuhkan biaya overhead yang rendah. Begitu mulai digunakan - dan penggunaannya menyebar luas karena mudah diterapkan - produsen tidak dapat memberi tahu penggunanya bahwa data lama mereka tiba-tiba tidak valid.
Demikian pula, untuk pengguna Linux, katakanlah, driver NTFS yang stabil sudah lama datang, sehingga menjaga perangkat yang diformat sebagai FAT berarti mereka dapat dibaca dan ditulis di berbagai sistem.
Pada (b) - pikirkan perbedaan antara sistem yang, katakanlah, menyimpan, milyaran catatan basis data berbasis teks dan satu yang menyimpan file media sepanjang DVD. Untuk databse, setiap record bisa sangat kecil - mungkin hanya 30 atau 40 byte dan tentu saja sistem file yang mengalokasikan seluruh 'segmen' (namun Anda ingin mendefinisikannya) disk cenderung boros ruang disk. Tidak demikian halnya dengan DVD - 'segmen' yang lebih besar (tentu saja dengan alasan) cenderung sangat efisien dalam hal ruang.
Jadi sistem file yang berbeda dirancang untuk tujuan yang berbeda.
sumber
Contoh lain mengapa tidak pernah ada sistem file yang sempurna untuk semua orang: HDD dan SSD memiliki karakteristik akses baca / tulis yang sangat berbeda. Sistem file yang dioptimalkan SSD mungkin akan bekerja paling baik dengan memecah-mecah file seperti orang gila tetapi dengan setiap fragmen ukuran halaman SSD itu sendiri; ini akan melakukan sangat pada HDD. Sistem file yang dioptimalkan oleh HDD mencoba untuk membuat file tidak terfragmentasi mungkin dan bahkan menempatkan file yang sering digunakan di area "panas" di bagian luar pelat yang berputar lebih cepat; karakteristik ini tidak akan membantu SSD membaca kecepatan sama sekali, dan menempatkan beban besar pada bagaimana mereka ditulis.
sumber
Saya pikir fakta yang sangat penting hilang. Sebagian besar programmer cenderung berpikir bahwa cara mereka melakukan sesuatu lebih unggul daripada semua cara lain dan oleh karena itu mereka melihat desain Sistem File dan muncul dengan masalah dan solusi yang tampaknya lebih umum, elegan, cepat, benar .. Dan jika perasaan ini cukup kuat mereka bebas untuk membangun sistem file mereka sendiri.
Ini cocok untuk kompetisi, fragmentasi, kepercayaan dan saya berharap pada akhirnya solusi yang lebih baik dan lebih banyak pilihan untuk memilih solusi yang cocok untuk Anda.
sumber
Berikut ini adalah contoh konkret mengapa Anda perlu sistem file terpisah atau memperluas fungsionalitas FS yang ada.
sumber
Dalam daftar Anda, Anda menyebutkan sistem file lama yang digunakan karena yang lebih baik tidak tersedia namun cepat.
Ada sistem file lain. Saya mendengar sistem file google sebagian besar untuk duplikasi / redundansi cepat jika satu harddisk atau server turun. Saya ingat pernah mendengar tentang filesystem lain yang dibuat untuk banyak file kecil dan untuk digunakan pada sistem untuk banyak permintaan pada file kecil (thumbnail).
Pada dasarnya mereka memiliki tujuan yang berbeda dan atau mungkin kepatutan vs open source.
sumber
Saya pikir ZFS (digunakan oleh Solaris di sistem Sun [sekarang Oracle]) adalah solusi untuk sistem file.
Sayangnya Oracle menutup OpenSolaris untuk penemu dan mengujinya.
ZFS adalah open source, beberapa Linux mencoba mengintegrasikannya, lihat di Wikipedia untuk informasi lebih lanjut.
sumber