Menü
Bedava
kayıt
ev  /  bellenim/ Linux dosya sistemi türleri ve özellikleri. Ext2, ext3, ext4 dosya sistemlerinin fiziksel organizasyonu Ext2 dosya sistemi

Linux dosya sistemi türleri ve özellikleri. Ext2, ext3, ext4 dosya sistemlerinin fiziksel organizasyonu Ext2 dosya sistemi

Linux dosya sistemi çoğunlukla ext4'tür. Günlük tutuyor ve sorunların büyük çoğunluğunu çözerken verilerle rahatça çalışmanıza izin veriyor. Ancak başkaları da var. Temel tipler dosya sistemleri ve onlarla çalışma ilkeleri bu materyal çerçevesinde ele alınacaktır.

Dosya türleri Linux sistemleri ve özellikleri

Ayırt edici özellikler, varsayılan olarak var olan ve bir FS oluştururken ayarlanan dosyalar, güvenlik ve parametrelerle (blok boyutu gibi) çalışma hızıdır. Belki de en önemli özelliği bir derginin varlığıdır. V sistem günlüğü veriler yazılıyor veya meta veri(yalnızca başlıklar) bir arıza durumunda bilgilerin kurtarılabileceği.

Dosya sistemi herhangi bir aygıtta oluşturulabilir: disk veya sistem bölümü.

EXT2 dosya sistemi

EXT2 şu anda modern kurulumlarda pek kullanılmayan eski bir dosya sistemidir. ana dezavantajı, buna göre bir arıza durumunda verilerin kurtarılmasını imkansız kılan günlük kaydı olmamasıdır. Hala USB gibi taşınabilir depolama ortamlarında kullanılmaktadır. Belli bir yer kapladıkları için dergiye ihtiyaç duymazlar.

Ayrıca maksimum çalışma hızını garanti eder.

  • EXT2 için maksimum dosya boyutu -2 TB'dir

EXT3 dosya sistemi

