Saya telah menggunakan Windows sejak kecil, dan ketika saya mendengar frasa "sistem file Windows", saya memikirkan direktori (folder) dalam direktori, folder bernama SYSTEM, folder bernama PROGRAM FILES dll. Apakah ini sistemnya? Hanya tata letak folder?
Dan kemudian saya baru-baru ini mulai menggunakan Linux, dan buku referensi saya mengatakan dalam sistem file linux semuanya dimulai dari root dan bercabang dari sana. Bagaimana itu benar-benar berbeda dari Windows? Maksudku, sepertinya sistem linux dan sistem windows hanyalah dua cara untuk mengatur pohon direktori. Apakah ini yang dimaksud sistem file?
/
. Di Windows, ini bukan masalahnya, karena tidak memiliki pemasangan UNIX-style (benar jika saya salah di sini), jadi semuanya diatur di sekitar drive.Jawaban:
Hanya tata letak folder?
Kedengarannya terlalu bagus untuk menjadi kenyataan ...
Mari kita ambil sistem file FAT32 sebagai contoh. Saya dapat menginstal Windows XP di atasnya, tetapi saya juga dapat menggunakannya pada kartu memori. Pada kartu memori, Anda tidak memiliki folder yang Anda simpulkan.
Jadi ... Jangan bingung tata letak direktori keluarga sistem operasi dengan sistem file.
Apakah ini yang dimaksud sistem file?
Tidak ... Ini merujuk pada bit dan byte yang mendasari yang membuat struktur direktori Anda berfungsi.
Bit dan byte yang mendasarinya? Tunjukkan pada saya FAT32!
Mari kita lihat seperti apa FAT32 , ia memiliki:
Tabel FAT terdiri dari banyak entri yang terlihat seperti ini, memungkinkan kita untuk menentukan di mana direktori atau file disimpan di ruang cluster, serta beberapa atribut dan ukuran.
Entri direktori akan menunjuk ke daftar entri direktori / file ...
Di ruang cluster, kita sekarang dapat melakukan perjalanan cluster kami untuk menemukan data yang kita butuhkan. Sebuah cluster pada dasarnya berisi data dan informasi di mana fragmen selanjutnya berada
Apakah sistem file lain berbeda? Tunjukkan pada saya NTFS!
Saya akan menunjukkan kepada Anda gambar sehingga Anda dapat melihat perbedaannya, sisanya adalah pekerjaan rumah untuk pembaca: Informasi lebih lanjut dapat ditemukan di arsip blog ini atau Google.
Gagasan utamanya adalah bahwa NTFS merupakan peningkatan besar dibandingkan FAT32 yang lebih kuat / efisien. Memiliki gagasan yang lebih baik tentang (tidak) ruang yang digunakan dengan menggunakan bitmap untuk lebih membantu melawan fragmentasi. Dan seterusnya...
- http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png
Bagaimana dengan sistem file di Linux? Tunjukkan padaku ext2 / 3!
Idenya adalah bahwa ext2 / ext3 menggunakan blok super dan inode; ini memungkinkan untuk soft dan hardlink, direktori yang merupakan file, file dengan banyak nama dan sebagainya. Inti utama adalah abstrak untuk memungkinkan sistem file untuk dapat melakukan lebih banyak hal meta-ish ...
- http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png
sumber
Perbedaan besar antara Linux dan Windows, setidaknya ketika datang ke sistem file dan direktori pohon mereka adalah bahwa di Linux "semuanya adalah file", dan semuanya turun dari satu root. Ini juga berlaku untuk hampir semua OS yang diturunkan Unix seperti BSD, OS X, Solaris, dll. Tapi saya akan mengatakan "Linux" sebagai generik (jika tidak sepenuhnya akurat).
Tetapi apa artinya itu dalam praktik?
Windows memungkinkan beberapa root untuk sistem file mereka. Anda memahami ini sebagai huruf drive:
C: D: E:
dan seterusnya. Masing-masing memiliki root (\
), dan pohon yang turun darinya. Versi terbaru Windows memungkinkan untuk hal-hal seperti volume mountpoints, di mana volume (apa yang Anda anggap sebagai partisi) dapat di-mount ke folder kosong yang ada. Jadi alih-alihD:
\ mewakili akar, katakanlah, drive optik (CD / DVD / BR) Anda, Anda bisa memasangnya diC:\Optical
gantinya. Ini lebih mirip dengan apa yang Linux lakukan. Ada juga namespace objek yang mendasari, berakar tunggal, untuk semua yang ada di Windows mirip dengan apa yang digunakan Linux dan dikelola oleh Object Manager , tetapi sebagian besar pengguna jarang melihatnya direferensikan karena ini terutama untuk penggunaan kernel.Linux memiliki akar tunggal:
/
. Semuanya turun darinya, dan itu tidak perlu mewakili hard drive Anda. Hard Drive, Drive Optik, Kartu Memori, Pembagian Jaringan, Printer, Pemindai, CPU, RAM, Proses, ... semuanya diwakili di suatu tempat di dalam namespace tunggal ini, dan dapat diakses oleh proses apa pun dengan API manajemen file standar, dengan anggapan Anda memiliki tingkat akses yang cukup tinggi. Hanya karena Anda dapat membaca atau menulis darinya, itu tidak berarti itu adalah file di hard drive Anda di Linux. Misalnya, perangkat biasanya dipasang ke dalam/dev
, jadi mengakses hal-hal di sana sering berarti Anda berbicara dengan perangkat - mungkin itu kartu suara, atau pemindai, atau kamera, dll. Ini dikenal sebagai file perangkat . Procfsadalah "filesystem" khusus yang biasanya di-mount ke/proc
dan memiliki "direktori" untuk setiap proses yang berjalan, dengan file di setiap direktori yang berkaitan dengan hal-hal seperti baris perintah yang digunakan untuk menjalankan proses itu, peta memori, membuka file, dll. Sysfs adalah sistem file khusus (terpasang pada/sys
) digunakan untuk mengekspos banyak informasi tentang objek kernel yang sedang berjalan dan juga dapat digunakan untuk menyempurnakan kernel yang sedang berjalan dengan hanya menulis ke file tertentu.sumber
Sistem file tidak hanya tentang bagaimana pohon direktori diatur, tetapi juga bagaimana informasi ini dikodekan pada media juga. Ada beberapa filesystem untuk Linux: ext3, xfs, raiserfs, dll.
sumber
Anda dapat menganggap sistem file sebagai format berbeda untuk menyimpan file dan folder, agak analog dengan bagaimana MS Word dan PDF adalah format berbeda untuk menyimpan dokumen, atau MP3 dan WAV adalah format berbeda untuk menyimpan audio.
Diberikan beberapa file dan folder, sistem file adalah format dan kode yang menyimpannya ke disk sehingga dapat dibaca kembali.
Dan seperti tidak semua pemain video dapat memainkan semua format video, tidak semua sistem operasi dapat membaca semua sistem file. Misalnya jika Anda menyimpan file dari Linux pada stik USB yang diformat ext3, Windows tidak dapat membaca file karena tidak tahu bagaimana menangani sistem file ext3.
Sistem file yang umum termasuk
Lihat Wikipedia untuk perbandingan sistem file .
sumber