ADLI BILIMLER ANABILIM DALI Adli Bilişim Programı (Tezli Yüksek Lisans II. Öğretim)
Bilgisayar Sistemleri (2-2–3)
Dosya Sistemleri (Bölüm 1 Ek Sunum) Doç.Dr.Refik SAMET 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 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. 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. İ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ı) • 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. 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. • 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
için kullanılır. • /dev/hd1 • /dev/hd2 Yapı (File Structure) 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ı 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) – ……. – ……. 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) • …. Directory’ler(Directories) • Dosyaları izlemek ve organize etmek için kullanılır. • Bir çok işletim sistemi directory’leri dosya gibi ele alır. – DOS, UNIX, Linux directory olarak isimlendirir. – Windows ise dizin (Folder) olarak isimlendirir. 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. Çok kullanıcılı bir sistemde aynı isimde dosyaların olması mümkün değildir. İki Seviyeli Directory Yapısı Çakışmayı önlemek için her bir kullanıcı için farklı directoryler tahsis edilir. 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. 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) 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 • Ü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 Dosya Sitemi Düzeni(Layout) 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 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 fazla 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. 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ı 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. Bağlı Liste Tahsisi (Link List Allocation) • 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. Dosya Yerleşim Tablosu (FAT) • 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. 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. • 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. • 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. • 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. • İnode’ların boyutu sabittir. • Avantajı: – Bir dosya açıldığında sadece karşılık gelen i-node belleğe getirilir. 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. Dosya Niteliklerini Depolamak
• Sabit boyutlu girdiler, disk adresleri &
directory girdilerindeki nitelikler • Her bir girdi ayrı bir inode’a işaret eder. 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. Director Girdisi (MS-DOS) Blok Genişliği(Block Size) 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. 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. 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) 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. Linux Dosya Sistemi Unix V7 Dosya Sistemi • Bir directory girdisi şu şekildedir:
• Inode’ların sayısı 162 ile sınırlıdır.
/usr/ast/mbox yoluna erişim için /usr için olan Blok 132 /usr/ast için olan Blok 406 Root directory Inode6 /usr directory Inode26 /usr/ast directory 1 . Blok Bilgisi 6 . Blok Bilgisi 26 . 1 .. 1 .. 6 .. 132 406 4 bin 19 dex 64 grants 7 dev 30 erik 92 books 14 lib 6 numralı Inode 26 numralı Inode 51 jim 60 mbox /usr nin 132 /usr/ast nin 406 9 etc numaralı blokta 26 ast numaralı blokta 81 minix 6 Usr olduğunu 45 bal olduğunu 17 src 8 tmp belirtmekte belirtmekte /usr/ast için 26 /usr/ast/mbox için 6 numralı Inode’a numaralı Inode’a 60 numaralı yönlendirecektir. yönlendirecektir. Inode’a yönlendirecektir. • Sabit diskler için temel depolama alanı bir sektördür; her sektör 512 byte a kadar veri depolar. • Eğer bir OS bir sektörde 512 byte’dan daha az bir dosya depolarsa sektörün geri kalanı boş kalır. Bu boşluğu kabul ederiz çünkü çoğu dosyalar 512 byte’dan çok daha büyüktürler. • Peki bir OS 512 byte’dan daha büyük bir dosya depoladığında ne olur? OS’nin bir sektörü doldurmak için metoda ihtiyaç duyar, kullanılmayan başka bir tane bulur ve onu doldurur ta ki dosya tamamen depolanana kadar sektörleri doldurmaya devam eder. • OS bir dosyayı depoladığında dosyaya tekrar erişmek için onun hangi sektörler tarafından tutulduğunu hatırlamalıdır. • MS-DOS sürüm 2.1 ilk olarak sabit disk üzerinde depolanmış verinin izini tutmak için özel bir veri yapısı kullanarak sabit diskleri destekledi ve Microsoft bu yapıyı FAT, yani dosya ayırma tablosu (file allocation table) olarak adlandırdı. • FAT’in bir dosyanın çeşitli parçalarını depolayan sektörlerin izini tutan bir kart kataloğundan başka bir şey olmadığını düşünün • . FAT’in resmi tanımlaması veri yapısıdır fakat daha çok iki sütunlu elektronik çizelge gibidir. Soldaki sütun her sektöre 0000 dan FFFF’ye kadar (elbette ki hex formatında) bir sayı verir. Bu 65.536 (64 K) sektör olduğu anlamına gelir. • Sol sütundaki her bir değerin 16 bit barındırdığına dikkat ediniz. Bu tür bir FAT’e biz 16-bitlik FAT veya FAT16 deriz. Yalnızca sabit diskler FAT’e sahip değildirler. Bazı USB diskler de FAT16 kullanır. Disket sürücüler FAT kullanır fakat onların FAT’leri sadece 12 bit’dir. Çünkü onlar daha az veri depolarlar. • FAT’in sağ sütunu sektörlerin durumu hakkında bilgi içerir. • Tüm sabit diskler fabrikadan yeni çıkan yeni diskler de olmak üzere veri depolayamayan hatalı sektörler içerir çünkü disklerin yapımında kusurlar vardır. • OS bu kötü sektörleri kullanılmaz olarak işaretleyip belirlemesi ve ardından onlara herhangi bir dosya yazımını engellemesi gerekir. Kötü sektörlerin bu haritalaması yüksek seviyeli biçimlendirmenin fonksiyonlarından biridir. • Format programı, FAT oluşturduktan sonra bütün bölme boyunca her bir sektöre sırasıyla yazar ve okumaya çalışır. Eğer kötü bir sektör bulursa sektörün FAT bölgesine özel bir durum kodu (FFF7) yerleştirir ve bu sektörün kullanılamaz olduğunu belirtir. Biçimlendirme aynı zamanda iyi sektörleri 0000 olarak işaretler. • Bununla birlikte sektörlere iz bırakmak için FAT kullanmak bir sorun oluşturur. • 16 bitlik FAT maksimum 64 K (216) bölgeyi adresleyebilir. Bu yüzden sabit disk bölmesinin boyu sektör başına ya 64 K x 512 byte veya 32 MB ile sınırlı olmalıdır. • Microsoft FAT16’yı göz önüne aldığında bu 32 MB sınırı sorun değildi. Çünkü çoğu sabit disk sadece 5 MB ila 10 MB arasında idi. Sabit disklerin boyutu arttığında onları çoklu bölmelere ayırmak için FDISK kullanmanız gerekiyordu. • Örneğin 40 MB’lık bir sabit diski her bölmesi 32 MB’dan az olan iki bölmeye ayırmalıydınız. Fakat sabit diskler çok fazla büyümeye başladığında Microsoft 32 MB’lık disk sınırının kabul edilemez olduğunu fark etti. 16 bit FAT’in geliştirilmesi gerekiyordu. Bu sorun FAT32 ile çözüldü. DOSYA SİSTEMLERİ
• Dosya sistemi disk üzerindeki dosyaların
sistem tarafından kontrolüne olanak kılan yönetim sistemidir. Bu sistemler tipik olarak bir boot record (sistem açılış kaydı), dizinler ve dosyaları içerir. • Bir dosya sistemi üç temel işlemi gerçekleştirir: • Mevcut ve boş alanların yönetimi • Dosya ve dizinlerin bakımı • Her dosyanın disk üzerindeki fiziksel adreslemesinin bilinmesi. Değişik işletim sistemleri için değişik dosya sistemleri yapılmıştır. PARTITION NEDİR ?
• Diskin mantıksal bölümlerine partisyon
(partition) denir. Diski mantıksal bölümlere ayırmaya da partitioning denir. Örnek olarak diski C: D: E: gibi sürücü harflerine göre bölümlemek ya da linuxta diski mount pointlere göre bölümlemek gibi. CLUSTER,SEKTÖR,SİLİNDİR • Disklerin üzerindeki dairesel izlere Track veya cylinder (silindir) denir. Birden fazla disk kullanılırsa bunlar üzerindeki okuyucu kafalara ise head, okudukları yüze Side denmektedir. • Bir dairesel iz açısal olarak eş bölümlere ayrılmıştır. Bu bölümlere ise Sector (sektör) denmektedir. Bütün bunlar göz önüne alındığında bir bilginin adresini vermek için kafa veya yüz numarası, izin numarası ve sektor numarası verilmelidir. • Genel olarak bir track üzerinde bir sektörün belirlediği alan 512 byte’tır. Ancak bazı SCSI disklerde bu boyut değişebilmektedir.Disk erişimini kolaylaştırmak için sektörler gruplanarak CLUSTER lara bölünür. Windows dosya sistemleri nin destekledi ği boyutlar ve cluster boyutları FAT 16 DOSYA SİSTEMİ (File Allocation Table)
• FAT dosya sistemi ilk microsoft ürünleri
olan MS-DOS, Windows 3.1 ve Windows 95 te kullanılmıştır.2 GB a kadar partisyonları desteklediği için günümüzde kullanışsızdır.Fat dosya sistemi bir kök dizin kullanır.Bu kök dizin tüm partisyonu temsil eder. FAT 32 DOSYA SİSTEMİ (File Allocation Table)
• Windows 98, Windows 98 SE, Windows
ME, Windows NT 5.0 işletim sistemleri için kullanılır. Windows xp Windows 2000 gibi işletim sistemlerinde kullanılması mümkündür. Bu dosya sistemi 32 bitlik dosya erişimini destekler. • Ayrıca yine 32 gigabyte (GB) a kadar diskleri destekler. Windows XP yükleme işlemi sırasında, boyutu 32 gigabytetan (GB) büyük olan bir bölümü FAT32 dosya sistemini kullanarak biçimlendirilemez. MS-DOS, Win 3.1, Windows 95 gibi microsoft işletim sistemleri FAT32 dosya sistemini tanımaz. NTFS DOSYA SİSTEMİ (New Technology File System)
• NTFS Windows NT, Windows 2000,
Windows XP ve Windows Vista tarafından kullanılabilen bir dosya sistemidir.Önceki Windows sürümleri bu dosya sistemine erişemez.NTFS dosya sisteminin merkezi yapısında MFT (Master File Table - Ana Dosya Tablosu) kullanılmaktadır. TEŞEKKÜRLER