BTP 205 İŞLETİM SİSTEMLERİ DOSYA SİSTEMİ Dr. Önder EYECİOĞLU 2012
DOSYA SİSTEMİ 1. Dosya Kavramı: 1. Dosya Özellikleri 2. Dosya Türleri 3. Dosya Operasyonları 4. Dosya Yapısı 5. Dahili Dosya Yapısı 2. Dosya Erişim Yöntemleri: 1. Sıralı Erişim 2. Doğrudan Erişim 3. Dizin Yapısı 1. Tek Seviyeli Dizin 2. Çift Seviyeli Dizin 3. Hiyerarşik Dizin 4. Dosya Sistemi Bağlama 5. Koruma
SABİT DİSKLERLE İLGİLİ BAZI TANIMLAMALAR Kafa (Head) : Sabit disklerde okuma/yazma işlemini yapan mekanik parça. Plaka (Plate) : Bilgilerin yazıldığı parça. Bir sabit disk, birden çok diskten oluşur. Üste üste gelmiş bu diskler plaka olarak adlandırılır. İz (Track) : Sabit diskte bulunan plakaların üzerinde gözle görülmeyecek eş merkezli daireler vardır. İşte bu dairesel çizgilere track (iz) denir. Sektör (Sector) : İz yapısının bölünmesiyle oluşan ve sabit disk üzerinde alana denk gelen parçaya sektör adı verilir. Küme (Cluster) : Sektörler üzerinde tanımlanmış en küçük küme olarak tanımlanır. RPM (Rotation Speed Moment) : Disklerin dakikadaki dönme hızlarını belirtir. Veri Erişim Hızı (Data Access Time) : Sabit diskteki kafanın, bir veriye erişebilmesi için bir izden diğer bir ize geçerken kaydettiği zamandır.
Dosya Sistemi Görevleri Bilgilerin uzun vadeli saklanması saklanacak veriler çok fazla olabilir veriler proses sonlandıktan sonra da kaybolmamalı Bilgiye prosesler ortak olarak ulaşabilmeli Dosya isimlendirme Dosyalara erişim Dosyaların kullanımı Koruma ve paylaşım Gerçekleme
1. Dosya Kavramı: Dosya; ilişkili bilgilerin ikincil depolama birimlerine kaydedilmiş adlandırılmış koleksiyonudur. Mantıksal İkincil belleğin en küçük tahsisidir. Bilgiler, bir dosya içerisinde olmadıklarında ikincil belleklere yazılamazlar. Dosyalar işletim sistemleri tarafından kontrol edilir. İşletim sitemlerinin dosya kontrolü dosya sistemi ile yapılır. 1.1 Dosya Özellikleri : Bütün işletim sistemlerinde ortak dosya özellikleri; Adı: sembolik dosya adı okunabilir (human readable) biçimde tutulan tek bilgi kaynağı. Modern işletim sistemleri 255 karaktere kadar destekler. Bazı işletim sistemleri Büyük/ küçük harf duyarlıdır (UNIX, LINUX) bazıları değildir ( DOS Windows) Identifier: Genellikle, bir sayı şeklinde tutulan bu etiket, dosya sistemi içindeki dosyayı tanımlar, bu dosya için okunabilir olmayan adıdır. Türü: Konum: Bu bilgiler bir donanım ve bu donanım üzerindeki dosyasının konumunu gösterir bir göstericidir. sda1: /usr/local/bin/ornek
1. Dosya Kavramı: Boyut: Dosyanın, güncel ve izin verilen byte, word veya block cinsinden büyüklüğü Koruma: Kimin okuma (R), yazma (W), çalıştırma (X) ve benzeri işlemleri yapabileceğini belirleyen erişim kontrol bilgileridir. Saat, tarih ve kullanıcı tanımlama: Bu bilgi oluşturma, son değiştirme ve son kullanım için muhafaza edilebilir. Bu veri koruma, güvenlik ve kullanım izleme için yararlı olabilir. Tüm dosya bilgiler, de depolama biriminde bulunan dizin yapısı içinde tutulur. Tipik olarak, Dizin girdisi, dosya adını ve dosyanın tanımlayıcısını (identifier) içerir.
1. Dosya Kavramı: 1.2 Dosya Türleri : Bir dosya sistemi ( işletim sistemi ) tasarlanırken dosya türlerini tanımalı ve desteklemelidir. Bir işletim sistemi, bir dosyanın türünü tanırsa, o zaman makul şekillerde dosyası üzerinde çalışabilir. Dosya türlerinin ifade edilmesi ortak yöntem olarak; tür, dosya adının bir parçası olarak dahil edilir. Bir dosya adı nokta (.) karakteri ile ayrılan iki kısımdan oluşur ( adı ve uzantısı). <dosyaadi>.<türü> deneme.exe, calisma.xls, sonuc.dat Bazı işletim sistemleri, uzantılara bağımlı değildir (UNIX, LINUX). Fakat uygulamalar uzantılara bağlı olarak işlem yaparlar. (Magic number) İki temel standart dosya türü vardır. Birnary, ASCII. Ayrıca UNIX tabanlı İS de, I/O ilişkili Karakter (Character) Dosyaları ( /dev/tty (terminal), /dev/lp (printer)..) ve Blocak dosyaları (/dev/hda1) bulunur.
1. Dosya Kavramı:
1. Dosya Kavramı: 1.3 Dosya İşlemleri: Bir dosya bir soyut veri türüdür. dosyayı tanımlamak için, dosya üzerinde gerçekleştirilebilecek işlemleri dikkate almak gerekir. Işletim sistemi, oluşturma, okuma, yazma, yeniden konumlandırmak, silmek ve dosyaları kesecek şekilde sistem çağrıları sağlayabilmelidir. Oluşturma: Dosya oluşturma iki adımda gerçekleşir. Birinci aşamada Dosya sisteminde dosya için yer bulunmalı (Allocation )!!! İkincisi dizin (directory) içerisinde dosya için dosya adını, konumunu ve gerekli diğer bilgileri içeren bir girdi oluşturulur. Yazma: Dosyaya yazmak için, dosya adını ve yazılacak bilgiyi içeren bir sistem çağrısı yapılır. İsme bağı olarak sistem, dizin içersinde dosyanın konumunu arar. Sistem dosya içersinde, bir sonraki yazma noktasını belirleyen bir yazma belirteci ( write pointer ) tutar. Yazma gerçekleştikten sonra write pointer güncellenmelidir.
1. Dosya Kavramı: Okuma: Okuma yapmak için, soya adını ve bellekte dosyanın konulacağu bir sonraki bloğun yerini belirleyen bir sistem çağrısı yapılır. Dizin, girdiye uygun olarak araştırılır ve okuma belirteci (Read Pointer) güncellenir. Yeniden konumlandırma: Dizin girdisine uygun olarak dizin içerisinde arama yapılır vecurrent file position, değeri verilen değeregöreayarlanır. Konum değiştirmek için gerçek I/O işlemi gerekmez. Bu operasyon dosya arama (file seek) olarak da bilinir. Silme: Dosya silme için, dizin dosya için aranır ve bulunan ilişkili dizin girdisine ait alan serbest bırakılır ve diğer dosyalariçin kullanılabilir olur. Dosya kesme (Truncating): Dosya silinmeden ve öznitelikleri değişmeden uzunluğunusıfırlayan vealanını serbest bırakan özelliktir.
1. Dosya Kavramı: 1.4 Dosya Yapısı: Kaynak ve obje dosyaları onları okuyacak programların beklentilerini karşılayacak yapıda olmaları gereklidir. Ayrıca, belirli dosyalar, işletim sistemlerinin anlayabileceği yapıda olmaları gereklidir. Örneğin, işletim sistemi, belirli yapıya sahip bir çalışabilir dosya (exe) ihtiyaç duyabilir. Böylece dosyanın bellekte nereye yükleneceği ve ilk talimat (instruction) nerede olduğu belirlenebilir. Fakat İS lerinin çok fazla dosya türünü ve yapısını desteklemesi dezavantajdır.
: 1. Dosya Kavramı:
2. Dosya İçi Erişim: 1.1 Sıralı Erişim : En basit erişim metodu Bütün byte lar ve kayıtlar baştan okunur. Dosyasındaki bilgiler birbiri ardına kayıt edilir, sırayla işlenir. Atlama olmaz, geri sarma ve yedekleme olur. read next write next reset no read after last write (rewrite)
2. Dosya İçi Erişim: 1.2 Rastgele Erişim: Bir dosya programlarının belirli bir düzen içinde hızla kayıtları okumak ve yazmak için izin sabit uzunlukta mantıksal kayıtları oluşur. Dosya, numaralandırılmış blok dizileri olarak görülür. Database ler için gereklidir. read n write n position to n read next write next rewrite n n = relative block number
3. Dizin Yapısı: Bilgisayarların dosya sistemleri geniş olabilir. Bazı sistemlerde disk, milyonlarca dosya depolar. Tüm bu verileri yönetmek için, onları organize etmek gerekir. Bu organizasyon genellikle iki parçada yapılır. Birincisi, diskler bir veya daha fazla bölümlere (partitions) ayrılır. Partitions sanal diskler olarak düşünülebilir. İkincisi, her bölüm içindeki dosyalar hakkında bilgi içerir. Bu bilgiler, device directory veya volume table of contents içinde girdi olarak tutulur.
3. Dizin Yapısı: Dizin kendi rehber girişleri içine dosya adlarını çeviren bir simge tablosu olarak görülebilir DOS, UNIX, LINUX >Dizin (Directory) MS Windows > Klasör (Folder) Dizin içersindeki operasyonlar Dosya Arama Dosya Yaratma Dosya silme Dizin listeleme Dosya yeniden adlandırma Dosya sisteminin taşınması
3. Dizin Yapısı: Mantıksal Dizin yapıları: 3.1. Tek Seviyeli Dizin: En basit dizin yapısı Tüm kullanıcılar için tek bir dizin. Bu Tek dizin, root olarak adlandırılır. hızlı erişim sağlar Çok kullanıcılı işletim sistemleri için aynı dosya adı olamaz. Gruplandırma problemi vardır.
3. Dizin Yapısı: 3.2. İki Seviyeli Dizin: Her kullanıcı kendikullanıcı dosya dizinine (UFD) sahiptir. Farklı kullanıcılar için aynı dosya ismine izin verir. Path name tanımlanır Etkili arama sunar. Guruplama yapamaz.
3.2. Ağaç Yapılı Dizin: 3. Dizin Yapısı:
3. Dizin Yapısı: 3.2. Ağaç Yapılı Dizin: Path name tanımlanır(absolute / relative path name) Etkili arama sunar. Gruplama yapar Geçerli dizinde alt dizin oluşturulabilir. mkdir <dir-name> # cd mail/ # mkdir count
3. Dizin Yapısı:
5. Dosya Sistemi Bağlama (Mountig):
6. Koruma : Dosyaya kimtarafından ne yapılabilir? Erişim tipleri Okuma(r) Yazma(w) Çalıştırma ( x ) ekleme silme listeleme Üç sınıf kullanıcı tanımlanır. a Sahib erişimi b Gurubun erişimi c Ortak erişim
6. Koruma :