Dosya Sistemi: Dosya sistemleri adından da anlaşılabileceği gibi bilgisayarınızda tuttuğunu her türlü dosyanın sabit diskinizde saklanma biçimlerini ifade ederler. Dosyalar boyutlarına ve biçimlerine bağlı olarak sabit diskte farklı şekillerde saklanabilir. İşte bu farklılığı sağlayan da adı geçen dosya sistemleridir. Windows üzerinde iki tip dosya sistemi vardır. Bunlardan birisi FAT diğeri ise NTFS. Bu iki sistem her ne kadar karmaşık görünse de temelde oldukça kolay anlaşılan yapılara sahiptirler.
Dosya sistemleri başlık olarak ayrı ayrı ifade edilirse de tanımlamaya çalışırken ister istemez konular iç içe geçmektedir. Bu yüzden bir başlığın içinde azar azar farklı konulara da değineceğiz. Dosya sistemi 1- Path 2- Boyut 3- Meta Bilgisi (tarih, saat) 4- Attribute (gizli, salt, arşiv vs.) bilgilerini içerir.
Genel görevleri
1- Dosya/klasörleri yöneterek isimlerini tutmak,
2- Path bilgisini yönetmek,
3- Meta bilgisini yönetmek (tarih, saat),
4- Attribute bilgisini yönetmek (salt, gizli…),
5- Fragmantasyon bilgisini yönetmek (dosya/klasör disk üzerinde hangi cluster içinde olduğunu gösteren kısım),
6- Volume içindeki boş ve dolu cluster alanları bilmek zorundadır. 1 cluster’a sadece 1 klasör/dosya yazılabilir. İşte bu yüzden dosya sistemi boş ve dolu cluster’ları bilmek zorundadır.
XP ve öncesi sürümler ile Linux sistemlerinde 63. sektörden sonra ilk partition başlar. Vista ve sonraki sürümlerde ise 2048’nci sektörden sonra ilk partition başlar. Bu bilgileri bize Partition Table kısmı vermektedir.
Unpartition area kısmı hiçbir partition’a ait olmayan ve adreslenmemiş olan kısımdır. Buraya standart kullanıcılar ulaşamaz ve veri yazılma işlemi yapılamaz. Windows’ta iki partition arası boşluk olmaz. Tek istisnası Extended partitionlar da 63 sektör arada boşluk olur. Yukarıdaki tabloda MBR ve 1.Partition arası ayrılmış olan 63 sektörlük boşluk ‘bootcode’ un genişlemesi durumu nedeniyle rezerve edilmiştir.
Bootable partition:
İçinde işletim sistemi olan partition anlamına gelmektedir. Linux sistemlerde daha boot halindeyken eğer ki birden fazla bootable partition varsa hangisini seçeceğimizi bize sorar. Windows sistemlerde ise ilk bootable olan partition kısmı çalıştırır ve “C” içindeki “boot.in” dosyasını kontrol eder. Bu dosya tüm disk içinde kaçta bootable partition olduğu bilgisini bize verir.
Dosyayı kontrol ettiğinde eğer ki iki tane bootable alan varsa bize hangisini çalıştıracağımız konusunda seçenek sunar. Biz burada eğer ki ilk bootable partition seçersek hiç bişey yapmadan ayağa kalkmış olan sistemden çalışmasına devam eder. Ancak eğer ki ikincisini seçersek o ana kadar yapmış olduğu tüm işlemleri geri alır ve ikinci bootable partititonu ayağa kaldırmak suretiyle işlemine devam eder.
Volume Boot Record (VBR)
Sıfırıncı sektörden sonra boot olan partition’a geldik ve partition’un ilk sektörünü okunmaya başlanmıştır. Burada karşımıza VBR kaydı çıkacaktır. VBR kaydı fiziksel olarak 63. Sektörde, logical sektor olarak partition’un sıfırıncı sektöründedir. Yani Physical Sector (PH) 63 iken Logical Sektor olarak 0’ncı sektördeyiz anlamına gelmektedir.
Her partition MBR'den ayrı/bağımsız olarak Volume Boot Sector'üne sahiptir. Bu bütün diski kontrol eden MBR'den farklı olarak sadece ilgili partition’ı kontrol eder. Bu sektör kimi kaynaklarda Volume Boot Sector veya Partition Boot Sector olarak geçer. Ama hepsi aynı şeyi ifade ederler. Her Volume Boot Record kaydının içeriği alttakilerden oluşur.
Disk Parameter Block (Disk Karakteristiği alanı): Bu alanda bölüntüye ait boyut, içerdiği sektör sayısı, bölümün etiketi gibi bilgiler bulunur.
Volume Boot Code (Ön Yükleme Kodu) : Bu alan çalıştırılabilir kodlar içerir. Bu çalıştırılabilir kodları MBR içinde bulunan Master Boot Code tetikler. Ancak bu kod alanı sadece aktif (Active) olarak işeretlenen bölüntüde işe yarar. Diğer aktif olmayan bölüntülerde tamamen atıldır ve kullanılmaz. Bu noktadan sonra karşımıza iki farklı kavram çıkacaktır: «Partition & Volume»
Partition: Diskin fiziksel kısımlarına denir.
Volume: Adreslenmiş olan alana denir. Adreslenmiş alan demek ise o kısımda yazma, okuma gibi işlemlerin yapılabildiği alandır. Diskin biçimlendirildikten sonra ki halidir.
Yukarıdaki şekilde partition ve volume alanı göstermiş bulunmaktayız. Slack alan kısma ise ilerleyen derslerimizde ayrıntılı olarak anlatacağız. FAT dosya sisteminin 12/16/32 şeklinde versiyonları vardır. FAT 12’nin anlamı adresleme için 12 bitlik alan kullanılacağını ifade etmektedir. Bu bilgiden de 212 tane adresleme yapabileceğini buluruz. Diğer versiyonlar içinde 216 ve 232 adet adresleme yapabileceklerdir anlamı çıkar. Ancak FAT32’de ilk 4 kısım reserv olduğu için 228 tane adresleme yapmaktadır. Bu bilgileri birkaç örnekle açıklayalım:
Örnek 1- Bir partition oluşturuyoruz ve 100 tane sektörü var. Biz 4 bitlik adresleme sistemini kullanalım. Bunun anlamı 24=16 tane adresleme yapabileceğim anlamına gelir. Böyle olunca sadece ilk 16 sektör adreslenmiş olur ve 84 sektör slack yani kullanılamaz alanda kalır ki bu partitionun büyük bir kısmının kullanılamayacağı anlamına gelir. Bu sorunu aşmak içinde her bir sektöre bir adresleme yapmak yerine sektörleri kümeleyip o şekilde adresleme yapmamız sorunumuzu çözecektir. 100 ü 16 ya böldüğümüzde 6 çıkar. O zaman her 6 sektörü bir adresleme yaparsak 96 sektör adreslenmiş olur ve sadece 4 sektör slack duruma düşer ki bu da çok büyük bir alan değildir. İşte bu 6 sektörün oluşturduğu her bir gruba cluster (kümeleme) denir. Kullanılamayan adreslenmemiş olan 4 sektörlük kısma da “Volume Slack” denir ve ulaşılamazdır.
Örnek 2- Diskimizin sektör sayısı 1000 olsun. 8 bitlik adresleme sistemini kullanalım ve buna göre 256 tane adresleme yapabiliriz. Kural olarak “Bir volume slack alanının boyutu cluster alanının boyutundan büyük olamaz” 1000’i 256’ya böldüğümüzde 3 çıkar. Buna göre 1 cluster 3 sektörden oluşacaktır. Ancak sıkıntı şu ki volume slack alandaki sektör sayısı 232 olacaktır ki bu da kurala aykırıdır. İşte bu sorunu aşmak içinde 1 clusteri 3 sektör yerine 4 sektör yaparsak 250 tane adresleme yapmış oluruz ve slack alan olmaz. Burada clusterin sektörünün artmasının tek dezavantajı adresleme sayısını düşürür buda dosya/klasör oluşturma sayısını azaltır. Mesela 1 cluster’ı 8 sektör yapsak 125 tane adresleme yapmış oluruz dolayısıyla 125 tane dosya/klasör oluşturabileceğimiz anlamına geliyor ve bu bir dezavantajdır. Bu nedenle en az sektörlü cluster’la en çok adresleme yapmak gerekir ki sorun oluşmasın. Volume seviyesinde en küçük birim «cluster», partition seviyesinde en küçük birim «sektör» dür.