Dosya Yönetimi (File System)

Yazan: Sadi Evren SEKER

Bilgisayarın diskinde bulunan manyetik ortam ve bu manyetik ortam üzerinde kodlanmış bulunan bitlerin bir bütün olarak işlenmesini, işletim sistemi tarafından sağlanan bu bütünlüğü (çoğu sistemde dosya denilmektedir)  kontrol etmeyi amaçlayan sistemdir.

 

 

Dosya sistemlerinin gerçekleştirilme stratejileri:

Bilgi diskte bitler halinde durur, peki bu bitler işletim sistemi için ne ifade eder?

İlk uygulamalar

VM/CMS – eski IBM uygulamaları. Sürekli ayırım yapılan uygulama stratejileridir. Dosyayı ardışık disk blokları üzerine yaymaya dayalıdır.

Avantajları:

Dezavantajları:

İkinci yaklaşım: Bağlantıların tutulması. Bütün dosyalar sabit genişlikli bloklar halinde tutulur. Ardışık bloklar bağlı liste (linked list) benzeri bir yapı içerisinde belirlenir.

Avantajları:

Dezavantajları:

FAT ayırımı. Her blokta bir sonrakine pointer tutmak yerine sonraki blokların listesini tutan bir tablo tutma esasına dayanır. Hala ardışık olarak sonraki pointerların takip edilmesi gerekir ancak en azından diske her pointer için erişim yapılması gerekmez. FAT tablosu cache içinde tutularak hız artışı sağlanabilir. MS-DOS ve OS/2 bu sistemi kullanır.

Tabloda dosyanın sonunu gösteren pointer için EOF değeri tutulur. Bloklar boş da olsa tabloda 0 pointerları ile işaretlenir. Yeni bir dosya için blok ayrımı oldukça basittir, tablodaki ilk 0 pointerı aranır.

Index Şeması tutulur. Her dosya index şemasında kayıt edilir ve her index disk üzerinde gerçek verinin durduğu bir bloğu gösterir. Böylelikle hızlı dosya erişimi sağlanmış olur ve ardışık erişim için kötü bir yaklaşım değildir.

Soru: İndex tablosuna yer nasıl ayrılmalıdır? Dosya sistemindeki her şey gibi bu tablo içinde diskte yer ayrılmalıdır. Bu problem paging problemi ile benzerdir. (page table örneğini hatırlayınız)

FAT12

FAT uygulamasının ilk denemesidir. Dosya sistemi ve disket sürücüsü olarak bazı limitleri vardır. Adres bilgileri 12 bit uzunluğundadır ve bu 4096 sayı adreslenebileceğini gösterir. Disk boyutu 16-bit uzunluğundaki sektörelre göre ayarlanmıştır ve 32MB bilgi tutulabilir. Zamanın disket üreticileri tarafından da kullanılan bu sistem örneğin 5.25 disket sürücülerde 40 track ve 8 sektör üzerinde çalıştırılmış ve 160kb bilgiden daha az bilgi adreslemiştir.

Bu sistemde 0. sektör üzerinde oluşan bad sector, disketi tamamen kullanılmaz hale getirebilmektedir.

Directories (Dizinler)

1983 yılında IBM tarafından çıkarılan 10MB kapasiteli ve MS-DOS 2.0 tarafından kullanılabilen disk üzerinde çok yüksek miktarda veri tutulabildiği için hiyerarşik olarak dizinlerin kullanılması gereği doğmuştur. Dizinlerin amacı dosyaları daha iyi organize etmektir ve FAT tablosu üzerinde 0 boyutunda yer kaplarlar.

FAT yapısı 4Kb cluster üzerine kuruludur. Şayet 20MB kapasiteli bir disk yapılacak olsaydı cluster kapasitesi 8kb olurdur.

Yukarıdaki grafikte A. Silindir veya iz, B. Sektör, C blok, D ise cluster’dır.

Temel FAT16

