Download - Dosya Sistemleri

Transcript
Page 1: Dosya Sistemleri

Dosya Sistemleri

Page 2: Dosya Sistemleri

Akış• Dosya sistemleri nelerdir?• Dosyalar

– İsimlendirme, türler, yapılar, erişim, nitelikler, işlemler.• Dizinler

– Tek, iki ve hiyerarşik seviyeli sistemler– İşlemler

• Yol (Path) İsimleri• Dosya Sistemleri

– DOS dosya sistemi,FAT32,NTFS,ext

Page 3: Dosya Sistemleri

Neden Dosya Sistemlerine Gereksinim Vardır?

• Veri, bir process kendisini kullanıp işi bittikten sonra da varlığını devam ettirmek zorundadır.

• Bu sistem sayesinde oldukça büyük miktarda verileri depolamak mümkündür.

• Yine bu sayede, çoklu işlemler verilere eş zamanlı olarak erişebilmektedir.

• Çözüm, bu verileri disk veya diğer medyalara üniteler halinde saklamaktır.

Page 4: Dosya Sistemleri

Dosyalar

• Dosya içerisinde saklanan verilerin kalıcı olması gerekmektedir.

• Dosyalar OS tarafından yönetilmektedir.

• İşletim sisteminin dosyalarla ilgilenen kısmı “Dosya Yöneticisi (File Manager)” olarak bilinmektedir.

Page 5: Dosya Sistemleri

İsimlendirme (Naming)

• İsimlendirme ile ilgili kurallar kullanılan işletim sistemine bağlıdır.

• Yaygın olarak kullanılan dosya isimlendirmeleri– 1-8 karakter– Dijitler ve belirlenmiş semboller– Modern işletim sistemleri 255 karaktere kadar

desteklemektedir. • Bazı dosya sistemleri karakter duyarlıdır.

– DOS, Windows (Karakter duyarsız)– UNIX, Linux (Karakter duyarlı)

Page 6: Dosya Sistemleri

• Birçok işletim sistemi iki parçalı dosya sistemini destekler.– Parçalar nokta(.) ile birbirlerinden ayrılırlar. – Örn: <dosya ismi>.<uzantı>– deneme.txt, ornek.pdf, MyApplication.cs

• Uzantılar dosya hakkında bir takım bilgiler içerir.

• Bazı işletim sistemleri için ise uzantı önemli değildir. – UNIX ve Linux dosya uzantılarını dikkate almazlar.– Fakat bazı uygulamalar uzantılara bağlı olarak

çalışabilir.

Page 7: Dosya Sistemleri

Dosya Türleri

• 2 temel tür söz konusudur. – Düzeli dosyalar (Regular Files): Kullanıcı verilerini

saklarlar. Bu tip dosyalar ASCII veya Binary olabilir.

– Dizinler (Directories): Dizinler, dosya sisteminin yapısını yönetmek için kullanılan sistem dosyalarıdır.

Page 8: Dosya Sistemleri

• Unix ortamında ise: – Karakter dosyaları (Character Files) : I/O

kaynakları ile ilişkilidir, seri I/O cihazlarını modellemek için kullanılır.

• /dev/tty, /dev/lp, /dev/net

– Blok dosyaları(Block Files) : Diskleri modellemek için kullanılır.

• /dev/hd1• /dev/hd2

Page 9: Dosya Sistemleri

Yapı (File Structure)

Page 10: Dosya Sistemleri

Dosya Erişimi (File Access)

Daha önce de bahsedildiği üzere 2 grupta toplanabilir:

• Sıralı Erişim (Sequential Access)Örn: Basit text dosyaları

• Rastgele Erişim (Random Access)Örn: Veritabanı dosyaları, film dosyları

Page 11: Dosya Sistemleri

Dosya Nitelikleri (File Attributes)• Dosya, isim ve uzantı haricinde de bazı karakteristikler

içerebilir. • Yaygın olan bazı nitelikler:

