Merhaba Google ile aramın bozulmasından sonra yazdığım ilk yazı bu.Bu yazıda Unix tabanlı işletim sistemlerinde kullanılan dosya sistemlerinden bahsedeceğim.Şimdiye kadar pek çok dosya sistemi geliştirldi ama ben ağırlıklı olarak Linux’ta kullanılanlar ile en önemlilerine yer vermeye çalışacağım.Öncelikle dosya sistemi nedir öncelikle onu anlatayım.
Dosya Sistemi Nedir?(http://belgeler.org/sag/sag_fs-whatis.html)
Dosya sistemi disk üzerindeki dosyaların organize edilmesidir. Bir işletim sisteminin bir disk veya bölümleri üzerindeki dosyalarının izlerini bulmak için kullandığı yapı ve yönteme dosya sistemi (filesystem) denir. Ayrıca dosya sistemi terimi, dosyaların veya dosya sistemlerinin depolandığı bir disk veya disk üzerindeki bir bölümü tanımlamak için de kullanılabilir. Bu nedenle birisi “ben iki adet dosya sistemine sahibim” derken; aslında disk üzerinde her birinde dosyaların tutulduğu, iki adet bölüme veya ek bir disk bölümüne sahip olduğu anlaşılmalıdır.
- Bir disk veya disk bölümü ile dosya sistemi arasındaki farklılık ne ihtiva ediyor olduğuna göre önem arz eder. Çok az program işlenmemiş disk veya bölüm yüzeyinde işlem yapabilir. Buna dosya sistemi yapabilen programlar dahildir. Şayet orada bir dosya sistemi var ise bu programların kullanılması sonucu silinir veya büyük ölçüde hasar görürler. Pek çok program ise dosya sistemleri üzerinde çalışır; olmayan veya yanlış parametreler içeren bölümler üzerinde çalışamazlar. Genelde dosya sistemi olmayan bir disk yüzeyinde bir program çalışmaz. Programların çalışması için bir dosya sistemine ihtiyaç vardır; dosya sistemlerinin olabilmesi için de bir disk veya disk bölümüne ihtiyaç duyulur.
- Bir disk veya disk bölümü dosya sistemi olarak kullanılmadan önce, disk yüzeyi ilk haline döndürülmeli ve gerekli bilgiler diske yazılmalıdır. Bu işlem dosya sistemi oluşturma olarak adlandırılır.
- Pek çok Unix dosya sistemi küçük farklılıklar dışında benzer bir genel yapıya sahiptirler. Genel kavramlar olarak superblok, dosya düğümü (inode), veri bloğu, dizin bloğu ve dolaylı blok sayılabilir. Superblok, dosya sisteminin bütünü hakkında bilgi içerir. Aslında bu dosya sistemlerine göre değişiklik gösterebilir. Dosya sisteminin boyutu gibi bilgiler burada yer alır. Dosya düğümü ise bir dosya hakkında, ismi hariç, bütün bilgileri ihtiva eder. Dosya ismi dizin içinde dosya düğümünün numarası ile birlikte yer alır. Bir dizin girişi; dosya ismine ve bu dosyanın yer aldığı dosya düğümünün numarasına bağlıdır. Dosya düğümü; dosyalardaki bilgileri depolamak için kullanılan veri bloklarının numaralarını içerir. Dosya düğümü içinde birkaç tane veri bloğu numarası için yer vardır. Bununla beraber dha fazla yere ihtiyaç olursa dinamik bir yapıyla bu yeni yer ayrılır. Bu dinamik yerleştirilmiş bloklar dolaylı bloklardır. Bu veri bloklarını bulmak için önce dolaylı veri bloklarının numaralarını bulmamız gerekir.
- Unix dosya sistemleri genellikle lseek() sistem çağrısı vasıtası ile bir dosya içerisinde delik oluşturulmasına izin verirler. Burada dosya sistemi, dosya içerisindeki özel bir alanda sanki sıfır byte varmış gibi davranır. Aslında dosya içerisinde bunun için ayrılmış bir disk sektörü yoktur (disk üzerinde daha az yer kaplanmış olur). Bu olay genellikle küçük çalıştırılabilir dosyalar, paylaşılmış Linux kütüphaneleri, bazı veri tabanları ve bazı özel durumlarda sık sık ortaya çıkar. Delikler dolaylı bloklardaki veya dosya düğümü içindeki veri bloklarının adresleri gibi özel değerler verilerek kullanılırlar. Bu özel adresler, dosyanın bahsi geçen bölümü için her hangi bir veri bloğunun ayrılamamış olduğunu, orada bir delik bulunduğunu gösterir.
Minix Dosya Sistemi
En eski dosya sistemidir.Linus Torvalds’ın Linux’un ilk kodlarını yazarken kullandığı işletim sistemi Minix’tir.Minix dosya sistemi son derece kısıtlı yeteneklere sahip fakat çok güvenlidir.Öyle ki en fazla 64 MB’lik dosya sistemini destekler en fazla 30 karakterlik dosya adları olabilir arasıra tarih ve zaman damgaları kaybolabilir.
XIA Dosya Sistemi
Minix dosya sisteminin geliştirilmiş halidir.Dosya boyutu sınırlaması kaldırılmıştır karakter uzunluğu sınırlaması yoktur.Fakat bunların dışında bir yenilik yok benim bildiğim kadarıyla.Pek popüler değil ama çok iyi çalıştığı bildiriliyormuş.
EXT2
Denilene göre en yetenekli Linux dosya sistemidir.İleriye dönük olarak tasarlanmıştır.Son derece hızlı olduğu söyleniyor. Evet bu doğrudur. EXT2 gerçekten hızlı bir yapıya sahiptir. Ancak bir laf vardır “HIZ ÖLDÜRÜR!”. Gerçekten de EXT2 ölümcül hatalara, hayati derecede önemli verilerin belkide kurtarılamayacak hale gelmesine sebep olabilir.Çünkü unmount olmadan ayrılan Makine kapatılırsa ortaya çıkabiliecek hataları düzeltmekte zorlanabilrsiniz.Hızın sebebide budur zaten yani journaled olmaması…(günlükleme)
EXT3
Ext2 dosya sisteminin geliştirilmiş halidir.Günlükleme özelliği eklenmiştir.böylece eğer sistem çökerese bu özellik sayesinde sistemden veri kurtarmak daha kolay olur ve performans artışı sağlanır.
Reiserfs
Çok gelişmiş ve sağlam bir dosya sistemidir.Günlükleme özelliğine sahiptir.Günlükleme dosya ve dizinler üzerinde yapılan işlerin bir kaydının tutulmasıdır.Bu özellik veri kurtarmayı kolaylaştırır.
Linux’la kalın





