Bir dosya sistemi sadece klasörlerin düzeni midir?


56

Çocukluğumdan beri Windows'u kullandım ve "Windows dosya sistemi" ifadesini duyduğumda, dizinler içindeki dizinleri (klasörler), SYSTEM adlı bir klasörü, PROGRAM DOSYALARI adlı bir klasörü düşünüyorum. Sistem bu mu? Sadece klasörlerin düzeni?

Sonra Linux'u kullanmaya başladım ve referans kitabım linux dosya sisteminde her şeyin kökten başladığını ve oradan ayrıldığını söylüyor. Bunun Windows'tan gerçekten farkı ne? Demek istediğim, linux sistemi ve windows sistemi bir dizin ağacı kurmanın sadece iki yolu gibi görünüyor. Dosya sisteminin anlamı bu mu?



2
Bilginize, "Linux dosya sistemi" yoktur. Kitabın demek istediği, linux dizin ağacı. Ve, evet, dizin ağacı sadece klasörlerin düzenidir.
kullanıcı606723

2
Linux , her şeyin altına monte edilmiş sürücü konseptinden yoksundur /. Windows'ta, bu durum UNIX tarzı montajdan yoksun olduğundan (burada yanlış olursam beni düzeltin), bu nedenle her şey sürücülerin etrafında düzenlenmiş durumda.
new123456

1
@ new123456 Düzeltilmiş hissedin. Özellik çok nadir kullanılmasına rağmen, Windows (W2k veya NT'den beri) montajı desteklemektedir.
kubanczyk

Yanıtlar:


130

Sadece klasörlerin düzeni?

Gerçek olamayacak kadar iyi geliyor ...

Örnek olarak FAT32 dosya sistemini ele alalım. Windows XP'yi yükleyebilirim, ancak bir hafıza kartında da kullanabilirim. Bir hafıza kartında, özetlediğiniz klasörlere sahip değilsiniz.

Yani ... İşletim sistemi ailesinin dizin düzenini bir dosya sistemiyle karıştırmayın.

Bir dosya sisteminin anlamı bu mu?

Hayır ... Dizin yapınızı çalıştıran altta bit ve bayt anlamına gelir.

Altta yatan bit ve bayt? Bana FAT32'yi göster!

FAT32'nin neye benzediğine bakalım :

  • Volume ID ve Reserved Sectors gibi başlangıçta bazı başlık sektörleri
  • İki Dosya Ayırma Tablosu, dosyalarımızın nerede olduğunu bulmamıza izin veriyor.
  • Tüm dizin ve dosya verilerimizi içeren kümeler.
  • Kullanamadığımız çok küçük, kullanılmayan bir alan.

Bir FAT tablosu, bunun gibi görünen pek çok girdiden oluşur, bu da dizinin veya dosyanın kümeler alanında nerede depolandığını ve bazı niteliklerin ve boyutların nerede olduğunu tespit etmemizi sağlar.

Bir dizin girişi, bir dizin / dosya girişi listesine işaret eder ...

Kümeler alanında, artık ihtiyaç duyduğumuz verileri bulmak için kümelerimizde gezebiliriz. Bir küme esas olarak sonraki parçaların bulunduğu veri ve bilgileri içerir.

görüntü tanımını buraya girin

Diğer dosya sistemleri farklı mıdır? Bana NTFS'yi göster!

Size bir resim göstereceğim, böylece farkları fark edebilirsiniz, gerisi okuyucu için ödev: Bu blog arşivinde veya Google'da daha fazla bilgi bulunabilir .

Ana fikir, NTFS'nin FAT32'ye göre daha sağlam / verimli bir gelişme olduğunu gösteriyor. Parçalanmaya karşı daha fazla yardım etmek için bir bitmap kullanarak (kullanılan) alan hakkında daha iyi bir fikre sahip olmak. Ve bunun gibi...

- http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png

Peki ya Linux'daki dosya sistemleri? Bana ext2 / 3'ü göster!

Fikir ext2 / ext3'ün süper blok ve inode kullandığı; bu, yumuşak ve sabit bağlantılar, dosyalar olan dizinler, birden çok ada sahip dosyalar vb. sağlar. Asıl esas dosya sisteminin daha fazla meta- şeyler yapmasını sağlamak için soyutlamaktır .

- http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png


@Shadok: Daha sonraki bölümleri daha sonra geliştirebilirim, bugünlerde oldukça meşgulüm ... Teşekkürler.
Tamara Wijsman

2
Yapabilseydim bunu + 2 yapardım. Şimdi neden daha fazla belge ve özellik bu şekilde görünmüyor ?!
greatwolf

Belki de bu konuda bir blog yazısı yazmalısınız @TomWijsman ;-)
Ivo

@IvoFlipse: A "Veri Depolama: Nasıl çalışır?" serisi mümkün olabilir, işte başka bir cevap . Büyük ve $ # resimler kelimelerden fazlasını söylüyor ... :)
Tamara Wijsman

Kesinlikle, güzel bir fikir gibi geliyor
Ivo Flipse

14

Linux ve Windows arasındaki en büyük fark, en azından dosya sistemleri ve dizin ağaçları söz konusu olduğunda, Linux'ta "her şey bir dosyadır" ve her şey tek bir kökünden kaynaklanır. Bu aynı zamanda BSD, OS X, Solaris vb. Gibi neredeyse tüm Unix kaynaklı işletim sistemlerinde de geçerlidir, ancak yalnızca genel olarak "Linux" diyeceğim (eğer tamamen doğru değilse).