Değiştirilen EXT2, ana özellik derginin görünümüdür, EXT2 ile tamamen geriye dönük uyumludur (EXT2, EXT3'e serbestçe dönüştürülebilir). Şimdi de nadirdir, EXT4 neredeyse her zaman kullanılır.

Günlük, tüm değişikliklerle ilgili bilgilerin kaydedildiği bellekte özel bir alandır.

  • EXT3 için maksimum dosya boyutu -2 TB'dir
  • tüm dosyaların maksimum boyutu - 32 TB
  • her dizin 32.000'e kadar alt dizine sahip olabilir

Günlük kaydı için üç seçenek vardır (dosya sistemi oluşturulurken belirtilir):

  • dergi - dergi meta verilerinin yanı sıra bilgilerin kendisi
  • sıralı - varsayılan seçenek, diske yazıldıktan sonra yalnızca meta veriler kaydedilir
  • geri yazma - ayrıca yalnızca meta veriler kaydedilir, diske yazmadan önce veya sonra kaydetmeyi seçebilirsiniz

EXT4 dosya sistemi

Genişletilmiş dosya sisteminin modern versiyonu, en sık kullanılır

  • maksimum dosya boyutu -2 TB 16 TB
  • tüm dosyaların maksimum boyutu 1 EB'dir (exabyte). 1 EB = 1024 PB (petabayt). 1 PB = 1024 TB (terabayt).
  • her dizin 64.000'e kadar alt dizine sahip olabilir

EXT4'te, seçeneği ayarlayarak günlüğe kaydetme kapatılabilir. veri monte edildiğinde kapalı

Ana Linux dosya sistemi ve uygulama olarak EXT

Dosya sistemi mk2fs komutu ile oluşturulur.

Gerekli günlük kaydı seçeneği, bağlama sırasında belirtilir, örneğin:

mount / dev / vdc / mnt / 1 -t ext3 -o veri = günlük

EXT2 E'den XT3'e dönüştürme

ReiserFS

ReiserFS (ve Reiser4'ün modern SELinux özellikli uygulaması) iyi bir performansa sahiptir ve çok üretkendir - özellikle büyük miktar küçük dosyalar. ReiserFS, her küçük dosya için bunları birlikte işleyerek düğümler ayırmaz ve ReiserFS, çeşitli seçenekleri bulunan bir günlük kullanmaz. Dosya sistemi şu anda Rusya'dan geliştiriciler tarafından desteklenmektedir.

komutu ile cihaz için FS oluşturabilirsiniz.

XFS

XFS, Günlüklü Dosya Sistemidir. Bilgileri depolamak için RAM kullanır, bu nedenle veri kaybı mümkündür - örneğin, güç kapatıldığında.

XFS'yi Ubuntu'da kullanmak için paketleri kurmanız gerekir. xfsprogs ve xfsdump

vfat

Linux dosya sistemi, Windows ortamında da mevcuttur. Farklı işletim sistemlerine sahip istemcilerin belirli disklerine ve bölümlerine ortak erişim düzenlemeniz gerektiğinde kullanılır. Diğer durumlarda, Linux'ta çalışırken zor olabileceğinden kullanılması tavsiye edilmez.

Şimdi ext2fs dosya sisteminin mantıksal yapısına bir göz atalım. Sabit disk fiziksel olarak 512 bayt sektörlere bölünmüştür. Herhangi bir dosya sistemindeki disk bölümünün ilk sektörü, önyükleme alanı olarak kabul edilir. Birincil bölümde, bu alan, başlangıçta işletim sisteminin önyükleme işlemini başlatan bir kod parçası olan önyükleme kaydını içerir. Bu alan diğer bölümlerde kullanılmamaktadır. Sektörlerin geri kalanı 1, 2 veya 4 kilobaytlık mantıksal bloklar halinde birleştirilir. Mantıksal blok, adreslenebilir en küçük veri parçasıdır: her dosyanın verileri bir tamsayı bloğu kaplar. Bloklar sırayla blok grupları halinde birleştirilir. Blok grupları ve bir grup içindeki bloklar, 1'den başlayarak sırayla numaralandırılır.

ext2fs dosya sistemiyle çalışırken kullanılan veri yapıları / usr / include / linux / ext2fs .h başlık dosyasında açıklanmıştır.

Süper blok, dosya sisteminin başlangıç ​​noktası olarak hizmet eder ve tüm

onun hakkında bilgi. 1.024 bayt boyutundadır ve dosya sisteminin başlangıcından itibaren 1.024 baytta bulunur. Her blok grubunda çoğaltılır, bu da arızalardan sonra hızlı bir şekilde geri yüklemenizi sağlar. Süper blok, dosya sisteminin boyutunu, bölümdeki maksimum dosya sayısını, boş alan miktarını belirler ve ayrılmamış alanların nerede aranacağı hakkında bilgi içerir. İşletim sistemi başlatıldığında, süper blok belleğe okunur ve dosya sistemindeki tüm değişiklikler önce süper bloğun işletim sistemindeki kopyasına yansıtılır ve diske yalnızca periyodik olarak yazılır. Bu, birçok kullanıcı ve işlem dosyaları sürekli olarak güncellediğinden sistem performansını artırır. Öte yandan, sistem durdurulduğunda, süper bloğun diske yazılması gerekir, bu da bilgisayarın sadece gücü kapatarak kapanmasına izin vermez. Aksi takdirde, bir sonraki açılışta güneş koruyucuya yazılan bilgiler silinmeyecektir.

dosya sisteminin gerçek durumuna karşılık gelir.

Süper bloğu, blok grubunun açıklaması (tanımlayıcısı) takip eder. İçinde depolanan bilgiler, blok ve inode bitmaplerini ve inode tablosunu bulmanızı sağlar.

Blok bit eşlemi, her biti aynı bloğun bir dosyaya atanıp atanmadığını gösteren bir yapıdır. 1 değeri bloğun meşgul olduğunu gösterir. Bu harita, bir dosya için yer ayırmanız gereken durumlarda ücretsiz blokları aramak için kullanılır..

İnode bitmap, inode tablosuna benzer bir işlevi yerine getirir: hangi tanımlayıcıların kullanımda olduğunu gösterir.

Her dosyanın bir ve yalnızca bir düğümü vardır (dosya numarası, i-node, bilgi düğümü), sıra numarası ile tanımlanan - dosya dizini. İnode, dosya meta verilerini depolar. Bunların arasında - adı dışında dosyanın tüm öznitelikleri ve dosya verilerine bir işaretçi.

Normal bir dosya veya dizin için bu işaretçi, 15 blok adresinden oluşan bir dizidir. Bu dizideki ilk 12 adres, dosya verilerinin depolandığı blok numaralarına doğrudan referanslardır. Veri 12 bloğa sığmazsa, dolaylı adresleme mekanizması açılır. Bu dizideki sonraki adres dolaylı bir referanstır, yani bu dosyadaki verilerle sonraki blokların adres listesini saklayan bloğun adresidir.

Bunun gibi kaç tane veri bloğunu adresleyebilirsiniz? Blok adresi 4 bayt alır, daha önce belirtildiği gibi blok 1, 2 veya 4 kilobayttır. Bu, dolaylı adresleme ile 256 - 1024 bloğun barındırılabileceği anlamına gelir.

Ve eğer dosya daha uzunsa? İşaretçi dizisindeki bir sonraki adres, bir çift dolaylı bloğa işaret eder. (çift dolaylı blok). Bu blok, sırayla aşağıdaki veri bloklarının adres listelerini içeren blok adreslerinin bir listesini içerir.

Ve son olarak, işaretçi dizisindeki son adres, üçlü yönlendirme bloğunun adresini, yani çift yönlendirme blokları olan blok adresleri listesini içeren bloğu belirtir.

Dosyanın verilerinde veya meta verilerinde yer almıyorsa, dosya adının nerede olduğu belirsizliğini koruyor. UNIX benzeri sistemlerde, dosya adı, dosyanın kendisinin değil, mantıksal bir dizin yapısı olarak anlaşılan dosya sisteminin bir özniteliğidir. Dosya adı yalnızca dosyanın atandığı dizinde saklanır, başka hiçbir yerde saklanmaz. Bunu ilginç sonuçlar takip ediyor.

İlk olarak, farklı dizinlere atanan herhangi bir sayıda ad tek bir düğüme karşılık gelebilir ve hepsi gerçektir. Adların sayısı (sabit bağlantılar) düğümde sayılır. Bu, Is -1 komutuyla görebileceğiniz sayıdır.

İkinci olarak, bir dosyayı silmek basitçe, onunla ilgili kaydı dizin verisinden silmek ve bağlantı sayısını 1 azaltmak anlamına gelir.

Üçüncüsü, bir adı yalnızca aynı dosya sistemi içindeki bir düğüm numarasıyla eşleştirebilirsiniz, bu nedenle başka bir dosya sistemine sabit bir bağlantı oluşturamazsınız (sembolik - yapabilirsiniz, farklı bir depolama mekanizması vardır).

Dizinin kendisi de aynı şekilde üst dizinine atanır. Kök dizin her zaman 2 numaralı düğüme yazılır (1 numara bozuk blok adresleri listesi için ayrılmıştır). Her dizin kendisine ve üst dizinine bir bağlantı içerir - bunlar sözde alt dizinlerdir "." ve "..".

Bu nedenle, bir dizine bağlantı sayısı, alt dizinlerinin sayısı artı ikiye eşittir.

Dizin verileri, değişken uzunlukta girişleri olan bağlantılı bir listedir ve şuna benzer:

Ext2fs dizin yapısı

Fiziksel cihaz dosyaları ne olacak? Normal dosyalarla aynı dizinlerde bulunabilirler: dizinde, adın bir diskteki veya aygıttaki bir dosyaya ait olduğunu gösteren hiçbir veri yoktur. Fark inode düzeyindedir. Normal bir dosyanın i düğümü, verilerinin depolandığı disk bloklarını gösteriyorsa, aygıt dosyasının i düğümü, çekirdekteki aygıt sürücüleri listesine bir işaretçi içerir - listenin şuna karşılık gelen öğesi: ana cihaz numarası:

Normal dosya ve cihaz dosyası arasındaki fark

Ext2fs dosya sistemi özellikleri:

Maksimum dosya sistemi boyutu 4 TB'dir.

Maksimum dosya boyutu 2 GB'dir.

Bir dosya adı için maksimum uzunluk 255 karakterdir.

Minimum blok boyutu 1024 bayttır.

Ayrılacak düğüm sayısı, bölümün 4096 baytı başına 1'dir.

nasıl Windows ortamı dosya sistemleriyle bir disk bölümüne veya çıkarılabilir medyaya erişmeyi mümkün kılmak Ext2 / 3/4 ? Örneğin, bilgisayarda ikinci bir sistem varsa Linux... Ve çevreden gelen verilerle çalışmanız gerekiyor pencereler... Veya başka bir örnek - Windows'un içine monte edildiğinde sanal diskler yüklü Sanal makineler sistemler Linux veya Android... Ext2 / 3 / ile 4 Windows yerel olarak nasıl çalışacağını bilmiyor, ihtiyacı var üçüncü şahıs fonları. Bu araçlar nelerdir? Aşağıdakileri düşünün.

***
İlk üç araç, yalnızca bilgi cihazlarının bilgisayardan okunmasını mümkün kılacaktır. Ext2 / 3/4... İkinci çözüm, verilerin hem okunmasına hem de yazılmasına izin verecektir. Aşağıda tartışılan tüm araçlar ücretsizdir.

1. DiskInternals Linux Okuyucu

Basit bir program, normal bir program gibi yapılmış ilkel bir dosya yöneticisidir. Windows gezgini, dosya sistemleri desteği ile Dahili 2/3/4 , Reiser4 , HFS , UFS2... Program penceresinde bölümleri ve cihazları göreceğiz. Linux veya Android.

Kopyalamak için bir klasör veya dosya seçin, düğmesine basın "Kaydetmek".

Ardından kopyalama yolunu belirtin.

2. Total Commander DiskInternals Reader için Eklenti

Popüler sevenler verileri çıkarabilir Linux veya Android Bu dosya yöneticisini kullanarak Windows içinde. Ancak daha önce içine özel bir eklenti yüklemiş olmak. Bu eklentilerden biri, formatlanmış bilgi cihazlarını bağlayıp okuyabilmesidir. Ext2 / 3/4 , Yağ / exFAT , HFS / HFS + , ReiserFS... Eklentiyi indirin, içindeki arşivi açın , kurulumu onaylıyoruz.

Başlatmak (önemli) yönetici olarak. bölümüne geçiyoruz. Tıklamak.

Burada, diskin ve ortamın diğer bölümleriyle birlikte, Ext2 / 3/4 .

Veriler geleneksel kullanılarak kopyalanır yol - ikinci paneldeki F5 tuşuyla.

3. Total Commander ext4tc için Eklenti

Önceki çözüme basitleştirilmiş bir alternatif - ext4tc, için başka bir eklenti ... Yalnızca formatlanmış bilgi cihazlarını okumak için bağlanabilir. Ext2 / 3/4... Eklentiyi indirin, arşivini dosya yöneticisinden açın, kurulumu başlatın.

Başlatmak (önemli) yönetici olarak. tıklıyoruz. Biz gitmek.

Verileri kopyalamanız gerekirse, kullanırız olağan yol F5 tuşu ile.

4. Ext2Fsd destek sürücüsü

programı Ext2Fsd sürücü Ext2 / 3/4, bu dosya sistemleri için işletim sistemi düzeyinde destek uygular. Bu dosya sistemlerinde biçimlendirilmiş disk bölümleri ve sürücüler ile her zamanki gibi çalışabilirsiniz. Windows cihazları gezgin penceresindeki bilgiler veya üçüncü taraf programları... Sürücü, verilerin hem okunmasına hem de yazılmasına izin verir.

en yenisini indir şimdiki versiyonu Ext2Fsd.

Yüklerken, etkinleştiririz (uzun süreli çalışma için ise) önerilen üç onay kutusu:

1 - Windows ile birlikte sürücü otomatik çalıştırma;
2 - Kayıt desteği Ext2;
3 - Biçimlendirme desteği Ext3.

Ön bitirme aşamasında, sürücü yöneticisi penceresini başlatma seçeneğini etkinleştiririz - - aygıtlara bilgi ataması ile birlikte. Ext2 / 3/4 sürücü harfleri.

Açılan pencerede Ortamı zaten atanmış harfle göreceğiz. Örneğin, bizim durumumuzda, taşıyıcı Uzm4 ilk serbest harf belirtildi F.

Artık disk ile çalışabiliriz. F gezgin penceresinde.

ile yeni bağlı cihazlara bir mektup atayın. Ext2 / 3/4 kullanabilirsiniz bağlam menüsü pencerede görüntülenenlerin her biri çağrılır cihazlar. Ancak sadece bir sürücü harfi atandığında, böyle bir cihaz daha sonra görüntülenmez. pencereleri yeniden başlat, bu çözüm yalnızca bir bilgisayar oturumu içindir. ile yeni bir cihaz yapmak için Ext2 / 3/4 Windows ortamında kalıcı olarak görünürse, ayar penceresini açmak ve kalıcı bağlantı parametrelerini ayarlamak için üzerine çift tıklamanız gerekir. İkinci sütunda ihtiyacınız olan:

Çıkarılabilir medya için ekran görüntüsünde 1 numara ile gösterilen onay kutusunu etkinleştirin ve sürücü harfini belirtin;
Dahili diskler ve bölümler için, aşağıdaki ekran görüntüsünde 2 numara ile gösterilen onay kutusunu etkinleştirin ve ayrıca sürücü harfini belirtin.

Dosya sistemi(İngilizce dosya sistemi) - BT ekipmanının depolama ortamındaki verileri düzenleme, depolama ve adlandırma yolunu belirleyen bir sipariş (taşınabilir flash bellek kartlarını kullanarak) elektronik aletler: dijital kameralar, cep telefonları vb.) ve bilgisayar Teknolojisi... Genellikle dosya biçiminde gruplanan, içeriğin biçimini ve bilgilerin fiziksel olarak depolanmasını tanımlar. Belirli dosya sistemi, dosya adının (klasör) boyutunu, olası maksimum dosya ve bölüm boyutunu ve bir dizi dosya özniteliğini belirler. Bazı dosya sistemleri, erişim denetimi veya dosya şifreleme gibi hizmet yetenekleri sağlar.

Dosya Sistemi Görevleri

Herhangi bir dosya sisteminin ana işlevleri, aşağıdaki görevleri çözmeyi amaçlar:

dosya adlandırma;

uygulamalar için dosyalarla çalışmak için yazılım arayüzü;

dosya sisteminin mantıksal modelinin veri ambarının fiziksel organizasyonuyla eşleştirilmesi;
elektrik kesintilerine, donanım ve yazılım hatalarına karşı dosya sistemi esnekliğinin organizasyonu;

Çok kullanıcılı sistemlerde başka bir görev belirir: bir kullanıcının dosyalarını başka bir kullanıcı tarafından yetkisiz erişimden korumak ve ayrıca dosyalarla ortak çalışmayı sağlamak, örneğin, kullanıcılardan biri tarafından bir dosya açıldığında, diğerleri için aynı dosya geçici olarak salt okunur modda kullanılabilir olacak ...

Dosya sistemi, bir bilgisayar tarafından sabit sürücüdeki bilgileri düzenlemek için kullanılan temel yapıdır. Yenisini kurarken hard disk belirli bir dosya sistemi için bölümlenmeli ve biçimlendirilmelidir, bundan sonra veriler ve programlar üzerinde saklanabilir. Üç vardır olası seçenekler Dosya Sistemi: NTFS, FAT32 ve nadiren kullanılan eski FAT sistemi (FAT16 olarak da bilinir).

NTFS, Windows'un bu sürümü için tercih edilen dosya sistemidir. Daha önceki FAT32 sistemine göre birçok avantajı vardır; Bunlardan bazıları aşağıda listelenmiştir.

Bazı disk hatalarından otomatik olarak kurtarma özelliği (FAT32'de bu özellik yoktur).
Büyük sabit sürücüler için geliştirilmiş destek.
Daha yüksek güvenlik derecesi. Kullanıcıların belirli dosyalara erişimini engellemek için izinleri ve şifrelemeyi kullanmak mümkündür.

FAT32 dosya sistemi ve nadiren kullanılan FAT sistemi önceki sürümlerde kullanılıyordu. Windows sürümleri Windows 95, Windows 98 ve Windows Millenium Edition dahil. FAT32 dosya sistemi, NTFS tarafından sağlanan güvenlik düzeyini sağlamaz, bu nedenle bilgisayarınızda FAT32 için biçimlendirilmiş bir bölüm veya birim varsa, bu bölümdeki dosyalar bilgisayara erişimi olan herkes tarafından görülebilir. FAT32 dosya sistemi de dosya boyutu sınırlarına sahiptir. Windows'un bu sürümünde, 32 GB'den büyük bir FAT32 bölümü oluşturmak mümkün değildir. Ayrıca, bir FAT32 bölümü 4 GB'den büyük bir dosya içeremez.

FAT32 sisteminin kullanılmasının ana nedeni, bilgisayarın hem Windows 95, Windows 98 veya Windows Millenium Edition hem de Windows'un bu sürümünü (birden çok işletim sistemi ile yapılandırma) çalıştırabilmesidir. Böyle bir yapılandırma oluşturmak için, işletim sisteminin önceki sürümünü FAT32 veya FAT için biçimlendirilmiş bir bölüme kurmanız ve onu birincil bölüm yapmanız gerekir (birincil bölüm işletim sistemini içerebilir). Windows'un önceki sürümlerinden erişilen diğer bölümler de FAT32 için biçimlendirilmelidir. Daha erken sürümler Windows yalnızca ağ NTFS bölümlerine veya birimlerine erişebilir. Yerel bilgisayardaki NTFS bölümlerine erişilemez.

YAĞ - artıları:

Etkili çalışmak biraz zaman alır rasgele erişim belleği.
Küçük ve orta ölçekli kataloglarla hızlı çalışma.
Disk, ortalama olarak daha az kafa hareketi yapar (NTFS'ye kıyasla).
Etkili çalışma yavaş disklerde.

YAĞ - eksileri:

Artan parçalanmayla birlikte, özellikle büyük sürücüler için olağanüstü performans kaybı (yalnızca FAT32).
Büyük (örneğin, disk boyutunun %10'u veya daha fazlası) dosyalara rastgele erişimle ilgili zorluklar.
Çok sayıda dosya içeren dizinlerle çok yavaş çalışma.

NTFS - artıları:

Dosyaların parçalanmasının dosya sisteminin kendisi için neredeyse hiçbir sonucu yoktur - parçalanmış bir sistemin performansı yalnızca dosya verilerine erişim açısından düşer.
Dizin yapısının karmaşıklığı ve bir dizindeki dosya sayısı da performans için herhangi bir engel oluşturmaz.
Bir dosyanın rastgele bir parçasına hızlı erişim (örneğin, büyük .wav dosyalarının düzenlenmesi).
Büyük ölçüde hızlı erişim küçük dosyalara (birkaç yüz bayt) - tüm dosya sistem verileriyle (MFT kaydı) aynı yerde bulunur.

NTFS - eksileri:

Sistem belleği için önemli gereksinimler (64 MB mutlak minimumdur, daha iyidir).
Bus Mastering özelliği olmayan yavaş sürücüler ve denetleyiciler, NTFS performansını ciddi şekilde düşürür.
Orta büyüklükteki dizinlerle çalışmak zordur çünkü neredeyse her zaman parçalıdırlar.
%80 - %90 dolu durumda uzun süre çalışan bir disk son derece düşük performans gösterecektir.

Aşağıdaki dosya sistemleri Linux için "yerel" olarak kabul edilir (yani, üzerine kurulabileceği ve başlatılabileceği sistemler): ext2fs, ext3fs, ext4fs, ReiserFS, XFS, JFS. Dağıtımların büyük çoğunluğunu kurarken genellikle aralarından seçim yapmaları önerilir. yollar var tabi Linux kurulumları FAT / VFAT / FAT32 dosya sistemlerine, ancak bu sadece sapkınlıklar hakkında çok şey anlayan ballar ve mösyöler içindir ve onlardan bahsetmeyeceğim.

Bir dosya sistemi seçerken ana kriterler genellikle güvenilirlik ve performanstır. Bazı durumlarda, uyumluluk faktörünü de hesaba katmak gerekir - bu durumda, diğer işletim sistemlerinin belirli bir dosya sistemine erişme yeteneğini ifade eder.
ReiserFS ile başlayacağım - çünkü bu notu yazmamın nedeni şu soruydu: Neler küçük dosyalar olarak kabul edilmelidir? Sonuçta, küçük dosyalarla çalışmanın verimliliği olduğu iyi bilinmektedir. sağlam nokta bu dosya sistemi.

Bu nedenle, küçük dosyalar, biçimlendirme sırasında belirli sınırlar içinde (belirli FS'ye bağlı olarak) ayarlanabilmesine rağmen, Linux'ta çoğu durumda dört kilobayta eşit olan dosya sisteminin mantıksal bloğundan daha küçük dosyalardır. Herhangi bir Unix benzeri işletim sisteminde böyle sayısız küçük dosya vardır. Tipik örnekler, FreeBSD bağlantı noktası ağacını, Gentoo bağlantı noktalarını ve benzer taşıma sistemlerini oluşturan dosyalardır.
Çoğu dosya sisteminde, bu tür mini dosyaların kendi düğümü (bir dosya hakkında meta bilgileri içeren bir bilgi düğümü) ve bir veri bloğu vardır, bu da hem disk alanı israfına hem de dosya işlemlerinin performansında düşüşe yol açar. Özellikle, dosyanın feci hayalinin nedeni tam olarak budur. FreeBSD sistemleri(hem eski, UFS hem de yeni, UFS2) kendi bağlantı noktası sistemiyle çalışırken.

ReiserFS dosya sisteminde, bu gibi durumlarda, veriler için ayrı bloklar tahsis edilmez - dosya verilerini doğrudan inode alanına sıkıştırmayı başarır. Bu nedenle, hem disk alanından tasarruf edilir hem de performans artar - kelimenin tam anlamıyla diğer tüm FS'lere kıyasla birkaç kez.
Küçük ReiserFS dosyalarının bu şekilde işlenmesi, güvenilmezliğinin efsanesinin nedeniydi. Gerçekten de, bir dosya sistemi çökmesi durumunda (yani, hizmet alanlarının yok edilmesi), düğümleriyle birlikte bulunan veriler onlarla birlikte - ve geri alınamaz bir şekilde - kaybolur. Düğümlerin ve veri bloklarının her zaman uzamsal olarak ayrıldığı dosya sistemlerinde, ikincisi teorik olarak geri yüklenebilir. Yani, ext2 / ext3 için bunu yapacak araçlar bile var.

Ancak, herhangi bir efsane gibi, bu da yalnızca gerçek olduğu izlenimini veriyor. İlk olarak, kurtarılamaz veri kaybı yalnızca çok küçük dosyalar için geçerlidir. Kullanıcılar arasında pratikte böyle bir kullanıcı yok, diğerleri ise dağıtım kitinden kolayca geri yükleniyor.
İkincisi, düğümlerine bağlanmalarını kaybetmiş bloklardan veri kurtarma olasılığından bahsederken, yanlışlıkla "teorik" kelimesini kullanmadım. Çünkü pratikte bu aktivite son derece zahmetlidir ve garantili bir sonuç vermez. Bunu yapmak zorunda olan herkes, ona ancak tam bir umutsuzluktan teslim olmanın mümkün olduğu konusunda hemfikir olacaktır. Ve bu, tüm Linux dosya sistemleri için geçerlidir. Bu nedenle, bir dosya sistemi seçerken bu husus ihmal edilebilir.

Genel performans açısından, ReiserFS kesinlikle diğer tüm günlük kaydı FS'lerinden daha hızlıdır ve bazı açılardan ext2'yi aşar. Bazı yaygın dosya dosya işlemlerinin hızlarının karşılaştırılması burada bulunabilir.
Ancak ReiserFS uyumluluğu ile durum biraz daha kötü. Bildiğim kadarıyla Windows ailesinin bir işletim sisteminden erişim imkansız. Bazı BSD işletim sistemleri (DragonFlyBSD, FreeBSD) bu dosya sistemini destekler, ancak salt okunur moddadır. Geçmiş yılların keyfi bir Linux LiveCD'sinin ReiserFS desteğine sahip olmama ihtimali bile sıfır değildir.

Ve burada ext3fs'yi hatırlamak doğru. Avantajı, daha fazla güvenilirlik değildir - bu, ReiserFS'nin kararsızlığı ile aynı efsanedir. ReiserFS'den duyduğum kadarıyla ext3fs çökmeleri hakkında çok şey duydum. Ben kendim birini ya da diğerini yok edemedim. Ext2 ile çalışmadıysa - ama bu bile çok uzun zaman önceydi, 2.2 çekirdek zamanında (hatta 2.0).

Hayır, ext3fs'nin ana avantajı uyumluluğudur - herhangi bir Linux sistemi tarafından okunması garanti edilir. Örneğin, bazı eski LiveCD uşaklarından kurtulurken - pratikte o kadar da inanılmaz olmayan bir durum, içine girmek zorunda kaldım. Yine, çoğu BSD sistemi ext3fs'yi (günlük kaydı olmadan da olsa) kolayca anlar. Windows için, bildiğim kadarıyla, ortak kullanım için her türlü sürücü ve eklenti de var. dosya yöneticileri(sevmek Toplam Amir), ext2fs / ext3fs ile bölümlere erişim sağlar.

Performans açısından ext3fs tartışmalıdır. İlk olarak, performansı büyük ölçüde kayıt moduna bağlıdır ve bunlardan üçü vardır: tam veri kaydı, kısmi veri kaydı ve yalnızca meta veri kaydı. Modların her birinde, üzerinde farklı performans gösterir. farklı şekiller dosya işlemleri. Ancak, hiçbir durumda performans rekor değildir.

Bununla birlikte, performans gereksinimi ilk sıraya konursa, ext2fs rekabet dışı kalır - ancak bu durumda, günlük kaydının yokluğuna katlanmak zorunda kalacaksınız. Ve sonuç olarak, herhangi bir yanlış kapatma durumunda dosya sisteminin uzun süreli kontrolleriyle - ve modern disklerin boyutuyla, bu ne kadar uzun sürebilir ...

XFS hakkında şunlar söylenebilir. Uyumluluk açısından, ReiserFS için yazılan her şey onun için geçerlidir - dahası, bir süre standart Linux çekirdeği tarafından desteklenmeyene kadar. Performans açısından, XFS'de de parlamaz, toplamda ext3fs ile aynı seviyede hareket eder. Ve dosyaları silme işleminde, genellikle iç karartıcı bir yavaşlık gösterir.
Gözlemlerime göre, XFS kullanımı sadece büyük ile değil, çok ile çalışırken kendini haklı çıkarıyor. büyük dosyalar- bunlar aslında sadece DVD görüntüleri ve video dosyalarıdır.

Güvenilirlik sorusuna dönersek. Normal kullanıcı çalışması sırasında banal bir güç kesintisi, kural olarak, günlüğe kaydedilen tüm dosya sistemlerini ağrısız bir şekilde geçirir (ve bunların hiçbiri diske yazılmayan kullanıcı işlemlerinin güvenliğini sağlamaz - boğulan insanları kurtarmak burada boğulanların işi olarak kalır). Doğru, herhangi bir dosya sistemi için, gücü kapatmanın az çok ciddi hasara yol açacağı bir durumu simüle edebilirsiniz. Ancak, gerçek hayatta, bu tür durumların gerçekleşmesi olası değildir. Ve bir kaynak satın alarak bunları tamamen ortadan kaldırabilirsiniz. kesintisiz güç kaynağı- dosya sisteminin türünden çok verilerin güvenliğine daha fazla güven verecektir. Eh, her durumda hasarlı verileri kurtarma garantisi, yalnızca düzenli yedeklemeleri olabilir ...

Yukarıdaki bilgilerin bilinçli bir seçim için yeterli olduğunu düşünüyorum. Benim kişisel seçim son birkaç yılda - ReiserFS. Bazen, her şeyi kök bölümden çıkarmanın haklı olduğu sistemlerde, kök dosya sistemi için ext3fs ve diğer herkes için ReiserFS kullanılması önerilir.

/ boot dizini için ayrı bir bölüm sağlanmışsa (ve GRUB önyükleyici geliştiricileri tarafından kullanıldığında bu önerilir) - bunun için, ext2fs dışında başka hiçbir dosya sistemi doğrulanmaz, burada herhangi bir günlük kaydı mantıklı değildir. Son olarak, her türlü multimedya materyali için ayrı bir bölüm oluşturursanız, XFS'yi düşünebilirsiniz.

Açıklamaya daha metodik yaklaşırsanız

ext - Linux'un ilk günlerinde, baskın sistem ext2 idi (genişletilmiş dosya sistemi sürüm 2). 2002'den beri, ext2 ile büyük ölçüde uyumlu olan, ancak aynı zamanda günlük tutma işlevlerini de destekleyen ext3 sistemi ile değiştirildi ve çekirdek sürümü 2.6 ve üstü ile çalışırken, ACL'yi de destekliyor. Maksimum dosya boyutu 2 TB'dir ve maksimum dosya sistemi boyutu 8 TB'dir. 2008'in sonlarında, ext3 ile geriye dönük uyumlu olan bir ext4 sürümü resmi olarak duyuruldu, ancak birçok özellik eskisinden daha verimli bir şekilde uygulandı. Ek olarak, maksimum dosya sistemi boyutu 1 EB'dir (1.048.576 TB) ve bu miktarın bir süre için yeterli olacağını bekleyebilirsiniz. Reiser hakkında - Sistem, kurucusu Hans Reiser'in adını almıştır ve veriler için Linux çekirdeğine erişen ilk kayıt sistemidir. SUSE'deki Zn versiyonu bir süredir standart olarak kabul ediliyor. Reiser'in ext3'e göre ana avantajları, küçük dosyalarla çalışırken daha yüksek hızı ve yerleştirme verimliliğidir (ve dosya sisteminde, kural olarak, çoğu dosya küçüktür). Ancak zamanla, reiseferlerin gelişimi durdu. Henüz hazır olmayan sürüm 4'ün piyasaya sürüleceği uzun zamandır duyurulmuştu ve sürüm 3 desteği sona erdi. xfs hakkında - xfs dosya sistemi orijinal olarak IRIX işletim sistemi üzerinde çalışan SGI iş istasyonları için geliştirilmiştir. Xfs özellikle büyük dosyalarla çalışmak için iyidir, özellikle video akışıyla çalışmak için idealdir. Sistem, kotaları ve genişletilmiş öznitelikleri (ACL) destekler.
jfs

jfs - a66peBHaTypaJFS, Günlüklü Dosya Sistemi anlamına gelir. Başlangıçta IBM için geliştirilmiş ve daha sonra Linux için uyarlanmıştır.Jfs, Linux'ta hiçbir zaman fazla tanınmamıştır ve şu anda diğer dosya sistemlerine yol açarak sefil bir varoluşa sürüklenmektedir.
brtfs

brtfs - Önde gelen çekirdek geliştiricilerinin iradesiyle, Linux'taki brtfs dosya sisteminin parlak bir geleceği var. Bu sistem Oracle'da sıfırdan geliştirildi. Aygıt eşleyici ve RAID desteği içerir. Brtfs en çok Sun'ın ZFS'sine benzer. ona çok ilginç özellikler Hareket halindeyken dosya sistemini kontrol etmenin yanı sıra SSD desteğini içerir (katı hal sürücüleri sabit sürücüler flash belleğe dayalı). Ne yazık ki, brtfs üzerindeki çalışmalar yakın gelecekte tamamlanamayacak. Fedora 11, brtfs yükleme seçeneğiyle birlikte gelir, ancak bunu yalnızca dosya sistemi geliştiricilerine tavsiye ederim!
"En hızlı" veya "en iyi" dosya sistemi yoktur - tahmin, sistemi ne amaçla kullanmak istediğinize bağlıdır. Birlikte çalışan acemi Linux kullanıcıları yerel bilgisayar, ext3 ve sunucu yöneticilerinin ext4 ile çalışması önerilir. Tabii ki, ext4 ile çalışma hızı ext3'ten daha yüksektir, ancak aynı zamanda ext4 sisteminde durum verilerin güvenilirliği ile çok daha kötüdür - sistem aniden kapanırsa bilgi kaybedebilirsiniz.

Bilgisayarınıza UNIX benzeri ikinci bir işletim sistemi kurduysanız, veri alışverişinde (bir işletim sisteminden diğerine) aşağıdaki dosya sistemleri kullanışlı olacaktır.

sysv - SCO, Xenix ve Coherent işletim sistemleri tarafından kullanılır.

ufs - FreeBSD, NetBSD, NextStep ve SunOS tarafından kullanılır. Linux yalnızca bu tür dosya sistemlerinden gelen bilgileri okuyabilir, ancak verilerde değişiklik yapamaz. BSD ile segmentlere erişmek için ayrıca BSD disk etiketi uzantısına ihtiyacınız olacak. SunOS Partition Tables için de benzer bir uzantı mevcuttur.

ZFS, Sun tarafından Solaris için geliştirilmiş nispeten yeni bir sistemdir. ZFS kodu GPL lisanslı olmadığı için Linux çekirdeği ile entegre edilemez. Bu nedenle Linux bu dosya sistemini yalnızca FUSE aracılığıyla dolaylı olarak destekler.
Windows, Mac OS X

Aşağıdaki dosya sistemleri MS DOS, Windows, OS/2 ve Macintosh ile iletişim kurarken faydalı olacaktır.

vfat - Windows 9x / ME'de kullanılır. Linux bu tür bölümlerdeki bilgileri okuyabilir ve üzerinde değişiklik yapabilir. vfat sistem sürücüleri aynı zamanda eski MS DOS dosya sistemleriyle (8 + 3 karakter) çalışmayı da sağlar.

ntfs - sistem hepsinde kullanılır modern versiyonlar Windows: otNT veya üstü. Linux, dosyalarını okuyabilir ve değiştirebilir.

hfs ve hfsplus - bu dosya sistemleri şurada kullanılır: elma bilgisayarları... Linux, dosyalarını okuyabilir ve değiştirebilir.

Veri CD'leri ve DVD'leri genellikle kendi dosya sistemlerini kullanır.

iso9660 - CD-ROM'lar için dosya sistemi, yalnızca kısa dosya adlarına izin veren ISO-9660 standardında açıklanmıştır. Uzun adlar, çeşitli uyumsuz uzantılar aracılığıyla farklı işletim sistemlerinde farklı şekilde desteklenir. Linux, hem UNIX'te yaygın olan Rockridge uzantısıyla hem de Microsoft tarafından geliştirilen Joliet uzantısıyla çalışabilir.

udf - bu biçim (evrensel disk biçimi) ortaya çıktı ve ISO 9660'ın halefi olarak geliştirildi.

Ağ dosya sistemleri

Dosya sistemlerinin açık olması gerekmez yerel disk- onlar
bir bilgisayara ve bir ağ üzerinden bağlanabilir. Linux çekirdeği, aşağıdakilerin en yaygın olarak kullanıldığı çeşitli ağ dosya sistemlerini destekler.

smbfs / cifs - Windows veya Samba ağ paylaşımlarını bir dizin ağacıyla eşleştirmeye yardımcı olur.

nfs, UNIX'teki en önemli ağ dosya sistemidir.

coda - Bu sistem NFS'ye çok benzer. Birçok içerir ilave fonksiyonlar ama çok yaygın değil.

ncpfs - NetWare çekirdek protokolünde çalışır; oH, Novell Netware tarafından kullanılır.

Sanal dosya sistemleri

Linux'ta, verileri bir sabit diskte (veya başka bir ortamda) depolamak için değil, yalnızca çekirdek ve kullanıcı programları arasında bilgi alışverişi için tasarlanmış birkaç dosya sistemi vardır.
devpts - Bu dosya sistemi, UNIX-98 belirtimine uygun olarak / dev / pts / * aracılığıyla sözde terminallere (kısaca PTY) erişim sağlar. (Sahte terminaller bir seri arabirime öykünür. UNIX/Linux sistemlerinde bu tür arabirimler, xterm gibi terminal öykünücüleri tarafından kullanılır. Genellikle / dev / ttypn gibi aygıtlar kullanılır. Buna karşılık, UNIX-98 belirtimi yeni aygıtları tanımlar. Daha detaylı bilgi H0WT0 metin terminalinde rapor edilir.)
proc ve sysfs - proc dosya sistemi, çekirdeğin ve süreçlerin yönetimiyle ilgili hizmet bilgilerini görüntülemek için kullanılır. Ek olarak, sysfs dosya sistemi, çekirdek ve donanım arasında ilişkiler kurar. Her iki dosya sistemi de / proc ve / sys'ye bağlanır.
tmpfs - Bu sistem, Sistem V'ye uygun olarak paylaşılan bellek temelinde inşa edilmiştir. Genellikle / dev / shm'ye monte edilir ve iki program arasında verimli bir bilgi alışverişi sağlar. Bazı dağıtımlarda (örneğin Ubuntu) / var / run ve / var / lock dizinleri de tmpfs dosya sistemi kullanılarak oluşturulur. Bu dizinlerdeki dosyalar, bazı ağ arka plan programları tarafından işlem kimlik numaralarının yanı sıra dosya erişim bilgilerini depolamak için kullanılır. Tmpfs sayesinde bu veriler artık RAM'e yansıtılıyor. Yöntem, yüksek hızı garanti eder ve ayrıca bilgisayarı kapattıktan sonra / var / run veya / var / kilit dizinlerinde hiçbir dosya kalmaz.

usbfs - Çekirdek 2.6 ve üstü ile başlayan usbfs dosya sistemi, bağlı USB aygıtları hakkında bilgi verir. Genellikle proc dosya sistemine entegre edilir. Linux'ta USB cihaz desteği hakkında.

Diğer dosya sistemleri

auto - aslında, bu ada sahip bir dosya sistemi yok. Ancak auto, / etc / fstab içinde veya bir dosya sistemini belirtmek için mount komutuyla kullanılabilir. Bu durumda Linux, dosya sistemini kendi başına tanımaya çalışacaktır. Bu yöntem, en önemli dosya sistemlerinin çoğuyla çalışır.
autofs, autofs4

autofs, autofs4 de dosya sistemleri değil, seçilen dosya sistemleri için mount komutunu otomatik olarak yürüten çekirdek uzantılarıdır. Dosya sistemi bir süredir kullanılmadıysa, umount komutu buna karşı otomatik olarak yürütülür. Bu yöntem, her şeyden önce, birçok NFS dizininden yalnızca birkaçının aynı anda aktif olarak kullanıldığı durumlarda uygundur.

Bunu yapmak için, /etc/init.d/ autofs betiği, sistem başlangıcında automount programını otomatik olarak çalıştırır. /etc/auto.master dosyası kullanılarak yapılandırılır. İlgili programlar, örneğin Red Hat ve Fedora'ya otomatik olarak yüklenir. Her durumda, autofs yalnızca /etc/auto.master veya /etc/auto.misc yapılandırıldıktan sonra etkinleştirilir.
squashfs ve squashfs

cramfs ve squashfs - Cram ve Squash dosya sistemleri salt okunurdur. Mümkün olduğu kadar çok sıkıştırılmış dosyayı flash belleğe veya ROM'a (salt okunur bellek) "paketlemek" için kullanılırlar.

sigorta - FUSE, Kullanıcı Alanında Dosya Sistemi anlamına gelir ve dosya sistemi sürücülerini çekirdeğin dışında geliştirmenize ve kullanmanıza olanak tanır. Bu nedenle, FUSE her zaman harici bir dosya sistemi sürücüsü ile birlikte kullanılır. FUSE, özellikle NTFS ntfs-3g sürücüsü ile çalışır.

gfs ve ocfs - Global Dosya Sistemi ve Oracle Küme Dosya Sistemi, aynı anda birden çok bilgisayar tarafından paralel olarak erişilebilen devasa ağ bağlantılı dosya sistemleri oluşturmanıza olanak tanır.

jffs ve yaffs - Günlük Tutma Flash Dosya Sistemi ve Yet Another Flash Dosya Sistemi, birlikte çalışmak üzere özel olarak optimize edilmiştir Yarıiletken sürücüler ve flaş medya. Özel algoritmalar kullanarak, erken sistem arızasını önlemek için tüm bellek hücrelerini eşit şekilde (aşınma dengeleme teknolojisi) kullanmaya çalışırlar.
döngü

döngü - sözde cihazlarla çalışmak için kullanılır. Geri döngü aygıtı, normal bir dosyaya blok aygıtı olarak erişebilen bir bağdaştırıcıdır. Bu sayede herhangi bir dosya sistemi herhangi bir dosyaya yerleştirilebilir ve ardından mount kullanılarak dizin ağacına monte edilebilir. Bundan sorumlu çekirdek işlevi - sözde aygıt desteği - döngü modülünde uygulanır.

Sahte cihazları kullanmanın çeşitli yolları vardır. Özellikle, ilk başlatma için bellek içi diskler oluşturulurken kullanılabilirler (İlk RAM diski) GRUB veya LILO için, şifreli dosya sistemlerini uygularken veya CD ISO görüntülerini test ederken.

Depolama ortamının dosya sistemleri

dosya sistemleri
ISO 9660
Jolie dosya uzantısı ISO sistemleri 9660.
Rock Ridge (RRIP, IEEE P1282), POSIX işletim sistemlerinde kullanılan dosya özniteliklerini depolamak için tasarlanmış bir ISO 9660 dosya sistemi uzantısıdır.
Amiga Rock Ridge Uzantıları
el torito
Apple ISO9660 Uzantıları
HFS, HFS +
Dosyaları depolamak için işletim sisteminden bağımsız bir dosya sistemi biçiminin Evrensel Disk Biçimi belirtimi optik ortam... UDF, ISO / IEC 13346 standardının bir uygulamasıdır
Rainier Dağı

ext2(olarak da adlandırılır ext2fs) - İkinci Genişletilmiş Dosya Sistemi(İkinci Genişletilmiş Dosya Sistemi), Linux çekirdeğinin üzerine inşa edilmiş bir dosya sistemidir. Ext2, Remy Card tarafından oluşturuldu ve geliştirildi. Ext2 dosya sistemi, eskisinin yerini almak için onun tarafından inşa edildi, önceki versiyon- dahili.

Hız ve performans açısından bu dosya sistemi bir kıyaslama işlevi görebilir. Bu, dosya sistemlerinin performans testlerinin sonuçlarıyla kanıtlanmıştır. Örneğin, tarafından gerçekleştirilen sıralı okuma ve yazma hızı testlerinde teknik merkez Dell, ext2, ext3'ten üstündür ve okuma hızında yalnızca daha modern ext4'ten sonra ikinci sıradadır.

Ext2'nin ana dezavantajı, bir günlük kaydı dosya sistemi olmamasıdır. Ancak, bu kusur bir sonraki dosya sisteminde - ext3'te ortadan kaldırıldı.

ext2, flash sürücülerde kullanılır ve Yarıiletken sürücüler(SSD), günlük kaydı olmaması, yazma döngüsü limitleri olan sürücülerle uğraşırken bir avantajdır.

Ext2 geçmişi

Linux sisteminin hızlı gelişimi sırasında Minix OS dosya sistemini kullandı. Oldukça kararlıydı, ancak aynı zamanda 16 bitti. Sonuç olarak, bölüm başına 64 Mb'lik sabit bir sınırı vardı. Ayrıca, bir dosya adının maksimum uzunluğu olan 14 karakterlik bir sınırlama vardı.

Birlikte, bu sınırlamalar "genişletilmiş dosya sistemi"nin (dolayısıyla " Genişletilmiş Dosya Sistemi "). Minix'in iki temel problemini çözmekle görevlendirildi. Yeni dosya sistemi Nisan 1992'de halka açıldı. Ext idi, dosya boyutu sınırını 2 gigabayta genişletti ve dosya adı uzunluk sınırını 255 karaktere ayarladı.

Ancak, yeni dosya sisteminin başarısına rağmen, hala çözülmemiş birkaç sorun vardı. Örneğin, bölünmüş erişim desteği yoktu, veri değiştirme zaman damgaları yoktu. Bu sorunları çözme ihtiyacı, genişletilmiş ext2 dosya sisteminin bir sonraki sürümünün yaratılmasının nedeniydi (“ İkinci Genişletilmiş Dosya Sistemi "). ext2 Ocak 1993'te geliştirildi, aynı zamanda ilgili POSIX standardı ACL'ler ve genişletilmiş dosya öznitelikleri.

Ext2 mantıksal organizasyonu

ext2 dizin hiyerarşi grafiği bir ağ olarak temsil edilir. Bunun nedeni, bir dosyanın aynı anda birkaç dizine dahil edilebilmesidir.

Tüm dosya türlerinin sembolik adları vardır. Hiyerarşik olarak organize edilmiş dosya sistemleri tipik olarak üç tür ad kullanır: basit, bileşik ve göreli. Yani ext2'de. Basit bir ad söz konusu olduğunda, kısıtlama, uzunluğunun 255 karakteri geçmemesi ve ayrıca adın NULL karakteri ve eğik çizgi içermemesi gerektiğidir.

NULL karakterine gelince, kısıtlamalar dizgelerin C dilinde temsili ile ilgilidir, eğik çizgi karakteri söz konusu olduğunda her şey onun dizinler arasında ayırıcı bir karakter olarak kullanılması gerçeğinde yatmaktadır.

Tam ad, yolun kökten köke gittiği tüm dizinlerin basit sembolik adlarından oluşan bir zincirdir. bu dosyanın... Ext2'de, bir dosya birden çok dizinde olabilir, bu da birden çok tam nitelikli ada sahip olabileceği anlamına gelir (bir dosya - birden çok tam nitelikli ad). Ama yine de, tam ad dosyayı tanımlar.

Ext2 özellikleri:

  • dosya türü ve izinleri,
  • sahip, erişim grubu,
  • izin verilen işlemler hakkında bilgi,
  • oluşturma zamanı, son erişim tarihi, tarih son değişiklik ve son silme zamanı,
  • geçerli dosya boyutu,
  • dosya özellikleri:
    • normal dosya,
    • katalog,
    • bayt yönelimli aygıt dosyası,
    • cihaz dosyasını engelle,
    • adlandırılmış boru,
    • sembolik bağlantı,
  • işgal edilen blok sayısı,
  • diğerleri

Dosya öznitelikleri, genellikle basit dosya sistemlerinde olduğu gibi, dizinlerde değil, özel tablolarda bulunur. Sonuç olarak, dizin iki bölümden oluşan çok basit bir yapıya sahiptir: bir inode numarası ve bir isim.

Fiziksel organizasyon ext2

Disk bölümü yapısı

Ext2'nin bir parçası olarak aşağıdakiler ayırt edilebilir:

  • bloklar ve blok grupları;
  • dosya numarası;
  • süper blok.

Tüm disk alanı, sektör boyutunun (1024, 2048, 4096 veya 8192 bayt) katları olan sabit boyutlu bloklara bölünür. Blok boyutu, bir disk bölümünde bir dosya sistemi oluşturulurken belirtilir. Tüm bloklara sıralı numaralar atanır. Büyük veri dizilerini okurken sabit disk kafalarının parçalanmasını ve hareket sayısını azaltmak için bloklar gruplar halinde birleştirilir.

Bir dosya sisteminin temel konsepti inode'dur (aynı zamanda dosya numarası - bilgi düğümü). Bir dosyanın nitelikleri ve fiziksel konumu hakkında bilgi içeren özel bir yapıdır. İndeks şifre çözücüler, her blok grubunun başında bir tabloda birleştirilir. Süper blok, ext2 dosya sisteminin ana öğesidir. Dosya sistemi hakkında genel bilgiler içerir. Süper blok, bölümün başlangıcından 1024 bayt sonra bulunur. Süper bloğun bütünlüğü, dosya sisteminin sağlığını belirler. OS birkaç oluşturur yedekler süper blok - bölümün hasar görmesi durumunda. Süper bloktan sonraki bir sonraki blokta, global bir tanımlayıcı tablosu vardır - blok gruplarının bir dizi şeklinde bir açıklaması Genel bilgi tüm blok grupları hakkında.

Blok grubu

Bir ext2 bölümündeki tüm bloklar gruplara ayrılır. Her grup için global tanımlayıcı tablosunda ayrı bir giriş oluşturulur. Bu kayıt, bitmapler ve tablolardaki blok sayısı, bir gruptaki boş blok sayısı, dizinleri içeren düğüm sayısı gibi temel parametreleri saklar.

Bit eşlemi engelle Her bitin kendisine karşılık gelen bloğun herhangi bir dosyaya atanıp atanmadığını bildirdiği bir sistemdir. Bit 1 ise, blok meşgul demektir. İnode bit eşlemi benzer bir işlevi yerine getirir: düğümler meşgul ve hangileri değil. Linux çekirdeği, dizin düğümlerini gruplara eşit olarak dağıtmaya ve dosya düğümlerini üst dizine sahip bir gruba taşımaya çalışır. Tabloda veri olarak görünen kalan tüm alan, dosyaları depolamak için ayrılmıştır.

Veri adresleme sistemi

Veri adresleme sistemi, dosya sisteminin en ciddi ve anahtar bileşenlerinden biridir. Onun sayesinde var istenen dosya diskteki birçok boş veya dolu blok arasında.

ext2, aşağıdaki dosya bloğu adresleme şemasını kullanır. Dosya adresini saklamak için, her biri 4 bayttan oluşan 15 alan tahsis edilmiştir. Dosya 12 bloğa sığıyorsa, ilgili kümelerin numaraları adresin ilk on iki alanında listelenir. Dosya boyutu 12 bloğu aşarsa, bir sonraki alan, dosyanın sonraki bloklarının numaralarının bulunabileceği kümenin adresini içerir. Dolayısıyla on üçüncü alan dolaylı adresleme için kullanılır.

NS en büyük boy 4096 baytlık bir blok, 13. alana karşılık gelen küme, dosyanın aşağıdaki bloklarından 1024'e kadar sayı içerebilir. Dosya boyutu 12 + 1024 bloğu aşarsa, her biri 1024 dosya bloğuna atıfta bulunan 1024 küme numarası içeren bir kümenin adresini içeren 14. alan kullanılır. Burada, çift dolaylı adresleme zaten kullanılıyor. Ve dosya 12 + 1024 + 1048576'dan fazla blok içeriyorsa, üçlü dolaylı adresleme için son 15. alan uygulanır.

Bu adresleme sistemi, 2 TB'den büyük dosyalara sahip olmak için maksimum 4096 bayt blok boyutuna izin verir.