DİSK ve FAT Cluster büyüklükleri fat yapısına ve disk büyüklüğüne bağlıdır. Aşağıdaki tabloda FAT16 dosya sistemi için disk size larına göre cluster büyüklükleri verilmiştir. Disk size (partition büyüklüğü) Cluster size <255 MB 8 sektör (4 KB) <512 MB 16 sektör (8 KB) <1024 MB 32 sektör (16 KB) <2048 MB 64 sektör (32 KB) Görüldüğü üzere FAT16 sistemi 2GB dan daha büyük partition desteklememektedir. Windows 95 OSR2 ve Windows 98 işletim sisteminin getirdiği önemli yeniliklerden biri de dosya yerleşim sistemindeki değişikliktir. Win98 ile birlikte FAT32 kullanılmaya başlanmıştır. Bu sistemde cluster boyutu küçültülmüş ve desteklenen partition büyüklüğü de 2048 GB (2 Terabyte) a çıkarmıştır. Disk büyüklüğü (partition büyüklüğü) Cluster büyüklüğü <8 GB 4 KB <8 GB - 16 GB 8 KB <16 GB - 32 GB 16 KB >32 GB 32 KB Disk bölümleri Her partition 4 temel alana ayrılmıştır. Bunlar: 1
Master boot record (MBR) Her zaman sabit disklerin ilk sektöründe yer alır (disketlerde bulunmaz) ve harddisklerin bölümlenmesini sağlar. Bu sayede bir harddiskte birden fazla sürücü tanımlayabiliriz. Master boot içindeki bölümleme ile ilgili tabloya "Partition Table" adı verilir ve bu kısım master bootun en sonundadır. Her harddiskte sadece 1 tane master boot record bulunur. Partition table toplam dört kayıt alanı içerir. Bu kayıt alanı bu bölümün nerede başlayıp nerede bittiğini, DOS için ayrılmış bir alan olup olmadığını ve işletim sisteminin bu alandan yüklenip yüklenemeyeceğine ilişkin bilgiler barındırır. Master boot, DOS interrupt lar yararlanarak okunamaz. Master boot sektörünü okumak için ROM-BIOS interupt larını kullanmak gerekir. Boot Boot sektör, disk veya diskete ilişkin bazı bilgiler ile işletim sistemini yüklemeye yarayan ufak bir program parçası içerir. 2
Boot sektörün içerdiği bilgiler aşağıda gösterilmiştir Boot programının şematik gösterimi: Bilgisayar açılışı (Boot up) Her harddiskte en az bir tane primary partition bulunmaktadır. Boot işlemi primary partitiondan yapılır ve işletim sistemi buradan okunur. İşletim sisteminin çekirdeği, her zaman primary DOS partitionda bulunan 2 sistem dosyasındadır. Bu dosyalar IO.SYS ve MSDOS.SYS dir. Windows 95/98 de de benzer dosyalar bulunur fakat yapısı DOS'a nazaran değişmiştir. Bilgisayar açılışında POST (Power On Self Test) işlemi ve BIOS rutinleri yüklendikten sonra boot işlemi başlar. Bu aşamada aşağıdaki adımlar izlenir: - İlk önce MBR okunur. Primary partitionun boot kaydının sektör numarası burada bulunur. 3
- Primary partitionun boot kaydındaki program okunur. Bu iki sistem dosyasının yüklenmesini sağlar. - IO.SYS çalışılan hafızaya kaydedilir. IO.SYS, SYSINIT adı verilen küçük bir program içerir. Bu program boot işlemindeki bir sonraki adımı gerçekleştirir. - MSDOS.SYS diskten okunur. - Daha sonra SYSINIT, CONFIG.SYS adlı bir dosya için kök dizine bakar. CONFIG.SYS deki tüm komutlar gerçekleştirilir. En sonunda bilgisayar işletim sistemi için hazır hale gelmiştir. - SYSINIT bir komut yorumlayıcısı (command interpreter) olan COMMAND.COM u arar. Bulamadığı taktirde hata mesajı verir. Bulunduktan sonra AUTOEXEC.BAT işletilir. 4
FAT ( File Allocation Table) Fat alanı, boot tan sonra 2 kayıt olarak yer alır. Fat2, Fat1 in bir kopyasıdır. Fat, her bir dosyanın bulunduğu clusterı belirten bağlı bir liste yapısına sahiptir. Her bir kayıttaki bilgi dosyanın devamının hangi clusterda bulunduğunu belirten bir linktir. Dosya okunurken dosyanın hangi clusterlara dağılmış olduğu bu linkleri takip edilerek bulunmaktadır. Bu zincir EOF işaretine (dosya sonu işareti) ulaşıncaya kadar devam etmektedir. Bu işaret 16 bit FAT için hexadesimal olarak FFFF ve 12 bit fat için (disketlerde olduğu gibi) FFF dir. Bu işarete ulaşıldığında dosyanın bittiği anlaşılmaktadır. Ayrıca disk üzerindeki bozuk alanlar da (bad sector) FAT üzerinde işaretlenir. Böylece bu alanların üzerine dosya yazımı engellenmektedir. Başak bir deyişle, FAT dosyaların bulunduğu clusterları adreslemede kullanılan bir link tablosudur. Bu linkler için ayrılmış alan ne kadar büyük olursa yapılabilinecek adresleme de o kadar büyük olacağından daha büyük kapasiteli disklerin kullanımını sağlar. FAT uzunluğu disk boyutu ve işletim sistemine bağlıdır. Örnek olarak FAT16 her bir clusterın adreslenmesinde 16 bit ayrıldığını ifade eder. Böylece FAT16 ile formatlanmış bir partitionda maximum 2^16*(cluster boyutu) kadarlık alan adreslenebilineceğinden partition bu boyutu geçemez. Aşağıda en çok kullanılan dosya sistemlerinin özellikleri verilmiştir: FAT16 DOS işletim sisteminde ve Win95 sürümlerinde kullanılmış olan dosya sistemidir. Maximum 2GB lık partition oluşturabilir. FAT32 Windows 95B (OSR2) ile piyasaya çıkan yeni bir yapıdır. Bu sistemde cluster boyutu küçültülerek dosyaların daha az yer kaplaması (clusterların boş kalan alanlarının 5
küçültülmesi) sağlanmıştır. FAT uzunluğu arttırılarak adreslenebilir cluster sayısı çoğaltılmış böylece 2048 GB lık partition oluşturulabilmektedir. HPFS (high performance file system) Sadece OS/2 tarafından kullanılan 32 bitlik dosya sistemidir. NTFS WindowsNT tarafından kullanılabilen 32 bitlik dosya sistemidir. Öteki dosya sistemlere göre veri güvenlik sisteminde önemli eklentiler yapılmıştır.. Dosya fragmantasyonu Dosyalar disk üzerine kaydedilirken dosya içeriği data kısmına yazılırken dosyanın bulunduğu cluster lokasyonu FAT kayıt edilmektedir. Normalde bir dosya cluster büyüklüğünden daha fazla yer kaplıyorsa bir sonraki cluster da işgal edilecektir. Bunun anlamı cluster ın sadece 1 dosya tarafından kullanılmasıdır. Dosya ufak küçük boyutlu bile olsa kalan alan boş olarak bırakılır. Örneğin 4kb lık cluster büyüklüğüne sahip bir partitionda 768 byte kaplayan bir dosya bütün clusterı tutarak 4096-768=3328 byte lık bir alanın boş bırakılacaktır. Bir dosya her zaman ardışık cluster larda saklanmaz. Partitionda sonda kalan boş alanın yetersiz olması durumunda başdan bakılarak arada boşda kalmış (yani bir dosyanın silinmesi ile boşalmış) alanlara yazılır. Bu tür işlemler dosyaların disk üzerinde düzensiz dağılmasına yol açar. Bunun sonucu olarak o partitionda fragmantasyon sorunu meydana gelecektir. Dosya erişimi sırasında (disk üzerinde read/write işlemleri) diskin farklı farklı lokasyonlarına gidilmesi erişim hızı düşürecektir. Windows daki defrag gibi programlar aynı dosyaya ait clusterları ardışık sıraya sokarak bu sorunu ortadan kaldırmaya çalışmaktadır. 6
Root alanı (Root Directory ve Directory) Root alanında kök dizinde bulunabilecek 512 dosya veya dizinin (boot alanındaki root dizinin giriş sayısı standart olarak 512 olduğu için) kaydını tutar. Kök dizindeki dosyalar roottaki kapladıkları alan bakımından sabittir. Root'ta herbir dosya için 32 byte ayrılmıştır. Root'ta tutulan kayıtlardan birinin içeriği: Dosya (veya dizin) adı Uzantı (extension) Özelliği Ayrılmış alan Oluşturulma saati Oluşturulma tarihi Dosyanın başladığı cluster Dosya uzunluğu 8 Byte 3 Byte 1 Byte 10 Byte 2 Byte 2 Byte 2 Byte 2 Byte Dizin yapısı da tıpkı dosyalar gibi tutulmakta fakat dizinler çift yönlü bağlı liste yapısına benzemektedir. Dizinler hem kendilerini gösteren (kendi lokasyonunu), hem de bir üst dizini gösteren birer link taşırlar. Böylece bir dosya veya dizinin hangi dizinin alt bileşeni olduğu bulunabilir. DOS işletim sisteminde (Windows Komut [ command ] satırında ) Dizinlerin kendine olan linkleri tek nokta (.) bir üst seviyeye olan linkleri ise iki nokta (..) olarak görünür. Data alanı Diskin geri kalan bölümü dosyaların saklandığı alandır. Bu kısımda dosyaların içerikleri saklanırken dizinlerin ise (kök dizin olmayanların) yukarıda anlatılan link kayıtları burada tutulmaktadır. 7
Dosya silme işlemlerinde dosyanın içeriği silinmemektedir. Sadece adının kayıtlı bulunduğu yerdeki (kök dizin ise root'ta, değilse data alanında) isminin ilk karakteri hexadesimal E5 ile değiştirilir. İşletim sistemi bu karakteri görünce onun silinmiş olduğunu anlar ve diğer boş yerler kalmayıncaya kadar buraya yazma işlemi yapılmaz. Buradan da şu sonuç çıkarılabilir, dosya silme işleminde dosyanın büyüklüğü önemi yoktur, uzun boyutlu bir dosya ile küçük boyutlu bir dosya çok yakın sürelerde silinebilmektedir. Ref: Diğer ders notlarında kullanılan kaynaklardan yararlanılmıştır. 8