23 Mart 2012 Cuma

Dosya sistemi nedir? - III

Bir önceki yazıda dosya sistemini muhtarlığa, verileri de muhtarlığa bağlı sokakta ikamet eden insanlara benzetmiştim. Şimdi bu benzetme ile dosya sistemi kullanmanın getirdiği bazı sonuçlara bakalım.

Dosya sistemi kullanmanın sonuçları 


Diskteki verilere dosya sistemleri aracılığıyla erişmenin iyi ya da kötü bazı sonuçları vardır. Bunlardan da basitliği bozmadan bir kaç örnek vereyim.

Dosya sistemi nedir? - II

Dosya sistemi nasıl çalışır? Tek sokaklı muhtarlık...


Aslında bu yazıyı yazmamın tek sebebi az sonra kullanacağım analojinin çok hoşuma gitmiş olması.

Dediğim gibi I/O yaparken disk bilgisayar için yalnızca uzuuun bir satırdır. Bilgisayar diske bana satırın 15. sırasındaki harfi ver der, disk verir. Bana 498567. sıradan 7893249. sıraya kadar ki harfleri ver der, disk verir. Diskin ne dosyalardan ne de dizinlerden haberi yoktur.

Şimdi diski uzun bir sokak, diskin üzerine yazılan verileri de bu sokakta ikamet eden insanlar olarak düşünelim. Dosya sistemi dediğimiz şey bu mahalledeki ikametgahları tutan muhtarlıktır. Mahalle dışından biri gelip birini bulmak istediğinde dosya sistemine sorar, dosya sistemi de sokağın neresinde olduğunu söyler. Bilgisayar bir dosyanın diskin kaçıncı sırasından başladığını, nerede bittiğini, ne kadar yer kapladığını dosya sistemi sayesinde bilebilmektedir.

Peki diski biçimlendirmek/formatlamak ne anlama gelmektedir? Diski formatlarken elimizde ne gibi seçeneklerimiz vardır? Farklı dosya sistemlerinin farkı nerededir?

Dosya sistemi nedir? - I

Bu yazıda genel olarak dosya sistemlerinin neden kullanıldığını ve dosya sistemlerinin temelde nasıl çalıştığını basit olarak anlatmaya çalışacağım.

Dosya sistemleri seneler içinde teknik olarak çok fazla geliştiklerinden dolayı bu yazı hem eksiktir, hem de basitliği korumaya çalıştığım için çoğu modern dosya sistemi için yalnıştır. Bir de kolayıma geldiği için yazı boyunca disk kelimesini hep block device anlamında kullandım.

Neden dosya sistemlerine ihtiyaç duyarız? 


Dosya sistemleri bir ihtiyaç mıdır yoksa işimizi kolaylaştıran özellikler sundukları için mi onları kullanıyoruz?

Örneğin bir USB flashdiski formatlamadan kullansak daha fazla yerimiz olmaz mı? Uğraşıp 4 GBlık USB flashdiske tam 4GBlık bir dosyayı doğrudan disk I/O ile yazamaz mıyız?

Bu elbette mümkün olsa da, çok uzun bir süre önce dosya sistemleri lüks olmaktan çıkmıştır. Peki neden diskleri illa ki biçimlendirilmiş halde kullanıyoruz? Şöyle ki; disk, disket, CD/DVD dediğimiz şeyler bize şekil olarak yuvarlak görünse de bilgisayar tarafından erişilirken upuzun bir satır gibi kullanılmaktadır. Dolayısıyla;
  1. Bilgisayarın satırın ortasındaki bir dosyaya erişmesi için dosyanın satırın tam olarak neresinde olduğunu bilmesi gerekmektedir.
  2. Yeni dosyalar yazılıp ortalardan eski dosyalar silindikçe satırda irili ufaklı boş alanlar ortaya çıkmaktadır. Bu boşlukları dikkatli ve düzenli bir şekilde değerlendirmek gerekmektedir.
  3. Satırın ne kadarının dolu ne kadarının boş olduğunu anlamak ya da satıra yazılmış dosyaların tamamının isimlerini öğrenmek için her seferinde tüm satırı baştan sona okumak çok zahmetli ve zaman kaybettirici bir iştir.
Aklıma ilk bunlar gelse de daha pek çok sebepten ötürü hemen hemen tüm kaydedilebilir ortamlarda dosya sistemleri kullanılmaktadır. Devamı...
Acılıketcap.com'un wordpress temasını güncelleyene kadar burayı kullanacağım. Arada geçen iki yılda yazdığım ama yayınlamadığım yazıları da bugünden itibaren, burada yayınlıyorum...