Download - Dosya Sistemleri
![Page 1: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/1.jpg)
Dosya Sistemleri
![Page 2: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/5.jpg)
İ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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/6.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/8.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/9.jpg)
Yapı (File Structure)
![Page 10: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/15.jpg)
Çok kullanıcılı bir sistemde aynı isimde dosyaların olması mümkün değildir.
![Page 16: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/16.jpg)
İki Seviyeli Directory Yapısı
Çakışmayı önlemek için her bir kullanıcı için farklı directoryler tahsis edilir.
![Page 17: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/18.jpg)
![Page 19: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/21.jpg)
• Ü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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/22.jpg)
Dosya Sitemi Düzeni(Layout)
![Page 23: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/27.jpg)
![Page 28: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/28.jpg)
Bağlı Liste Tahsisi (Link List Allocation)
![Page 29: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/29.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/30.jpg)
Dosya Yerleşim Tablosu (FAT)
![Page 31: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/31.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/33.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/34.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/35.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/36.jpg)
![Page 37: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/37.jpg)
• İ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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/41.jpg)
Director Girdisi (MS-DOS)
![Page 42: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/42.jpg)
Blok Genişliği(Block Size)
![Page 43: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/47.jpg)
Linux Dosya Sistemi
![Page 48: Dosya Sistemleri](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081505/56815d71550346895dcb797e/html5/thumbnails/49.jpg)
/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.