Bir Dosyanın Boyut ve Diskteki Boyutu Arasında Neden Genellikle Fark Olur?
bilgisayarda bir dosyanın boyutuna baktığınız vakit iki farklı bilgi görürsünüz; boyut ve diskteki boyut. bu iki değer bazen birbirine eşit, genellikle de biri diğerinden büyük olur.
boyut (size) karşısında gördüğünüz değer, o dosyanın/klasörün içerdiği verinin byte cinsinden gerçek boyutudur.
diskteki boyut (size on disk): dosyanın/klasörün, bir depolama aygıtına (hdd sdd bellekler hafıza kartları vs) yazıldığı zaman kapladığı boyuttur.
dosyaların/klasörlerin fiziksel depolama aygıtlarında kapladıkları yer genelde içerdikleri veriden daha büyüktür. bu da aslında neden bu iki farklı boyut bilgisini gördüğümüzü açıklıyor ancak neden böyle bir fark var?
çünkü dosya/klasör byte cinsinden veri içermesine karşın, depolama aygıtları bunu kümeler (cluster) kullanarak muhafaza ediyor.
neden?
diyelim ki 1 gb kapasiteli bir depolama aygıtınız var. bunun byte karşılığı: 1.073.741.824 yapıyor, devasa bir sayı. bu aygıtın dosyaları tutup size getirebilmesi için bir sistem kullanması lazım, bunun için adresler kullanılıyor. her bir byte için bir adres numarası belirleniyor, çünkü sizin dosyanız/klasörünüz byte'lardan oluşuyor. ve eğer 1 byte'tan büyükse, doğal olarak birden fazla adresi kullanması gerekli bu dosyanın.
yani diyelim dosyanız 100 byte'lık veri barındırıyor, disk içinde 100 farklı adres kullanması gerekli ve siz bu dosya ile işlem yapmak istediğiniz vakit 100 farklı adresin hemen hazır edilmesi lazım. sizin için hiçbir problem yok.
ancak disk açısından düşündüğünüz vakit 1.07 milyar tane adres ayırmak ve her dosya için bu adreslerin listesini tutmak zahmetli iş. ki bu sadece 1 gb'lık çoooooook küçük bir aygıt için geçerli. kapasitenin artması daha büyük kabus.
o yüzden diyor ki disk, ben bu byte'ları kümeler olarak gruplayarak adreslendireyim. burada şöyle bir analoji kullanabiliriz belki; her bir bayt bir apartman dairesi, kümeler apartmanlar, yan yana apartmanların oluşturduğu siteler de sektörler oluyor. sektörlerin birleşimi de sizin diskiniz.
gruplandırmanın boyutu diskten diske değişse de sanırım standart olan 4096 byte (4 kb). yani 1.07 milyar farklı adres yazmaktan kurtulduk, 262.144 adrese düşürdük işi (1 gb bir disk için).
diyelim ki sizin diskiniz 16 byte'lık kümeler ile depolama yapıyor. ve sizin 30 byte'lık bir dosyanız var. bu durumda iki küme alsanız 32 byte'lık bir alanınız olur. 30 byte'ı dosyanız işgal ediyor ve geriye kalan o 2 byte boş bir şekilde duruyor. işte diskteki boyutun fazla olmasının sebebi de bu; aslında dosyanın içeriğinde bulunmayan boşluklar da dahil oluyor.
yine analojiyi kullanırsak
geniş bir sülalesiniz (dosya), diyelim ki 14 kişi. internetten bir sipariş verdiniz (dosya ile bir işlem yapmak istediniz). kargocuya 14 farklı adres vermek yerine diyorsunuz ki bizim bir aile apartmanımız var (küme) oraya getir siparişi, hangi daireye istersen bırak hepsi bizden. yalnız apartmanda 16 daire var ve sadece 14 tanesi dolu. kargocunun kafası karışıp da yabancıya vermesin sizin kargoyu diye siz o daireleri de kapatmışsınız. boş daireler zile çıkmayınca kargocu dolu olan dairelerden birine bırakıp gidiyor. bütün apartmanı sizin sülale kullanıyor yani. siz de aslında 14 kişisiniz ama 16 kişilik yer kaplıyorsunuz, durum bu.