Apakah sistem file hanya tata letak folder?

56

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?

P_Q
sumber
3
Sudahkah Anda mencoba membaca en.wikipedia.org/wiki/Filesystem ?
choroba
2
FYI, Tidak ada "sistem file Linux". Maksud buku itu adalah pohon direktori linux. Dan, ya, pohon direktori hanyalah tata letak folder.
user606723
2
Linux tidak memiliki konsep drive , sehingga semuanya terpasang di bawah /. Di Windows, ini bukan masalahnya, karena tidak memiliki pemasangan UNIX-style (benar jika saya salah di sini), jadi semuanya diatur di sekitar drive.
new123456
1
@ new123456 Merasa terkoreksi. Windows mendukung pemasangan (sejak W2k atau NT), walaupun fitur ini sangat jarang digunakan.
kubanczyk
1
Satu perbedaan adalah bahwa kata "filesystem" memiliki tiga arti berbeda .
JdeBP

Jawaban:

130

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:

  • Beberapa sektor header di awal, seperti Volume ID dan Sektor yang Dicadangkan
  • Dua Tabel Alokasi File, memungkinkan kita mengetahui di mana file kita berada.
  • Cluster yang berisi semua direktori dan file data kami.
  • Beberapa ruang kecil yang tidak terpakai yang tidak bisa kita gunakan.

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

masukkan deskripsi gambar di sini

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

Tamara Wijsman
sumber
@ Shadok: Saya mungkin memperbaiki bagian selanjutnya nanti, saya cukup sibuk akhir-akhir ini ... Terima kasih.
Tamara Wijsman
2
Saya akan memberi ini +1 jika saya bisa. Sekarang mengapa tidak bisa lebih banyak dokumen dan spesifikasi terlihat seperti ini !?
greatwolf
Mungkin Anda harus menulis posting blog tentang @TomWijsman ini ;-)
Ivo Flipse
@IvoFlipse: A "Penyimpanan Data: Bagaimana cara kerjanya?" seri mungkin, inilah jawaban lain . Gambar-gambar besar & $ # mengatakan lebih dari sekadar kata-kata ... :)
Tamara Wijsman
Jelas, sepertinya ide yang bagus
Ivo Flipse
14

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-alih D:\ mewakili akar, katakanlah, drive optik (CD / DVD / BR) Anda, Anda bisa memasangnya di C:\Opticalgantinya. 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 /procdan 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.

afrazier
sumber
2
Harap dicatat bahwa mudah membingungkan sistem file dengan tata letak direktori dari perspektif pengguna. Sementara istilah sistem file benar-benar dimaksudkan untuk terlihat tentang internal sistem file; misalnya. perbedaan antara FAT dan NTFS, serta perbedaan antara ext2 dan ext3 ...
Tamara Wijsman
4
@ Tom: Tampaknya OP benar-benar bertanya tentang perbedaan dalam berbagai hierarki objek antara Linux dan Windows daripada bagaimana bit diletakkan di disk. udev, procfs, sysfs, tmpfs, dll. adalah filesystem seperti halnya ext2 atau NTFS di Linux, meskipun faktanya mereka tidak melibatkan hal-hal pada disk.
afrazier
Itu hanya sebagian dari pertanyaannya "Apakah sistem file hanya tata letak folder?", Cara Anda menjawab pertanyaan hanya membuatnya lebih membingungkan dan tidak menjawab pertanyaan itu. Karenanya saya meninggalkan pemberitahuan untuk pembaca ...
Tamara Wijsman
+1 untuk "semuanya adalah file" di Linux. Inilah perbedaan besar antara Linux dan Windows untuk saya.
Rabarberski
3

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.

choroba
sumber
3

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

  • FAT dan NTFS (Windows, NTFS adalah standar pada versi Windows yang lebih baru)
  • ext3 dan ext4 (Linux)
  • HFS plus (OS X)
  • ISO 9660 dan UDF (CD, DVD, dan Blu-Ray)

Lihat Wikipedia untuk perbandingan sistem file .

jg-faustus
sumber