1984 yılında 20MB kapasiteli bir diskin kullanılmasında ortaya çıkan dosya sistemidir. Cluster adresleri 16 bit uzunluğuna çıkarılarak 65,517 adrese kadar tutulmasına imkan verilmiştir. Ancak diskin ulaşabileceği  maksimum 32MB kapasite değişmemiştir. MS-DOS 3.0 tarafından kullanılan dosya sistemidir. Aynı zamanda disket olarak 1.2MB kapasiteli 5.25 disketlerde kullanılabilmekteydi bu disketlerde her iz için 15 sektör bulunmaktaydı.

Extended partition (Uzatılmış bölüm ) ve logical drives (Mantıksal Sürücü)

FAT sisteminin yapısal değişiminin yanında azami FAT kapasitesini arttırmaya yönelik gelişmeler sonucunda birden fazla FAT bölümü kullanma alternatifi ortaya çıkmıştır. İlk çıkışları itibariyle disk bölümleri, işletim sistemleri arasında dosya paylaşımını amaçlamaktaydı. Xenix ve Dos arasında olduğu gibi.

1986 yılında extended (uzatılmış) bölüm DOS 3.2 üzerinde duyuruldu. Aslında yapılan tek şey birden fazla mantıksal sürücü için bir yapının geliştirilmiş olmasıydı. İlk başlarda 1 mantıksal sürücü mümkünken 1987 yılında DOS 3.3 ile 24 sürücüye kadar imkan sağlanmaktaydı. (24 olmasının sebebi İngilizcedeki harflerin bu kadar diske yetmesi (A ve B harfleri disket için daha önceden ayrılmıştı))

Mantıksal sürücüler MBR üzerinden ulaşılan EBR bilgileri üzerinde tanımlı tablolardan ibarettir. Boot recordlar iç içe girmiş şeklinde düşünülmemelidir çünkü aslında tek bir EBR izni bulunmaktadır. Mantıksal bölümlerden sistem açılışı(boot) mümkün değildir. Mantıksal bölümler ancak ana bir FAT yapısından sonra oluşturulabilir.

Yukarıdaki grafikte mantıksal disklerin yerleştirilmesi gösterilmiştir. Yukarıda verilen kapasiteler aşağıda anlatılan FAT16 standardının son hali için geçerlidir.

FAT16 Son hali

Kasım 1987 yılında Compaq firması tarafından duyurulan DOS 3.31 üzerinde FAT16 sürümünde son halini almıştır. Sektör sayıları 32bit’e çıkarılmıştır. Disk bölümlerinin limiti 8-bit olarak tasarlanmıştır. Dolayısıyla 64 disk bölümüne kadar desteklenmektedir.

512 blok kapasitesine sahip standart bir disk için 32KB cluster kullanılması durumunda 2GbiByte veri işlenebilmektedir.

Windows NT ile cluster boyutu 64KB çıkarıldıktan sonra kapasite çok daha yukarılara çıkarılmıştır ancak bu standart diğer FAT standartları ile uyumsuz olmuştur.

Ana dizin kayıtları formatlama sırasında oluşturulur ve 16-bit uzunluğunda verilerdir (Signed bit) dolayısıyla aslında veri 32767 kayıttan oluşmaktadır.

FAT 12/16 Cluster Boyutları

Bölüm Boyutu

( MB)

FAT  Tipi

Cluster başına Sektör

 Cluster Boyutu

0-15

12 bit

8

512bytes

16-127

16 bit

4

2K

128-255

16 bit

8

4K

256-511

16 bit

16

8K

512-1023

16 bit

32

16K

1024-2047

16 bit

64

32K

2048-4096

16 bit

128

  64K*

 

 

* Yalnızca Windows NT/2000/XP İşletim sistemlerinde

 FAT dosya yapısı üzerinde işlemler:

Boot sequence seçilmesi:

FDISK

user posted image


user posted image

user posted image

user posted image

user posted image

user posted image


user posted image


user posted image



user posted image

user posted image


user posted image


user posted image

user posted image

user posted image


user posted image


user posted image


user posted image


user posted image

user posted image


user posted image



user posted image