– Dosya sahini (Owner)– Dosyayı oluşturan (Creator)– Koruma (Protection)– Sadece okunabilirlik(Read only flag)– Gizlilik (Hidden flag)– Arşiv (Archive flag)– En son erişim tarihi (Last Modified Date)– …….– …….

Page 12: Dosya Sistemleri

Dosya İşlemleri (File Operations)• Oluşturma (Create)• Silme (Delete)• Açma (Open)• Okuma (Read)• Yazma (Write)• Ekleme (Append)• Kapama(Close)• Arama (Seek)• Yeniden Adlandırma (Rename)• ….

Page 13: Dosya Sistemleri

Directoryler(Directories)

• Dosyaları izlemek ve organize etmek için kullanılır.

• Bir çok işletim sistemi directoryleri dosya gibi ele alır. – DOS, UNIX, Linux directory olarak isimlendirir. – Windows ise dizin (Folder) olarak isimlendirir.

Page 14: Dosya Sistemleri

Tek Seviyeli Directory Yapısı

• Directory sisteminin en basit biçimidir. Tek bir directory tüm dosyları içerir.

• Bu tekli directory “root” (kök dizin) olarak isimlendirilir.

Page 15: Dosya Sistemleri

Çok kullanıcılı bir sistemde aynı isimde dosyaların olması mümkün değildir.

Page 16: Dosya Sistemleri

İki Seviyeli Directory Yapısı

Çakışmayı önlemek için her bir kullanıcı için farklı directoryler tahsis edilir.

Page 17: Dosya Sistemleri

Hiyerarşik Directory Yapısı

• Kullanıcılar kendi dosyalarını yönetmek istediklerinde iki seviyeli directory yapısı yeterli olmayacaktır.

• Neredeyse tüm işletim sistemleri çoklu directory seviyelerini desteklemektedir.

• Fakat, CD-ROM dosya sistemi, bu konuda hiyerarşik olarak belirli bir sınıra sahiptir.

Page 18: Dosya Sistemleri
Page 19: Dosya Sistemleri

Directory İşlemleri (Directory Operations)

• Oluşturma (Create)• Silme (Delete)• Directory Açma (Opendir)• Directory Okuma(Readdir)• Directory Kapama (Closedir)• Yeniden Adlandırma (Rename)• Bağlantı(Link)

Page 20: Dosya Sistemleri

Yol İsimlendirmesi (Path Naming)

• Dosyalar directory ağacının içinde olduğunda dosyanın konumunu belirtmek için bir isimlendirme şemasının kullanılması gerekir.

• Mutlak yol isimleri (absolute path names)– /Users/John/presentation.ppt

• Göreceli yol isimleri(relative path names)– Üzerinde çalışılan dizine göre göreceli yol isimleri

verilebilir. • John/presentation.ppt

Page 21: Dosya Sistemleri

• Üzerinde çalışılan directoryden bağımsız olarak mutlak yol isimleri her zaman sonuç verecektir.

• Her bir directoryde 2 özel yapı bulunmaktadır. – .(nokta) : Şu anda üzerinde çalışılan directorye

işaret etmektedir.– ..(iki nokta):Bir üst seviyedeki directorye (parent

directory) işaret etmektedir.• ./John/presentation.ppt

Page 22: Dosya Sistemleri

Dosya Sitemi Düzeni(Layout)

Page 23: Dosya Sistemleri

Dosyalama

• Bir dosyanın bu yapı üzerinde nerede bulunduğunun bilinmesi gerekir.

• Dosyalar bloklar halinde depolanırlar. • Dosyaların bulundukları yerin izini sürmek için

pek çok yaklaşım kullanılmaktadır. – Yayılan Dağılım (Contagious Allocation)– Bağlı liste Dağılımı (Link List Allocation)– Bellekteki bir tabloyu kullanan bağlı liste dağılımı– I-nodes

