Merhaba,

 

Fragmentasyon kavramindan ne anladigimiz onemli. Bu kelimenin filesystem
dunyasinda iki tur anlami var.

 

1.      Dosyalara ait parcalarin ardisil olmamasi

 

Dosya sistemine dosya parca parca yazilmis ve bu parcalar ard arda degilse
okumada soyle bir sorun olusuyor. Isletim sisteminin dosya okumasi soyle
olur: Kafa diskin tepesinde bekler. Disk doner. Aradigi parcanin oldugu yer
altina geldiginde okuma yapar ve bir sonraki parcanin denk gelmesini bekler.
Kafa saga sola hareket etmez. Ileri geri gider sadece. Yani sektoreri diskin
donusu ayarlar, track leri kafa ayarlar. 

 

Bunu havaalanlarindaki bavul alma islemine benzetebilirsiniz. Onunuzden bir
suru bavul gecer, ama siz size ait olanlari alirsiniz. Digerleri ile
ilgilenmezsiniz. Burada siz kafa rolunu, donen platform ise disk rolunu
oynar. Eger iki bavulunuz varsa bunlar ard arda ise ilkini almak icin
egildiginizde ikincisini de alirsiniz. Tekrar dogrulup ikincisinin onununuze
gelmesini beklemezsiniz.

 

Iste bu nedenle dosyanin parcalarinin pespese olmasi performans artisi
saglar.

 

2.      Dosyanin veya parcasinin onun icin ayrilan yere gore kucuk olmasi.

 

Dosya sisteminin bicimlendirilmesi bir tarlanin parcalara ayrilmasi gibidir.
Ciftci tarlasini karma karisik kullanmak istemez. Bicimlendirir. Yani
domatesleri bir araya, patlicanlari bir araya fasulyeleri bir araya toplar.
Diskin bicimlendirilmesi de bu sekilde anlamli parcalara ayrilmasi demektir.
Bunun en onemli nedeni aradigini bulmaniz, neyi nereye koyacaginizi bilmeniz
icindir. 

 

Newfs programi freebsd'de diski bicimlenirir. Bicimlendirken bloklara
ayirir. -b parametresi blok buyuklugunu belirler. Default 16K'dir. Sizin
dosyaniz eger 6K ise, bu diskte yine 16K'lik bir alan kaplar. Bu da diskin
israfi demek olur. Diger fragmentasyon da bu oluyor. Disk bloklarinin
kucultulmesi cozum degil. Ornegin 1K yapsaniz bu durumda bir dosya 16
parcaya yazilacak ve ustelik bunlar da yukaridaki turden bir fragmanasyona
ugrayacak. Ayrica her blok icin bir meta bilgisi tutulur. Bir adet meta
bilgisi diskte tutulacagina 16 adet meta bilgisi tutulacak. Bu da ayri bir
israf ve aranani bulma zamanini uzatir.

 

FreeBSD acisindan konuya bakarsak:

 

FreeBSD kendisi bu ayarlamalari yapar ve sizin icin ilgilenir. Blockl-level
fragmentasyon cozumu dosya sisteminin kendi icinde var. Siz newfs ve tunefs
ile nasil yonetecegini belirtebilirsiniz. Bu parametreler neler:

 

Newfs icin:

 

-b block size

-f freag-size

-g beklenen ortalam dosya buyuklugu

-o optimizasyon

 

Tunefs icin:

 

-f beklenen ortalama dosya buyuklugu

-m minumum bosluk

-o alan veya zaman optimizasyonu

 

Fsck programi size estlerini yaptiktan sonra fregmatasyon orani hakkinda
bilgi de verir.

 

/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS 
/dev/ad0s1a: clean, 208790 free (1540 frags, 180450 blocks, 0.3%
fragmentation)

 

Selamlar.

 

  _____  

From: Hakan K [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, December 19, 2007 1:08 PM
To: [email protected]
Subject: RE: [FreeBSD] freebsd de defrag?

 

Merhaba,

unix ve linux dosya sistemlerinin zaten parcalanmadigini bu yuzden de
birlestirilmeye ihtiyac duymadiklarini cok onceleri de duymustum. Ama bu
soruyu gorunce kafama takildi. Neden parcalanmiyorlar? Nasil parcalanmazlar?

Teknik olarak soyle bir aciklama uydurdum kafamdan: yazma esnasinda yalnizca
dosyanin butun olarak sigacagi buyuklukteki bosluklar kullaniliyor, diger
kucuk bosluklar doldurulmuyor ve daha kucuk dosyalar icin bekletiliyor...
Dosya sisteminin bolunmemesi icin aklima baska bir yol gelmedi. Eger
boyleyse, biz bir dosya yazdik ve arkasindan bir tane daha yazdik. bu iki
dosya arka arkaya yazildi diyelim. Birinci dosyaya ekleme yaptigimizda durum
ne olacak pekii? Sistem butun bir dosyayi o sikistigi yerden cikartip daha
ferah bir yere mi yazacak? Bana hic mantikli gelmedi(kafamdan uydurdugum bu
senaryo icin soyluyorum, yanlis anlasilmasin).

FreeBSD kitabini hala edinemedim, bu yuzden biraz aciklama yapilabilirse cok
sevinirim... Zira bir dosya sisteminin birlestirmeye ihtiyac duymayacagi
fikrine hala cok mesafeli durmaktayim(olmaz oyle sey:-) ).

Herkese kolay gelsin...

> Date: Wed, 19 Dec 2007 10:15:36 +0200
> From: [EMAIL PROTECTED]
> To: [email protected]
> Subject: Re: [FreeBSD] freebsd de defrag?
> 
> Selamlar,
> 
> Dosya sistemi Windows işletim sisteminden tamamen farklıdır ve hayır 
> defrag yoktur çünkü gerek yoktur.
> FreeBSD'ler de file system default UFS dir, ancak ext3, xfs gibi başka 
> dosya sistemleri de istenirse kullanılabilir.
> Sistem her açılışta otomatik olarak fsck uygulamasını çağırır. Bu 
> uygulama diski doğrudan hatalara karşı tarar.
> 
> Daha detaylı bilgi için, EnderUnix ekibinin hazırladığı FreeBSD kitabını 
> edinmek sanırım hayli faydalı olacaktır.
> 
> Kolay gelsin,
> Gokhan
> 
> 
> 
> Huseyin ERSOY yazmış:
> > Merhaba arkadaşlar, freebsd de defrag var mıdır?
> > Simdiden tesekkurler
> > Iyi calismalar
> 
> 
> ---------------------------------------------------------------------
> Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine
bakiniz.
> 
> Cikmak icin, e-mail: [EMAIL PROTECTED]
> Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey
> FreeBSD 6 kitabi cikti! http://www.acikakademi.com/catalog/freebsd6
> 
> 

  _____  

Yeni nesil Windows Live Servisleri'ne şimdi ulaşın! Buraya tıkla!
<http://get.live.com> 

Cevap