Dosya sistemleri nedir?
Önceki Dosya Sistemleri Sonraki
Dosya sistemleri nedir?
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.
Önceki Üst Ana Başlık Sonraki
Dosya Sistemleri Başlangıç Dosya sistemi bolluğu
Bir Linux Kitaplığı Sayfası