Page 24: Dosya Sistemleri

Blok Boyutu (Block Size)

• Verileri kolay bir şekilde adresleyebilmek, yazıp/okuyabilmek için sabit uzunluktaki bloklar tercih edilir. (fixed sized blocks)

• Tek bir blok tek bir sektör boyutunda olabileceği gibi birden sektör boyutunda da olabilir.

• Ne çok küçük ne de çok büyük boyutlu olmalıdırlar.

• İdeal olarak 4K güzel bir seçim olabilir.

Page 25: Dosya Sistemleri

Block Size

Büyük Blok Boyutu Yüksek Veri HızıBüyük Blok Boyutu Düşük Kullanım Alanı

Küçük Blok Boyutu Düşük Veri HızıKüçük Blok Boyutu Yüksek Kullanım Alanı

Page 26: Dosya Sistemleri

Yayılmacı Tahsis(Contigous Allocation)

• En basit tahsis yöntemidir. • Bir dosya diğerinden sonra saklanır.• Avantajları:

– Uygulamak kolaydır.– Okuma işlemi hızlı bir şekilde gerçekleşir.

• Dezavantajı:– Disk parçalaması(Disk fragmentation)

• Ticari işletim sistemlerinde kullanılmaz. Gömülü işletim sistemleri ve CD-ROM larda tercih edilir.

Page 27: Dosya Sistemleri
Page 28: Dosya Sistemleri

Bağlı Liste Tahsisi (Link List Allocation)

Page 29: Dosya Sistemleri

• Avantajları:– Her disk bloğu kullanılabilir. – Parçalamadan dolayı herhangi bir yer kaybı söz

konusu değildir. • Dezavantajları:

– Rastgele erişim oldukça yavaştır. – Eğer link bilgisi kaybolursa dosyanın geri kalanına

konumlanamaz.

Page 30: Dosya Sistemleri

Dosya Yerleşim Tablosu (FAT)

Page 31: Dosya Sistemleri

• Bağlı liste yerleşim bilgileri belleğe yerleştirilir. • Avantajları:

– Rastgele olarak hızlı bir şekilde erişilir. – Disk üzerindeki bloklardan bir tanesi kaybolsa dahi

dosyanın geri kalanına konumlanılabilir. – Tekli disk bloğunu tamamen kullanır.

• Dezavantajı – FAT bellekte biraz yer kaplar.

Page 32: Dosya Sistemleri

I-Nodes

• Index düğümleri her bir dosya ile ilişkilendirilir.(Dosyalara referans ederler)

• Index düğümü i node olarak adlandırılır.

• Verilen bir i-node ile dosyanın bütün bloklarını bulmak mümkündür.

Page 33: Dosya Sistemleri

• UNIX, işletim sisteminde her şey bir dosya olarak tutulmaktadır. Dosyaların isimlendirmesi sadece kullanıcılar için anlamlı iken, UNIX için bir anlam ifade etmemektedir.

• Dosya isimleri yerine, oluşturulan her dosyaya o dosyaya ait olmak üzere bir numara verilir. Bu numara da inode’dur.

Page 34: Dosya Sistemleri

• Dosya üzerindeki tüm işlemler inode numarası kullanılarak yapılır.

• Super block için de bir blok inode tablosu için ayrılmış durumdadır.

Page 35: Dosya Sistemleri

• Bir i-node’da – Tip ve haklar– Dosyanın sahibi– Boyut bilgisi– Son erişim zamanı– Son değişiklik zamanı– Sektör miktarı gibi bilgiler bulunur.

Page 36: Dosya Sistemleri
Page 37: Dosya Sistemleri

• İnode’ların boyutu sabittir. • Avantajı:

– Bir dosya açıldığında sadece karşılık gelen i-node belleğe getirilir.

Page 38: Dosya Sistemleri

Uygulamada Directory’ler

• Directory’nin temel amacı dosya ismi ile bu dosyanın verisine olan haritalamayı sağlamaktır.