Fakat pratikte bunun anlamı nedir?

Windows, dosya sistemleri için birden çok adlandırılmış kök sağlar. Bunları sürücü harfleri olarak anlıyorsunuz: C: D: E:vb. Her birinin bir kökü ( \) ve ondan inen bir ağacı vardır. Windows'un son sürümleri, bir birimin (bir bölüm olarak düşündüğünüz) mevcut, boş bir klasöre monte edilebileceği birim bağlama noktaları gibi şeylere izin verir. Böylece D:, optik (CD / DVD / BR) sürücünüzün kökünü temsil etmek C:\Opticalyerine , yerine takabilirsiniz . Bu Linux'un yaptıklarına daha benzer. Ayrıca Windows'ta Linux'un kullandığı ve Nesne Yöneticisi tarafından yönetilen her şey için temel, tek köklü bir nesne ad alanı da var , ancak çoğu kullanıcı temelde çekirdek kullanımı için kullanıldığından beri başvuruda bulunmadığını nadiren görüyor.

Linux kök tektir: /. Her şey ondan iniyor ve sabit sürücünüzü temsil etmesi gerekmez. Sabit Sürücüler, Optik Sürücüler, Bellek Kartları, Ağ Paylaşımları, Yazıcılar, Tarayıcılar, CPU'lar, RAM, İşlemler, ... her şey bu tek ad alanı içinde bir yerde temsil edilir ve standart dosya yönetimi API'leri ile herhangi bir işlemle erişiminiz olabilir. yeterince yüksek bir erişim seviyesi. Sırf okuyabildiğiniz veya yazabildiğiniz için Linux'taki sabit diskinizde bir dosya olduğu anlamına gelmez. Örneğin, aygıtlar tipik olarak monte edilir /dev, bu nedenle oradaki şeylere erişmek genellikle bir aygıtla konuştuğunuz anlamına gelir - belki ses kartı, tarayıcı ya da kamera vb. Bunlar aygıt dosyaları olarak bilinir . procfsNormalde monte oluyor özel bir "dosya sistemi" dir /procvb bu süreci başlatmak için kullanılan komut satırı, bellek haritalar, açık dosyalar, gibi şeyler ile ilgili her dizindeki dosyalarla ve her işleme için bir "dizin" vardır, sysfs başka edilir /sysÇalışan çekirdek nesneleri hakkında geniş bir bilgi hazinesi ortaya çıkarmak için kullanılan özel dosya sistemi (üzerine monte edilmiş ) ve ayrıca sadece belirli bir dosyaya yazarak çalışan çekirdeğin ince ayarını yapmak için de kullanılabilir.


2
Bir dosya sistemini, dizininin düzeniyle kullanıcı açısından karıştırmanın kolay olduğunu lütfen unutmayın. Dosya sistemi terimi gerçekten bir dosya sisteminin içindekiler hakkında olmak için düşünülmekle birlikte; Örneğin. FAT ve NTFS arasındaki farkın yanı sıra ext2 ve ext3 arasındaki farklar ...
Tamara Wijsman

4
@ Tom: Görünen o ki OP, diskte bit dizilimi yerine Linux ve Windows arasındaki çeşitli nesne hiyerarşilerindeki farklılıklar hakkında sorular soruyor. udev, procfs, sysfs, tmpfs vb. diskteki herhangi bir şeyi içermemelerine rağmen, ext2 ya da NTFS’lerin Linux’ta olduğu kadar dosya sistemidir.
afrazier

Bu, "Dosya sistemi sadece klasörlerin düzeni mi?" Sorusunun yalnızca bir kısmı, soruyu cevaplama şekliniz onu daha kafa karıştırıcı hale getiriyor ve bu soruyu ele almıyor. Bu yüzden okuyucular için bir not bıraktım ...
Tamara Wijsman

Linux'ta "her şey bir dosyadır" için +1. Bu benim için Linux ve Windows arasındaki büyük fark.
Rabarberski

3

Dosya sistemi sadece bir dizin ağacının nasıl kurulduğuyla ilgili değildir, aynı zamanda bu bilgilerin medyada da nasıl kodlandığı ile ilgilidir. Linux için birkaç dosya sistemi vardır: ext3, xfs, raiserfs, vs.


3

Dosya sistemlerini, dosya ve klasörleri depolamak için farklı biçimler olarak düşünebilirsiniz; MS Word ve PDF'nin belge depolamak için farklı biçimlerde olduğu gibi, MP3 ve WAV da ses depolamak için farklı biçimlerdir.

Birkaç dosya ve klasör göz önüne alındığında, dosya sistemi format ve onları diske depolayan koddur; böylece yeniden okunabilirler.

Ve tüm video oynatıcılar tüm video formatlarını oynatamaz, tüm işletim sistemleri tüm dosya sistemlerini okuyamaz. Örneğin, Linux’tan bir ext3 formatlı USB belleğe dosya saklarsanız, Windows ext3 dosya sistemini nasıl kullanacağını bilmediğinden dosyayı okuyamaz.

Yaygın dosya sistemleri

  • FAT ve NTFS (Windows, NTFS daha yeni Windows sürümlerinde standarttır)
  • ext3 ve ext4 (Linux)
  • HFS artı (OS X)
  • ISO 9660 ve UDF (CD, DVD ve Blu-Ray)

Dosya sistemlerinin karşılaştırması için Wikipedia'ya bakın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.