49
Dosya Sistemleri

Dosya Sistemleri

  • Upload
    mead

  • View
    161

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

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.