• Doğru disk bloklarını bulmak için – Yayılmacı tahsis (Contiguous Allocation)– Bağlı liste tahsisi (Link List Allocation)– INode kullanılır.

Page 39: Dosya Sistemleri

Dosya Niteliklerini Depolamak

• Sabit boyutlu girdiler, disk adresleri & directory girdilerindeki nitelikler

• Her bir girdi ayrı bir inode’a işaret eder.

Page 40: Dosya Sistemleri

DOS Dosya Sistemi

• FAT’ı kullanılır. • 8+3 karakterlik dosya isimlerini kullanırlar. • Read-only, arşiv, gizli ve sistem niteliğine sahip

olabilirler. 2 versiyonu bulunmaktadır. – FAT-12

• Maksimum partition genişliği 2 Mb’tır.• 4 farklı partition olabilir.

– FAT16• Maksimum partition genişliği 2GB’tır.• 4 farklı partitionu olabilir.

Page 41: Dosya Sistemleri

Director Girdisi (MS-DOS)

Page 42: Dosya Sistemleri

Blok Genişliği(Block Size)

Page 43: Dosya Sistemleri

Windows 98 Dosya Sistemi

• Windwos 95’in ikinci sürümü ile gelmiştir. • Aslında FAT-32’dir.

– Maksimum partition boyutu 2TB’dır. – 4 partitiondan fazlasını destekler.

• Dosya isimleri 255 karaktere kadar olabilir. • FAT-16 ile geriye doğru uyumludur.

Page 44: Dosya Sistemleri

Windows 2000 Dosya Sistemi

• NTFS(New Technology File System)’i kullanır. • İlk olarak Windows NT’de kullanmıştır. • Tek bir partition 264 byte’a kadar olabilir. • Dosya isimleri 255 karakter olabilir (unicode).• FAT-16 ve FAT-32 ile geriye doğru uyumlu

değildir.

Page 45: Dosya Sistemleri

UNIX/Linux Dosya Sistemi• Inode’ları kullanır. • İlk versiyonlarında 14 karakter sınırı

vardı.Fakat sonradan 255 karakteri destekler hale gelmiştir.

• Dosya sistemi güvenliği varsayılan (built-in) olarak gelmektedir.

• Bir çok dosya sistemini destekler.– V7,ext,ext2,ext3– NFS (Network File System)– VFAT (Unix)

Page 46: Dosya Sistemleri

Ext Dosya Sistemi

• 14 karakter desteği vardır. • Tek bir dosya boyutu maksimum 2 Gb olabilir. • ext2 ,ext3 daha sonraki gelişmiş

versiyonlarıdır.

Page 47: Dosya Sistemleri

Linux Dosya Sistemi

Page 48: Dosya Sistemleri

Unix V7 Dosya Sistemi

• Bir directory girdisi şu şekildedir:

• Inode’ların sayısı 162 ile sınırlıdır.

Page 49: Dosya Sistemleri

/usr/ast/mbox yoluna erişim için

1 .

1 ..

4 bin

7 dev

14 lib

9 etc

6 Usr

8 tmp

Root directory

6 numralı Inode’a yönlendirecektir.

Blok Bilgisi

132

/usr için olan Inode6

6 numralı Inode /usr nin 132

numaralı blokta olduğunu

belirtmekte

6 .

1 ..

19 dex

30 erik

51 jim

26 ast

45 bal

Blok 132/usr directory

/usr/ast için 26 numaralı Inode’a yönlendirecektir.

Blok Bilgisi

406

/usr/ast için olan Inode26

26 numralı Inode /usr/ast nin

406 numaralı blokta olduğunu

belirtmekte

26 .

6 ..

64 grants

92 books

60 mbox

81 minix

17 src

Blok 406/usr/ast directory

/usr/ast/mbox için 60 numaralı

Inode’a yönlendirecektir.


Top Related