Linux dosya sistemleri

Katılım
21 Temmuz 2020
Mesajlar
12
Esas olarak bir dosya sistemi, verilerin fiziksel bir ortamda (HDD, SSD veya RAM gibi) depolanma ve geri alınma şeklidir. Konsept olarak bir dosya sistemi soyuttur. Çok fazla dosya sistemi uygulaması mevcut olduğundan "dosya sistemleri" adıyla anılmaktadır. Bir dosya sistemi uygulaması ise sadece bir yazılımdan ibarettir. Örnegin; Linux dosya sistemleri, Windows dosya sistemleri, macOS dosya sistemleri ve diğerleri gibi.

Windows dosya sistemleri; en eski FAT dosya sisteminden, REFS dosya sistemine kadar uzanmakta iken şu anda Windows'us en yaygın kullanımda olan dosya sistemi ise NTFS'dir.

Linux ailesindeki en önemli dosya sistemleri ise EXT4, XFS ve Btrfs'dir. Linux'un en yaygın kullanımda olan dosya sistemi ise EXT4'dur. Bunun anlamı: EXT'in (Extended File System - genişletilmiş dosya sistemi) dördüncü kez yenilenmiş ve yinelenmiş versiyonu olmasıdır. EXT ilk olarak 2008'de yayımlanmıştır. XFS ise en çok Red hat dağıtımlarında(Red hat, CentOS ve Fedora gibi) kullanılmıştır. Xfs'nin içerdiği bazı özellikler EXT4'ten daha avantajlıdır. Örneğin; daha geniş dosya boyutu desteği, büyük dosyaların daha iyi işlenmesi ve paralel girdi/çıktı gibi. Btrfs dosya sistemi ise ilk olarak oracle için tasarlanıp ilk kararlı sürümü ise 2014'te dağıtıldı. Btrfs; ext4 ve Xfs'ye tercih edilen çok fazla gelişmiş özelliğe sahiptir. En ilgi çekici özelliği ise; "yazma üzerine kopyalama" ilkesi veya felsefesidir. Buna göre: Kopyalanan dosyalar fiziksel ortama tam olarak yazılmamış olup sadece aynı veriye yeni bir işaretçi (pointer) oluşturulur. Sadece kopya veya orijinal dosya değiştirildiğinde yeni veri yazılır.

Linux için bahsedilen bu dosya sistemi uygulamaları(ext4, xfs, btrfs), daha yeni Linux çekirdeklerinde zaten mevcuttur. Hatta bunların tümü bir Linux çekirdeğinde eş zamanlı olarak kullanılabilir.

EXT4 dosya sistemi Linux'a özgü iken; EXT4'u Windows altında ilk sürücü olarak kullanamazsınız. Fakat Windows'un altında (ilk sürücü olmaksızın) EXT4 biçimli bir sürücü bağlanıp etkileşimde bulunulabilir. Diğer taraftan, Linux altında bir Windows dosya sistemi olişturulup bağlandığında da etkilesime geçilebilir.

Aslında realitede Linux dosya sistemi diye bir şey yoktur. Ancak bunları Linux dosya sistemleri yapan belirli özellikler vardır. Bir Linux dosya sistemi, dosya sistemi hiyerarşi standardı (FHS)' na bağlıdır. Bu FHS standardı Linux vakfı tarafindan korunur. Aynı şekilde Unix sistemler için de Unix dosya sistemi standardı (UFS) mevcuttur. Bunlar klasör yapısı ve dizinlerin genel formatını belirtir.

Bir btrfs dosya sisteminde, örneğin herhangi bir elektrik kesintisi sebebiyle oluşabilecek veri kaybı cow adlı özellik sayesinde engellenirken; aynı şey EXT4 ve XFS dosya sistemleri için geçerli değildir. Fakat XFS ve EXT4 dosya sistemleri bu sorunu günlük tutma yoluyla çözmeye çalışır. Günlük tutulurken dosyalar diske üç adımda yazılır;

1 - Dosya sistemi, günlükten disk yazmayı ister,

2 - Günlük diske yazılır,

3 - Dosya yazıldıktan sonra, günlük güncellenir.

Eğer sistem iki ve üçüncü adımlar arasında herhangi bir şekilde çökerse, yazma işlemi sistem yeniden başlatıldığında tekrar başlayacak. Çünkü günlük önceki girişi halen içeriyor. Günlükler sadece işlem veya süreçler hakkında bazı meta verilerini içerip tüm dosyayı içermez. Günlükler, diskteki gerçek konuma (sektörler) bir refarans olup öncekileri diskin üzerine yazma görevi görür. Eğer üzerine yazma işlemi başarılı olursa, günlük girişi silinecek ve böylece diskin durumu garantiye alınacak.

Eğer bir ve ikinci adımlar arasında herhangi bir kesinti yaşanırsa, diske yazmak için asıl talimat hiç verilmemiş demektir.
 

Yeni konular

Geri
Yukarı