Donanım

Depolama Teknolojileri – Bölüm 3 Fragmentation Parçalanma

Genelde insanlar tarafından yanlış bilinen bir konuyu konuşacağız. Disk bölünmesi ya da parçalanması olarak bilinen disk fragmentation. Bu konu ile ilgili insanların aklına sadece file system fragmentation (dosya sistemi parçalanması) gelmektedir. Ama bu fragmentation konusunun sadece küçük bir parçasıdır.

Fragmentation konusu üç kısma ayrılmaktadır. Internal, External ve Data fragmentation

 

Internal fragmentation

 

Genellikle memory bazlı storage sistemlerinde karşılaşılan bir parçalanma türüdür. Persistent (USB,SSD) ve non-persistent (RAM) farketmeksizin bu durum görülmektedir. Örnek olarak bir RAM modülünün 128 bytes olarak eşit miktarda storage blocklarına bölündüğünü düşünelim. Eğer 80 bytes olan bir veri bu bloklardan birine yazılırsa 48 bytes bir alan içeride boşluk olarak kalacaktır. Bu durumda etkili bir bellek yönetimi yapılamayacaktır.

 

clip_image002

 

Yeni işletim sistemlerinde ve sanallaştırma teknolojilerinde “dynamic memory allocation (DMA)” denilen teknoloji sayesinde bu problem çözülmektedir. Herhangi bir program yada servis için gerektiği kadar bellek ayarlanıp tahsis edilmektedir. İş bitince de bu ayırılan alan işletim sistemine iade edilmektedir. Depolama yapılırken de örneğin 48 bytes kalan son bir alan içinde 48 bytes lık bir block tahsis edilmektedir.

 

External fragmentation

Az çok tahmin etmişsinizdir. Burada örneğin 128 bytes olan üç storage block olduğunu, ayrıca 16 bytes olan küçük bir storage block olduğunu varsayalım. 384 bytes lık bir veri bölünerek üç adet olan 128 bytes lık alanı doldurur. Geriye 16 bytes lık alan boş kalır.

Kısaca toplam bellek alanımız programı yada veriyi depolamaya yettiği halde bu küçük boşluklar farklı yerlerde olduğundan doldurulamamaktadır.

 

Data fragmentation

External fragmentation konusu bizi data fragmentation konusuna da götürmektedir. Daha çok depolama konusunda karşılaştığımız, mekanik sabit disklerde özellikle zamanla performans sıkıntı yaşamaya başladığımız bir konudur. Çünkü veriler yazılıp silindikçe, yazılıp silindikçe sector boşlukları daha çok oluşmaktadır. Yeni bir veri yazarken de işletim sistemi bunu boş bulduğu sectorlere yazmak isteyeceği için dosyalar daha fazla parçalanıp diske yazılmaktadır. Özellikle mekanik sabit disklerde disk kafası veriyi okuma/yazma için plaka üzerinde daha fazla gezmek zorunda olduğundan bu değerler düşüş göstermektedir.

 

clip_image003

Linux, Unix ve MacOSX işletim sistemleri için söylenen bir şehir efsanesi vardır. Bu işletim sistemini kullanan bilgisayarlarda fragmentation dediğimiz olayın olmadığını söylerler. Aslında bu doğru değildir. Bu işletim sistemine sahip bilgisayarlarda defragmentation (dosya birleştirme ve organize etme) işi biraz otomatize edilerek ve arkaplanda servisler aracılığı ile belirli aralıklarda schedule (zamanlama) edilerek kendiliğinden yapıldığından, tabii ki kullanılan dosya sisteminin (Linux,Unix için ext2,3 yada 4, MacOSX için HFS+) farklı olmasının da etkisi var bu işlem için özel bir vakit ayırmak durumunda kalmıyoruz.

 

 

Windows 7 ve Windows 8.1 (yakında Windows 10’da) işletim sistemlerinde bu işlem için kullanabileceğimiz ve schedule ederek bu işlemi yapabileceğimiz bir tool artık mevcut.

Başlat’a “Disk Birleştiricisi (Disk Defragmenter)” yazarak erişebilirsiniz.

 

clip_image005clip_image007

 

Eğer işletim sistemlerinin sunduğu dahili araçlardan memnun değilseniz ve daha iyi bir araç arıyorsanız Windows için “Defraggler”, MacOSX işletim sistemi için de iDefrag($19) aracını tavsiye ederim.

 

