Kembali pada 2008, Linus Torvalds terkenal mengatakan dalam sebuah wawancara bahwa "OS X dalam beberapa hal sebenarnya lebih buruk daripada Windows untuk diprogram. Sistem file mereka lengkap dan omong kosong, yang menakutkan." Saya telah mencari rincian lebih lanjut tentang mengapa dia merasa seperti ini tentang sistem file OS X (HFS + mungkin) tetapi saya belum dapat menemukan apa pun.
Linus jelas tidak menyukai model filesystem Unix dasar, dan saya ragu dia membenci HFS + karena case-insensitive. Dan terlepas dari seberapa provokatif komentarnya diungkapkan, saya ragu bahwa itu sama sekali tidak pantas. Karena komentar itu dalam konteks pemrograman untuk OS X, saya menduga pendapatnya mungkin didasarkan pada kinerja, kekokohan, antarmuka sistem operasi, atau sesuatu seperti itu. Adakah yang tahu keluhan apa yang mungkin dimiliki Linus era 2008 dengan HFS + era 2008?
sumber
Jawaban:
Sebuah transkrip dari “Q & A” sesi di mana Linus membuat komentar tersedia, tetapi tampaknya dia tidak diminta untuk menguraikan. Saya tidak yakin apakah analisis yang lebih mendalam tentang pendapatnya tentang HFS + telah ditulis di tempat lain.
Untuk analisis orang lain tentang masalah ini, Anda dapat melihat ulasan John OS Mac X Siracusa. Khususnya untuk Mac OS X Lion yang memiliki bagian berjudul " Apa yang salah dengan HFS + ." Saya pikir bit yang paling menonjol adalah (penekanan milik saya):
Poin penting di sini adalah bahwa Mac OS X menggunakan sistem file yang bahkan tidak dirancang untuk sistem Unix, itu dirancang untuk Mac OS klasik dan ditambal untuk mengimplementasikan fitur-fitur Mac OS X 10.0 sambil mempertahankan kompatibilitas ke belakang. Apple kemudian mengimplementasikan fitur tambahan yang sekarang ada di Mac OS X 10.7 (penjurnalan, metadata, peristiwa sistem file ...) menggunakan pendekatan patching yang sama daripada pendekatan "desain dari bawah ke atas". Saya tidak yakin bagaimana menjelaskan ini secara non-teknis, tetapi Anda bisa mengatakan bahwa semua fitur tambahan ini bersandar pada fondasi Mac OS klasik yang tidak pernah dirancang untuk mendukungnya. Ini berarti solusinya tidak sebagus yang seharusnya. Contoh yang Siracusa lanjutkan untuk membahas adalah bahwa solusi yang harus digunakan Apple untuk tautan keras saat bekerja dalam batasan HFS + terlalu sensitif terhadap kegagalan perangkat keras, yang diperparah oleh fakta bahwa HFS + juga tidak pernah dirancang untuk memusatkan perhatian pada data. integritas. Tentu saja, menjaga kompatibilitas dengan Mac OS klasik adalah batasan yang diinginkan di Mac OS X 10.0 tetapi sebenarnya tidak lagi di Mac OS X 10.7.
sumber
bswap
Instruksi x86 sangat cepat. Itu membuat kode lebih besar dan lebih buruk, tetapi menjaga kompatibilitas pada disk adalah masalah besar. Linux XFS masih menyimpan semua metadata big-endian (kecuali asli-endian dalam jurnal), karena asalnya di SGI pada CPU MIPS. Ini bukan situasi yang ideal, tetapi XFS tidak tertahan olehnya.Meskipun saya bukan ahli Sistem Operasi, dan saya baru mulai menggunakan OSX setelah datang dari Windows, saya menganggap diri saya PowerUser di Windows, dan cukup kompeten di Linux. Berasal dari latar belakang itu, saya terkejut bahwa dalam OS yang cukup modern seperti OSX, filesystem memiliki kebiasaan seperti cara nama-nama file "mungled".
Saya mengerti bahwa masalah Linus dengan HFS + berasal dari titik yang sama: dari apa yang saya temukan meneliti masalah tersebut, HFS + menyimpan nama file menggunakan Unicode, tetapi ketika file menggunakan karakter "extended" atau NON-ASCII (seperti á, é, í, ó, ú, ñ dari Spanyol atau hal-hal seperti ü dalam bahasa Jerman), yang Unicode menyediakan 2 cara penyandian nama, OSX diam-diam "menormalkan" penyandian pada waktu penyimpanan ... Bukan masalah nyata ketika file telah dibuat dan dikonsumsi di OSX, tetapi ketika Anda berbagi informasi dengan pengguna OS lain, fakta bahwa nama file berubah, membuat untuk semua jenis perilaku aneh ...
Contoh kasus: Saya telah melacak "artefak" karya saya (file, dokumen, dll) di Subversion selama lebih dari 8 tahun terakhir. Ketika pindah ke Mac, saya mendapatkan klien SVN untuk Mac, dan setelah melakukan Checkout dari direktori saya yang relevan, saya menemukan bahwa semua file yang aksennya tampaknya hilang, dan file baru dengan nama yang sama muncul sebagai bukan versi. Menggali ke dalamnya, masalahnya adalah bahwa file DALAM sistem file dikodekan oleh apple, sedangkan data dalam repositori menggunakan yang lain (sempurna valid dan sah) pengkodean Unicode ...
Ini, saya pikir, adalah "kekacauan" data saya. Apple TIDAK memahami kedua format pengkodean nama file (mengakses bagian di Windows, atau menggunakan stik USB dari Windows menunjukkan nama file yang tepat, dll.) Tetapi pada saat pembuatan file, diputuskan "ia tahu lebih baik" dan hanya mengganti nama file. ..
Sekali lagi, bukan sesuatu yang akan dilihat sebagian besar pengguna - sampai mereka membuat salinan file, atau mengganti namanya, dan mengembalikannya ke tempat yang asli dan berakhir dengan dua file yang tampaknya sama !!!)
sumber
John Siracusa & Dan Benjamin membahas beberapa kelemahan HFS + dalam Hypercritical # 56 .
Mereka menangani kerusakan data dalam HFS + dan mempertimbangkan beberapa fitur ZFS.
sumber