https://www.piriform.com/defraggler

https://coriolis-systems.com/iDefrag/

 

Fragmentation ve defragmantetion işlemi daha çok mekanik diskler için geçerli olup SSD diskler için bu işlemin yapılması tavsiye edilmemektedir. Çünkü her silinen/yazılan veri flash hücrelerinin ömrünü kısalttığı için SSD disklerin ömrü kısalmaktadır. SSD diskler belirli bir oranda yazma oranı sunmaktadır. Zaten SSD disklerin okuma/yazma oranı daha yüksek olduğu için mekanik disklerde olan bir fragmentation oranın SSD’lerde olması performanslarına neredeyse hiçbir etki yapmamaktadır. SSD diskler için “Optimize” adı verilen başka bir işlem uygulanmaktadır. Bu işlem için yeni nesil bir işletim sistemi kullanıyorsanız harici bir program kullanmanıza gerek olmamaktadır.

Mekanik disklerde, bir veriyi sildiğinizde dosya disk üzerinden hemen silinmez. Sadece dosyanın konum bilgisi dosya sisteminden silinir. Bu yüzden silinmiş dosyaların disk üzerinden daha sonra kurtarılabilme imkanı kurtarma yazılımları ile olabilmektedir (Güvenli veri silme yapılmadıysa). Yeni bir veri disk üzerine yazılırken de eski verinin üstüne bu bilgi yazılabilmektedir.

SSD bir diskin performansı hücreye verinin ne kadar bir sürede yazıldığı ile ölçülmektedir. Eğer yazılacak hücre boş ise bu durumda veri en hızlı şekilde yazılabilmektedir. (Zero-filled) SSD disklerde yeni bir veri disk üzerine yazılmadan önce hücrelerin temizlenmesi gerekmektedir. Eğer bir veriyi silerseniz ve verinin sadece konum bilgisi silinirse, hücreler temizlenmezse daha sonra disk üzerine yeni bir verinin yazılması daha uzun sürmektedir. İlk nesil SSD diskler bu sorundan dolayı sıkıntı yaşadı. Yeni nesil SSD disklerde TRIM denilen bir komut seti ortaya çıktı.

Yeni nesil bir işletim sistemi ile yeni nesil bir SSD disk kullandığınızda, bir veri silindiğinde işletim sistemi diske bir TRIM komutu gönderir ve disk silinmiş verinin bulunduğu flash hücreleri temizler. Veri içeren alanların bu şekilde temizlenmesi ileride bu alanlara yazılacak verilerin daha hızlı işlenmesini sağlar. Sektörler temiz ve hazırdır. Windows 7, 8, 8.1, 10, yeni nesil MacOSX ve Linux işletim sistemleri TRIM komut setini desteklemektedir.

Defraggler gibi disk programları TRIM komut setini desteklemeyen SSD ve eski nesil işletim sistemlerinde (Windows Vista gibi) bu işlem için yardımcı olmaktadırlar.

https://www.piriform.com/docs/defraggler/technical-information/defraggler-and-ssds

Kullanmış olduğumuz diskin ömrü kısaldıkça mekanik disk yüzeyinde sektörlerde yada SSD disklerde bazı hücrelerde “bad sector” denilen problem oluşmaya başlayacaktır. Bu durum diskte belirli sektörlere okuma yazma işleminin artık yapılamayacağı demektir. Bu durumda disk controller bu konu ile ilgilenicek ve bu alanları tespit edip bu alan için yazılması gereken verileri yeni alanlara yazmaya çalışacak. Tabii ki bu durum diskin performansında olumsuz bir etki oluşturacaktır. Mekanik disklerde “Positional Latency” denilen disk kafasının okuma/yazma süresi yükseliş gösterecektir. Çünkü disk kafasının bad sectorlerden dolayı plaka üzerindeki hareket süresi uzayacaktır.

Eğer bad sector gibi durumları diskimiz yaşamaya başladıysa daha fazla beklemeden diskin değiştirilmesi gerekmektedir. Çünkü işler zamanla daha kötüye gitmeye başlayacaktır ve ileriki aşamada veri kayıpları yaşamamız kaçınılmazdır.

clip_image009clip_image011

Bir sonraki bölümde görüşmek üzere…

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu