Summary

Bu belge, işletim sistemleri dersinden dosya sistemleri konusunu ele almaktadır. Dosya kavramları, erişim metotları, klasör yapıları ve dosya sistemleri hakkında temel bilgiler içermektedir. Ayrıca, farklı dosya sistemleri türleri ve özellikleri de anlatılmaktadır.

Full Transcript

Bölüm 10: Dosya Sistemi Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 10: Dosya sistemi Dosya Kavramı Erişim Hetotları Klasör Yapısı (Directory Structure) Dosya Sistemi Bağlantısı (File-Sy...

Bölüm 10: Dosya Sistemi Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 10: Dosya sistemi Dosya Kavramı Erişim Hetotları Klasör Yapısı (Directory Structure) Dosya Sistemi Bağlantısı (File-System Mounting) Dosya Paylaşımı (File Sharing) Koruma Operating System Concepts – 8th Edition 10.2 Silberschatz, Galvin and Gagne ©2009 Hedefler Dosya sistemlerinin fonksiyonunun açıklanması Dosya sistemleri arayüzlerinin tanımlanması Erişim metotları, dosya paylaşımı, dosya kilitleme ve klasör yapıları gibi dosya sistemi tasarım konularının avantaj ve dezavantajları (tradeoff) Dosya sistemi koruma Operating System Concepts – 8th Edition 10.3 Silberschatz, Galvin and Gagne ©2009 Dosya Kavramı Dosya, ikincil depolamaya kaydedilmiş ve adlandırılmış, ilişkili bilgi koleksiyonudur. Ardışık mantıksal adres alanına sahiptir Tipleri:  Veri (Data)  Sayısal (numeric)  Karakter (character)  İkili (binary)  Program Operating System Concepts – 8th Edition 10.4 Silberschatz, Galvin and Gagne ©2009 Dosya Yapısı Yapısız – Kelimelerin (word) dizilimi, byte'lar Basit Kayıt Yapısı (Simple record structure)  Satırlar (Lines )  Sabit uzunluk (Fixed length)  Değişken uzunluk (Variable length) Karmaşık Yapılar (Complex Structures)  Biçimlendirilmiş Belge (Formatted document)  Yerdeğiştirebilir yükleme dosyası (Relocatable load file ) Son ikisi ilk metota uygun kontrol karakterleri ekleyerek simüle edilebilir. Kim karar verir:  İşletim Sistemi  Program Operating System Concepts – 8th Edition 10.5 Silberschatz, Galvin and Gagne ©2009 Dosya Özellikleri (File Attributes) Adı (Name) – insanlar tarafından okunabilir şekilde tutulan tek bilgidir Tanımlayıcı (Identifier) – dosya sisteminde dosyayı tanımlayan tekil bir ektir (numara). Tip (Type) – farklı tipleri destekleyen sistemler için gereklidir Yer (Location) – aygıtta dosyanın yerini gösteren işaretçi Boyut (Size) – dosya boyutu Koruma (Protection) – kimlerin okuma, yazma ve çalıştırma yapabileceğinin kontrolü Zaman, Tarih ve Kullanıcı Kimliği (Time, date, and user identification) – koruma, güvenlik ve kullanım izlemesi için gerekli veriler Dosyalar hakkındaki bilgiler disk üzerinde yönetilen klasör yapısında tutulur. Operating System Concepts – 8th Edition 10.6 Silberschatz, Galvin and Gagne ©2009 Dosya İşlemleri (File Operations) Dosya bir soyut veri tipidir (abstract data type) Yarat (Create) Yaz (Write) Oku (Read) Dosya içerisinde yeniden yerleştirme (Reposition within file) Sil (Delete) Budama (Truncate) Open(Fi) – Fi girdisi için disk üzerindeki klasör yapısını ara ve girdinin içeriğini belleğe taşı Close (Fi) – Bellekteki Fi girdisinin içeriğini bellekten diskteki klasör yapısına taşı Operating System Concepts – 8th Edition 10.7 Silberschatz, Galvin and Gagne ©2009 Açık Dosyalar (Open Files) Açık dosyaları yönetmek için bazı verilere ihtiyaç vardır:  Dosya işaretçisi (File pointer): dosyayı açık durumda bulunduran her süreç için en son okuma/yazma yerini gösteren bir işaretçi  Dosya açık sayısı (File-open count): bir dosyanın kaç kere açıldığını gösteren bir sayaç – son süreç de dosyayı kapattığı zaman verinin açık dosya tablosundan silinmesine izin vermek için kullanılır  Dosyanın diskteki yeri (Disk location of the file): veri erişim bilgisinin önbelleği  Erişim hakları (Access rights): her süreç için erişim modu bilgisi Operating System Concepts – 8th Edition 10.8 Silberschatz, Galvin and Gagne ©2009 Açık Dosya Kilitleme (Open File Locking) Bazı işletim ve dosya sistemleri tarafından sunulur Bir dosyaya erişime aracılık eder Zorunlu veya tavsiye niteliğinde olabilir:  Zorunlu (Mandatory) – istenen ve tutulan kilitlere bağlı olarak erişim engellenebilir - Windows  Tavsiye Niteliğinde (Advisory) – süreçler kilitlerin durumunu öğrenebilir ve buna göre ne yapacağına karar verebilir - UNIX Operating System Concepts – 8th Edition 10.9 Silberschatz, Galvin and Gagne ©2009 Dosya Tipleri – Adı, Uzantısı Dosya Tipi Olası Uzantılar Fonksiyonu çalıştırılabilir exe, com, bin veya Çalışmaya hazır makine dili programı (executable) hiçbiri nesne (object) obj, o Derlenmiş, makine dili, bağlanmamış kaynak kodu c, cc, java, pas, Değişik dillerde kaynak kodu asm, a komut (batch) bat, sh Komut yorumlayıcıya komutlar metin (text) txt, doc Metinsel veri, belgeler kelime işlemci wp, tex, rtf, doc Değişik kelime işlemci formatları (word processor) kütüphane (library) Lib, a, so, dll Programcılar için fonksiyon kütüphaneleri yazdır veya izle ps, pdf, jpg Yazdırmak veya izlemek için ASCII veya Binary dosya arşiv (archive) arc, zip, tar Skıştırılmış veya arşivlenmiş tek bir dosyada toplanmış farklı dosyalar çokluortam mpeg, mov, rm, Ses veya video bilgisi içeren dosya (multimedia) mp3, avi Operating System Concepts – 8th Edition 10.10 Silberschatz, Galvin and Gagne ©2009 Erişim Metotları (Access Methods) Sıralı Erişim (Sequential Access) read next write next reset no read after last write (rewrite) Direk Erişim (Direct Access) read n write n position to n read next write next rewrite n n = ilgili blok numarası Operating System Concepts – 8th Edition 10.11 Silberschatz, Galvin and Gagne ©2009 Sıralı Erişim Dosyası (Sequential-access File) şimdiki pozisyon başlangıç son geriye sar oku veya yaz Operating System Concepts – 8th Edition 10.12 Silberschatz, Galvin and Gagne ©2009 Direk Erişim Dosyası Üzerinde Sıralı Erişim Simülasyonu Sıralı erişim Direk erişim uygulaması Operating System Concepts – 8th Edition 10.13 Silberschatz, Galvin and Gagne ©2009 Endeks ve İlgili Dosyalar Örneği Operating System Concepts – 8th Edition 10.14 Silberschatz, Galvin and Gagne ©2009 Klasör Yapısı (Directory Structure) Tüm dosyalar hakkında bilgi içeren noktalar (node) kümesi Klasör Dosyalar F1 F2 F4 F3 Fn Hem dosyalar hem de klasör yapısı disk üzerinde yeralır Bu iki yapının yedekleri teyplerde tutulur Operating System Concepts – 8th Edition 10.15 Silberschatz, Galvin and Gagne ©2009 Disk Yapısı Disk bölümlere (partitions) ayrılabilir Disk veya bölümler (partition) hatalara karşı RAID kullanılarak korunabilir Disk veya bölüm ham (raw) (dosya sistemi olmadan) veya bir dosya sistemi ile biçimlendirilmiş (formatted) olabilir Bölümler (Partitions) minidisk veya parçalar (slice) olarak da adlandırılır Bir dosya sistemi barındıran yapı yerel disk (cilt) (volume) olarak bilinir Dosya sistemine sahip her cilt ayrıca dosya sisteminin bilgisini aygıt klasörü (device directory) veya cilt içerik tablosunda (volume table of contents) tutar Aynı işletim sistemi veya bilgisayarda genel amaçlı dosya sistemleri olduğu kadar özel amaçlı dosya sistemleri de mevcuttur Operating System Concepts – 8th Edition 10.16 Silberschatz, Galvin and Gagne ©2009 Tipik Bir Dosya Sistemi Organizasyonu Operating System Concepts – 8th Edition 10.17 Silberschatz, Galvin and Gagne ©2009 Klasör Üzerindeki İşlemler Dosya arama Dosya yaratma Dosya silme Klasörü listeleme Dosyayı yeniden adlandırma Dosya sistemini tarama (traverse) Operating System Concepts – 8th Edition 10.18 Silberschatz, Galvin and Gagne ©2009 Klasörü (Mantıksal Olarak) Düzenleme Verimlilik (Efficiency) – bir dosyanın yerini çabukça bulma Adlandırma (Naming) – kullanıcılara uygun şekilde  İki kullanıcı farklı dosyalar için aynı ismi kullanabilir  Aynı dosyanın birçok farklı adı olabilir Gruplama (Grouping) – dosyaların özelliklerine göre (ör., tüm Java programları, tüm oyunlar, …) mantıksal olarak gruplanması Operating System Concepts – 8th Edition 10.19 Silberschatz, Galvin and Gagne ©2009 Tek Katmanlı Klasör (Single-Level Directory) Tüm kullanıcılar için tek bir klasör Adlandırma (Naming) problemi Gruplama (Grouping) problemi Operating System Concepts – 8th Edition 10.20 Silberschatz, Galvin and Gagne ©2009 İki Katmanlı Klasör Her kullanıcı için ayrı klasör Yol adı (Path name) Farklı kullanıcılar aynı dosya adını kullanabilir Verimli arama (Efficient searching) Gruplama kabiliyeti yok Operating System Concepts – 8th Edition 10.21 Silberschatz, Galvin and Gagne ©2009 Ağaç Yapılı Klasörler Operating System Concepts – 8th Edition 10.22 Silberschatz, Galvin and Gagne ©2009 Ağaç Yapılı Klasörler Verimli arama Gruplama kabiliyeti Şimdiki klasör (çalışma klasörü)  cd /spell/mail/prog  Tip listesi (type list) Operating System Concepts – 8th Edition 10.23 Silberschatz, Galvin and Gagne ©2009 Ağaç Yapılı Klasörler Kesin (Absolute) veya göreceli (relative) yol adı (path name) Dosya yaratma işlemi şimdiki klasörde gerçekleştirilir Dosya silme rm Bir altklasör yaratma şimdiki klasörde yaratılır mkdir Örnek: eğer n şimdiki klasördeyse  /mail mkdir count mail prog copy prt exp count “mail” i silme  "mail" tarafından köklenen tüm altağaç silinir Operating System Concepts – 8th Edition 10.24 Silberschatz, Galvin and Gagne ©2009 Acyclic-Graph Klasörler Paylaşılan altklasörler ve dosyalar mevcuttur Operating System Concepts – 8th Edition 10.25 Silberschatz, Galvin and Gagne ©2009 Acyclic-Graph Klasörler İki farklı isim (aliasing) Eğer dict list 'i silerse  sarkık işaretçi (dangling pointer) Çözümler:  Geri işaretçiler (Backpointers), böylece tüm işaretçiler silinebilir Değişken boyuttaki kayıtlar bir problem olabilir  Geri işaretçiler (Backpointers) paptya zinciri organizasyonu kullanırlar  Girdi-tut-say (Entry-hold-count) çözümü Yeni klasör girdi tipi  Bağlantı (Link) – mevcut bir dosyaya diğer bir ad (işaretçi (pointer))  Bağı çözmek (Resolve the link) – dosyayı bulmak için işaretçiyi izlemek Operating System Concepts – 8th Edition 10.26 Silberschatz, Galvin and Gagne ©2009 Genel Grafik Klasör Operating System Concepts – 8th Edition 10.27 Silberschatz, Galvin and Gagne ©2009 Genel Grafik Klasör Döngü olmamasını nasıl garanti ederiz?  Sadece dosyalara yapılan bağlantılara izin ver, altklasörlere değil  Çöp toplama (Garbage collection)  Yeni bir bağlantı eklendiğinde bir döngü tespit algoritması çalıştırarak herşeyin normal olup olmadığına karar ver Operating System Concepts – 8th Edition 10.28 Silberschatz, Galvin and Gagne ©2009 Dosya Sistemi Bağlantısı (File System Mounting) Erişim sağlanmadan önce dosya sistemi bağlanmalıdır (mount) Bağlanmamış dosya sistemi bir bağlantı noktasına (mount point) bağlanır Operating System Concepts – 8th Edition 10.29 Silberschatz, Galvin and Gagne ©2009 (a) Mevcut (b) Bağlanmamış Bölüm (Unmounted Partition) Operating System Concepts – 8th Edition 10.30 Silberschatz, Galvin and Gagne ©2009 Bağlantı Noktası (Mount Point) Operating System Concepts – 8th Edition 10.31 Silberschatz, Galvin and Gagne ©2009 Dosya Paylaşımı (File Sharing) Çok kullanıcılı sistemlerde dosyaların paylaşımı istenebilir Paylaşım bir koruma (protection) şeması aracılığıyla yapılabilir Dağıtık sistemlerde, dosyalar bir ağ aracılığıyla paylaşılabilir Ağ Dosya Sistemi (Network File System (NFS)) sık kullanılan bir dağıtık dosya paylaşım metodudur Operating System Concepts – 8th Edition 10.32 Silberschatz, Galvin and Gagne ©2009 Dosya Paylaşımı – Çoklu Kullanıcı Kullanıcı ID'leri (User Ids) kullanıcıları ayırt etmeye, her kullanıcıya izin ve koruma sağlamaya izin verir Grup ID'leri (Group Ids) kullanıcıları gruplara ayırarak, grup erişim hakları tanımlamaya izin verir Operating System Concepts – 8th Edition 10.33 Silberschatz, Galvin and Gagne ©2009 Dosya Paylaşımı – Uzak Dosya Sistemleri Sistemler arası dosya sistemi erişimine izin vermek için ağları kullanır  FTP gibi programlarla manuel olarak  Dağıtık dosya sistemleri (distributed file systems) kullanarak otomatik olarak World Wide Web ile yarı otomatik olarak  İstemci-Sunucu (Client-server) modeli istemcilerin sunuculardan dosya sistemlerini bağlamalarına (mount) izin verir  Sunucu birçok istemciye servis yapabilir  İstemci ve istemcideki kullanıcı (user-on-client) tanımlaması güvensiz ve karmaşıktır  NFS standart UNIX istemci-sunucu dosya paylaşım protokolüdür  CIFS ise standart Windows protokolüdür  Standart işletim sistemi dosya çağrıları uzak çağrılara dönüştürülür Dağıtık Bilgi Sistemleri (Distributed Information Systems) (distributed naming services) (LDAP, DNS, NIS, Active Directory gibi) uzak işleme (remote computing) için ihtiyaç duyulan bilgiye birleşik erişimi uygularlar Operating System Concepts – 8th Edition 10.34 Silberschatz, Galvin and Gagne ©2009 Dosya Paylaşımı – Tutarlılık Anlamları (Consistency Semantics) Tutarlılık Anlamları (Consistency semantics) çoklu kullanıcılaın paylaşılan bir dosyaya aynı anda nasıl erişeceğini tanımlarlar  Bölüm 7'deki Süreç Senkronizasyon Algoritmalarına benzerdir Disk G/Ç'ı ve ağ gecikmesi (uzak sistemler için) nedeniyle daha az karmaşık olmaya eğilimlidir  Andrew Dosya Sistemi (Andrew File System (AFS)) karmaşık dosya paylaşım anlamları uygulamaktadır  AFS'nin oturum anlamları (session semantics) vardır  Sadece dosya kapatıldıktan sonraki oturumların görebileceği şekilde yazar  UNIX Dosya Sistemi (Unix file system (UFS)):  Aynı açık dosyayı gören tüm kullanıcıların hemen göreceği şekilde dosyaya yazar  Dosya işaretçisini paylaşarak birçok kullanıcının koşutzamanlı olarak okuma ve yazmasına izin verir Operating System Concepts – 8th Edition 10.35 Silberschatz, Galvin and Gagne ©2009 Koruma (Protection) Dosya sahibi/yaratıcısı şunları kontrol edebilmelidir:  Ne yapılabileceği  Kimin tarafından yapılabileceği Erişim Tipleri  Oku (Read)  Yaz (Write)  Çalıştır (Execute)  Ekle (Append)  Sil (Delete)  Listele (List) Operating System Concepts – 8th Edition 10.36 Silberschatz, Galvin and Gagne ©2009 Erişim Listeleri ve Grupları Erişim modları: oku, yaz, çalıştır ( read, write, execute) Kullanıcıların üç sınıf vardır: RWX a) sahip erişimi (owner access) 7  111 RWX b) grup erişimi (group access) 6  110 RWX c) genel erişim (public access) 1  001 Yöneticiye sorarak bir grup yaratılır (tekil adlı) ve gruba bazı kullanıcılar eklenir Belirli bir dosya veya altklasör için uygun erişimi tanımlar Operating System Concepts – 8th Edition 10.37 Silberschatz, Galvin and Gagne ©2009 Örnek: UNIX Klasör Listeleme Operating System Concepts – 8th Edition 10.38 Silberschatz, Galvin and Gagne ©2009 Windows XP Erişim Kontrolü Liste Yönetimi Operating System Concepts – 8th Edition 10.39 Silberschatz, Galvin and Gagne ©2009 Bölüm 10 Son Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 11: Dosya Sistemi Uygulamaları Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 11: Dosya Sistemi Uygulamaları Dosya Sistem Yapısı Dosya Sistemi Uygulaması Dizin (Klasör - Directory) Uygulaması Tahsis Metotları Boş-alan Yönetimi Verimlilik ve Performans Kurtarma (Recovery) Kütük-yapılı Dosya Sistemleri (Log-Structured File Systems) NFS Operating System Concepts – 8th Edition 11.2 Silberschatz, Galvin and Gagne ©2009 Dosya Sistem Yapısı Dosya yapısı  Mantıksal depolama birimi (Logical storage unit)  İlgili bilgilerin toplanması Dosya sistemi ikincil depolamada (diskler) yeralır G/Ç verimliliğini arttırmak için bellek ve disk arasındaki transfer bloklar halinde gerçekleştirilir. Her blok bir veya daha fazla sektöre sahiptir. Disk sürücüye bağlı olarak sektör boyutları 32 byte ile 4096 byte arasında değişir. Genellikle 512 byte uzunluğundadır. Dosya sistemi katmanlar halinde düzenlenir Dosya Kontrol Bloğu (File control block (FCB)) – bir dosya hakkında bilgilerden oluşan depolama yapısıdır Operating System Concepts – 8th Edition 11.3 Silberschatz, Galvin and Gagne ©2009 Katmanlı Dosya Sistemi uygulama programları mantıksal dosya sistemi dosya düzenleme modülü temel dosya sistemi G/Ç kontrolü aygıtlar Operating System Concepts – 8th Edition 11.4 Silberschatz, Galvin and Gagne ©2009 Tipik Bir Dosya Kontrol Bloğu dosya izinleri dosya tarihleri (yaratma, erişim, yazma) dosya sahibi, grubu, ACL (Erişim kontol listesi) dosya boyutu dosya veri blokları veya veri bloklarını gösteren işaretçiler Operating System Concepts – 8th Edition 11.5 Silberschatz, Galvin and Gagne ©2009 Bellekteki Dosya Sistem Yapıları klasör yapısı open(dosya adı) klasör yapısı dosya kontrol bloğu kullanıcı alanı çekirdek belleği ikincil depolama veri blokları read(index) her süreç için sistem çapında dosya kontrol bloğu açık dosya tablosu açık dosya tablosu kullanıcı alanı çekirdek belleği ikincil depolama Şekilde işletim sistemleri tarafından sağlanan dosya sistemi yapıları gösterilmektedir. Operating System Concepts – 8th Edition 11.6 Silberschatz, Galvin and Gagne ©2009 Sanal Dosya Sistemleri (SDS) Sanal Dosya Sistemleri (SDS) (Virtual File Systems (VFS)) dosya sistemlerinin nesne tabanlı olarak uygulanması için bir yol sunarlar. SDS aynı sistem çağrısı arayüzünün (API) farklı tipteki sistemler için kullanılmasına izin verir. API spesifik bir dosya sistemi yerine SDS arayüzü içindir. Operating System Concepts – 8th Edition 11.7 Silberschatz, Galvin and Gagne ©2009 Sanal Dosya Sisteminin (SDS) Şematik Görünümü open(), read(), write() ve close() dosya sistemi arayüzü çağrıları ve dosya tanımlayıcılar için SDS (VFS) arayüzü yerel dosya sistemi yerel dosya sistemi uzak dosya sistemi Tip 1 Tip 2 Tip 1 ağ Operating System Concepts – 8th Edition 11.8 Silberschatz, Galvin and Gagne ©2009 Klasör (Dizin) Uygulaması Lineer liste : Veri bloklarını gösteren işaretçiler ile dosya adlarının lineer listesi.  programlaması kolay  çalıştırılması zaman alır Hash Tablosu – hash veri yapısı ile klasör girdilerinin tutulduğu lineer liste.  Hash tablosu dosya adından üretilen bir değeri alır ve lineer listedeki dosya adını gösteren bir işaretçi döndürür.  Klasör arama zamanını azaltır  Ekleme ve silme kolaydır ancak çarpışmalar (collisions) – iki dosya adının aynı yeri "hash"lediği durumlar – sorun oluşturabilir  Sabit boyuttan dolayı dosya sayısı arttığı zaman tablonun büyütülmesi ve hash fonksiyonun değiştirilmesi gerekir. Operating System Concepts – 8th Edition 11.9 Silberschatz, Galvin and Gagne ©2009 Erişim Metotları Erişim metodu disk bloklarının dosyalara nasıl tahsis edildiğini gösterir: Ardışık tahsis (Contiguous allocation) Bağlı tahsis (Linked allocation) Endekslenmiş tahsis (Indexed allocation) Operating System Concepts – 8th Edition 11.10 Silberschatz, Galvin and Gagne ©2009 Ardışık Tahsis (Contiguous Allocation) Her dosya, diskte bir ardışık bloklar kümesi işgal eder Basit – sadece başlangıç yeri (blok numarası) ve uzunluğuna (blok sayısı) ihtiyaç vardır Rastgele erişim (Random access) Çok yer kaybı vardır (bellekteki dinamik depolama tahsis problemi gibi) Dosyalar büyüyemez Dış parçalanma (External Fragmentation) Operating System Concepts – 8th Edition 11.11 Silberschatz, Galvin and Gagne ©2009 Disk Alanının Ardışık Tahsisi Operating System Concepts – 8th Edition 11.12 Silberschatz, Galvin and Gagne ©2009 Alan Tabanlı Sistemler (Extent-Based Systems) Birçok yeni dosya sistemi (Ör., Veritas Dosya Sistemi (VFS)) modifiye edilmiş bir ardışık tahsis şeması kullanır Alan tabanlı dosya sistemleri disk bloklarını alanlar (extent) şeklinde tahsis eder Alan (extent) ardışık bir disk bloğudur  Alanlar dosya tahsisi için kullanılır.  Bir dosya bir veya daha fazla alandan oluşabilir. Operating System Concepts – 8th Edition 11.13 Silberschatz, Galvin and Gagne ©2009 Bağlı Tahsis (Linked Allocation) Her dosya disk bloklarından oluşan bir bağlı listedir: bloklar disk üzerinde herhangi bir yere dağıtılmış olabilir. blok = işaretçi Operating System Concepts – 8th Edition 11.14 Silberschatz, Galvin and Gagne ©2009 Bağlı Tahsis dizin (klasör) Operating System Concepts – 8th Edition 11.15 Silberschatz, Galvin and Gagne ©2009 Bağlı Tahsis Basit – sadece başlangıç adresine ihtiyaç var Boş-alan yönetim sistemi – yer israfı yok Rastgele erişim yok 512 Byte'lık blokların 4 byte'ı işaretçi için 508 byte'ı veri için kullanılır. Bu da her blok için %0.78 lik bir kayıp demektir. Bu sorunun çözümü için blokları birleştirip cluster'lar oluşturulabilir. Bu da veri kullanım oranını arttırabilir, ancak iç parçalanmayı da arttırır. En önemli uygulamalarından biri Dosya Tahsis Tablosudur (File- allocation table (FAT)) – MS-DOS ve OS/2 tarafından kullanılan disk-alanı tahsisi. Operating System Concepts – 8th Edition 11.16 Silberschatz, Galvin and Gagne ©2009 Dosya Tahsis Tablosu (File-Allocation Table) Operating System Concepts – 8th Edition 11.17 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis (Indexed Allocation) Her dosyanın kendi endeks bloğu vardır ve bu blokta disk blok adreslerinin bir dizisi tututlur. Tüm işaretçileri endeks bloğunda (index block) toplar Mantıksal görünüm Endeks tablosu Operating System Concepts – 8th Edition 11.18 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis Örneği Operating System Concepts – 8th Edition 11.19 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis Endeks tablosuna ihtiyaç vardır Rastgele erişim Dış parçalanma olmadan dinamik erişim vardır, ancak endeks bloğundan kaynaklanan yük (overhead) vardır. Operating System Concepts – 8th Edition 11.20 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis Sınırsız uzunluktaki (blok büyüklüğü 512 word) bir dosyanın mantıksaldan fiziksele eşlenmesi. Bağlı şema (Linked scheme) – Endeks tablosunun bloklarını bağla (boyutta limit yok).  Bir endeks bloğu genellikle bir disk bloğudur. Bu yüzden direk olarak okunabilir ve yazılabilir.  Büyük dosyalar için birkaç endeks bloğu birbirine bağlanabilir. Operating System Concepts – 8th Edition 11.21 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis Çift-katmanlı endeks (Two-level index)  Birinci seviye endeks bloğunun ikinci seviye endeks bloklarını gösterdiği yöntemdir.  Bloğa erişim için işletim sistemi önce birinci seviye endeksleri kullanarak ikinci seviye endeks bloklarına erişir ve onları kullanarak istenen veri bloğuna erişir.  Bu yaklaşım üçüncü veya dördüncü seviye için de kullanılabilir.  4,096 byte bloklar için 1,024 tane 4 byte'lık işareti kaydedilebilir. İki seviyeli endekslerde 1,048,576 veri bloğu ve 4 GB'lık bir dosya boyutuna izin verilir. Operating System Concepts – 8th Edition 11.22 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis  dış endeks endeks tablosu dosya Operating System Concepts – 8th Edition 11.23 Silberschatz, Galvin and Gagne ©2009 Endekslenmiş Tahsis Birleşik Şema: UNIX (4K bytes per block) Operating System Concepts – 8th Edition 11.24 Silberschatz, Galvin and Gagne ©2009 Boş-Alan Yönetimi Bit vektörü (n blok) 0 1 2 n-1 0 1 0 0 1 0 … 1  0 ⇒ block[i] boş (free) bit[i] = 1 ⇒ block[i] dolu (occupied) Blok numarası hesaplama (word başına bit sayısı) * (0-değerli word sayısı) + ilk 1 bitinin ofseti Operating System Concepts – 8th Edition 11.25 Silberschatz, Galvin and Gagne ©2009 Boş-Alan Yönetimi Bit haritası için ekstra alana ihtiyaç vardır  Örnek: blok boyutu = 212 bytes ( 4 kByte) disk boyutu = 240 bytes (1 Terrabyte) n = 240/212 = 228 bits (veya 32 Gigabytes) bit haritası ile yönetilebilir. Ardışık dosyalar elde etmek kolaydır Bağlı listeler (boş listesi)  Ardışık alan kolay elde edilemez  Alan israfı yok Operating System Concepts – 8th Edition 11.26 Silberschatz, Galvin and Gagne ©2009 Boş-Alan Yönetimi Korunması gerekenler:  Boş listesini gösteren işaretçi  Bit haritası veya Bit vektörü  Diskte tutulmalı  Bellekteki ve diskteki kopyaları farklı olabilir  blok[i] için bellekte bit[i] = 1 ve diskte bit[i] = 0 durumuna izin vermemeli  Çözüm:  Diskte bit[i] = 1 yap  blok[i] 'yi tahsis et  Bellekte bit[i] = 1 yap Operating System Concepts – 8th Edition 11.27 Silberschatz, Galvin and Gagne ©2009 Diskte Bağlı Boş Alan Listesi Boş-alan listesi başı Operating System Concepts – 8th Edition 11.28 Silberschatz, Galvin and Gagne ©2009 Verimlilik ve Performans Verimlilik şunlara bağlıdır:  Disk tahsis ve klasör algoritmaları  Dosyanın klasör girdisinde tutulan veri tipi Performans  disk önbelleği (disk cache) – sık kullanılan bloklar için ana bellekte ayrı bir alan  arkayı-boşalt (free-behind) (bir sonraki sayfa istenir istenmez sayfayı tampondan kaldırır, böylece önceki sayfalar tekrar kullanılmaz ve tampon alanı boşa kullanılmaz) ve ileriye oku (read-ahead) (istenen sayfa ve bazı sonra gelen sayfalar şimdiki sayfa istendiği anda okunur ve önbelleklenir. Bu sayfalar şimdiki sayfa işlendikten sonra büyük olasılıkla istenecektir. Bu verinin diskten bir kerede getirilmesi zaman kazandıracaktır) – sıralı erişimi optimize etmek için teknikler  PC performansını arttırmak için belleğin bir kısmı sanal disk veya RAM disk olarak ayrılır. Operating System Concepts – 8th Edition 11.29 Silberschatz, Galvin and Gagne ©2009 Kurtarma (Recovery) Tutarlılık kontrolü (Consistency checking) – klasör (dizin) yapısındaki veri ile diskteki veri bloklarını karşılaştırır ve tutarsızlıkları düzeltmeye çalışır Sistem programlarını kullanarak diskteki veriyi diğer depolama aygıtlarında yedekler (back up) (disket, manyetik teyp, diğer manyetik diskler, optik diskler, vs.) Kayıp dosya veya diski, yedekten veriyi alarak kurtarır Operating System Concepts – 8th Edition 11.34 Silberschatz, Galvin and Gagne ©2009 Kurtarma (Recovery) Kütük yapılı (Log structured (veya journaling)) dosya sistemleri dosya sistemindeki her güncellemeyi bir işlem (transaction) olarak kaydeder. Tüm işlemler bir kütüğe (log) yazılır  Kütüğe yazılan işlem yapılmış (committed) olarak kabul edilir  Buna rağmen, dosya sistemi henüz güncellenmemiş olabilir Kütükteki işlemler dosya sistemine eşzamansız (asenkron) olarak yazılır  Dosya sistemi değiştirildiğinde işlem kütükten kaldırılır Dosya sistemi çökerse kütükteki tüm kalan işlemler hala gerçekleştirilmek zorundadır Operating System Concepts – 8th Edition 11.35 Silberschatz, Galvin and Gagne ©2009 The Sun Network File System (NFS) LAN'lardaki (veya WAN) uzak dosyalara erişmek için bir yazılım sistemidir Sun iş istasyonlarında çalışan ve güvenilir olmayan bir datagram protokolü (UDP/IP protokolü ve Ethernet) kullanan Solaris ve SunOS işletim sistemlerinin bir parçasıdır Operating System Concepts – 8th Edition 11.36 Silberschatz, Galvin and Gagne ©2009 Ağ Dosya Sistemi (NFS) Birbirine bağlı işistasyonları, dosyaların paylaşılmasına izin verilen bağımsız dosya sistemlerine sahip bağımsız makineler kümesi olarak görülebilir.  Uzak bir klasör yerel bir dosya sistemi klasörü üzerine bağlanabilir (mount)  Bağlanan klasör yerel dosya sisteminin bir altağacı olarak görünür.  Uzak klasörün bağlama işlemi için uzak klasörün ana bilgisayar adı bilinmelidir  Ancak bu şekilde uzak klasördeki dosyalara açık bir şekilde erişilebilir  Erişim hakları onayı açısından, potansiyel olarak her dosya sistemi (veya dosya sistemindeki bir klasör) yerel bir klasör üzerine bağlanabilir Operating System Concepts – 8th Edition 11.37 Silberschatz, Galvin and Gagne ©2009 Ağ Dosya Sistemi (NFS) NFS farklı makineler, işletim sistemleri ve ağ mimarilerinden oluşan heterojen ortamlarda çalışmak için tasarlanmıştır. NFS spesifikasyonları bu ortamlardan bağımsızdır Bu bağımsızlık, iki uygulama-bağımsız arayüz arasında kullanılan Dış Veri Temsili (External Data Representation (XDR)) protokolü üzerine inşa edilen RPC yapıları kullanılması aracılığı ile sağlanmaktadır. NFS spesifikasyonu bağlama mekanizması servisleri ile güncel uzak dosya erişim servislerini birbirinden ayırabilir Operating System Concepts – 8th Edition 11.38 Silberschatz, Galvin and Gagne ©2009 Üç Bağımsız Dosya Sistemi Operating System Concepts – 8th Edition 11.39 Silberschatz, Galvin and Gagne ©2009 NFS'de Bağlama Mount Cascading mount S1:/usr/shared  U:/usr/local S2:/usr/dir2  U:usr/local/dir1 Operating System Concepts – 8th Edition 11.40 Silberschatz, Galvin and Gagne ©2009 NFS Bağlama Protokolü (NFS Mount Protocol) Sunucu ve istemci arasında ilk mantıksal bağlantıyı sağlar Bağlama işlemi uzak klasörün adının ve bunu içeren makinenin adının bağlanmasını içerir  Bağlama isteği ilgili RPC'ye eşlenir ve sunucu makinede çalışan bağlama sunucusuna iletilir  İhraç listesi (Export list) – sunucunun bağlama için ihraç ettiği yerel dosya sistemlerini (isimleri ve bunları bağlamasına izin verilen makine adları belirtilerek) tanımlar. İhraç listesine uygun bir bağlama isteği geldiğinde sunucu bir dosya tutucusu (file handle) (ilgili erişimler için bir anahtar) döndürür Dosya Tutucusu (File handle) – bir dosya sistemi tanımlayıcı ve ihraç edilen dosya sistemini tanımlamak için bir inode (UNIX dosya sisteminde nesneyi tanımlamak için bir veri yapısı) numarası Bağlama işlemi sadece kullanıcının görüşünü değiştirir, sunucuyu etkilemez Operating System Concepts – 8th Edition 11.41 Silberschatz, Galvin and Gagne ©2009 NFS Protokolü Uzak dosya işlemleri için bir uzak prosedür çağrıları (RPC) kümesi sağlar. Prosedürde aşağıdaki işlemler desteklenir:  Klasördeki bir dosyayı aramak  Klasör girdilerini okumak  Bağlantı ve klasörleri değiştirmek  Dosya özelliklerine erişmek  Dosyaları okumak ve yazmak Değiştirilen veri öncelikle sunucunun diskinde işlenmeli, sonra istemcilere döndürülmelidir (önbelleklemenin avantajları kaybolur) NFS protokolü koşutzamanlılık-kontrol mekanizmaları sağlamaz Operating System Concepts – 8th Edition 11.42 Silberschatz, Galvin and Gagne ©2009 NFS Mimarisinin Üç Ana Katmanı UNIX dosya sistemi arayüzü (open, read, write, ve close çağrılarına ve dosya tanımlayıcılara (file descriptors) bağlıdır) Sanal Dosya Sistemi (SDS) (Virtual File System (VFS)) katmanı – yerel dosyalar ile uzak dosyaları ayırır ve yerel dosyalar dosya sistemi tiplerine göre tekrar ayrılır  SDS, yerel istekleri dosya sistem tiplerine uygun olarak yönetmek için dosya sistemine özgü operasyonları aktive eder  Uzak istekler için NFS protokol prosedürlerini çağırır NFS servis katmanı – mimarinin en alt katmanıdır  NFS protokolünü uygular Operating System Concepts – 8th Edition 11.43 Silberschatz, Galvin and Gagne ©2009 NFS Mimarisi istemci sunucu sistem çağrı arayüzü SDS arayüzü SDS arayüzü diğer dosya UNIX UNIX NFS NFS sistemi dosya dosya istemci sunucu tipleri sistemi sistemi Operating System Concepts – 8th Edition 11.44 Silberschatz, Galvin and Gagne ©2009 Bölüm 11 Son Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 12: İkincil Depolama Yapısı Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 12: İkincil Depolama Yapısı Yığın Depolama Yapısına (Mass Storage Structure) Genel Bakış Disk Yapısı Disk Ekleme (Disk Attachment) Disk İş Planlaması Disk Yönetimi Değiş tokuş Alan yönetimi (Swap-Space Management) RAID Yapısı Stabil Depolama Uygulaması (Stable-Storage Implementation) Üçüncü Seviye Depolama Aygıtları (Tertiary Storage Devices) İşletim Sistemi Sorunları Performans Sorunları Operating System Concepts – 8th Edition 12.2 Silberschatz, Galvin and Gagne ©2009 Yığın Depolama Yapısına Genel Bakış Manyetik Teyp (Magnetic tape)  önceleri ikincil depolama ortamıydı  Göreceli olarak kalıcıdır ve büyük miktarda veri tutabilir  erişim zamanı yavaştır  rastgele erişim diske göre ~1000 kere daha yavaştır  genelde yedekleme, düzenli kullanılmayan verilerin depolanması ve sistemler arası transfer ortamı olarak kullanılır  Sırada (spool) tutulur ve önceki okuma-yazma kafasını ileri ve geri sarar  Veri kafanın altında ise transfer oranı diske yakındır  20-200GB depolama  Yaygın teknolojiler 4mm, 8mm, 19mm, LTO-2 ve SDLT Operating System Concepts – 8th Edition 12.3 Silberschatz, Galvin and Gagne ©2009 Yığın Depolama Yapısına Genel Bakış Modern bilgisayarlarda ikincil depolama manyetik diskler tarafından sağlanmaktadır.  Sürücüler saniyede 60 – 200 kere dönerler  Transfer oranı (Transfer rate) sürücü ile bilgisayar arasındaki veri akış oranıdır.  Konumlanma zamanı (rastgele erişim zamanı) (Positioning time (random- access time) disk kolunun istenen silindire gidiş zamanı (arama zamanı) (seek time) ve istenen sektörün disk kafası altında dönme zamanının (dönüş gecikmesi) (rotational latency) toplamıdır.  Kafa çarpışması (Head crash) disk kafasının disk alanı ile teması durumunda ortaya çıkar ve kötü sonuçlar doğurabilir Diskler çıkarılabilir Sürücü bilgisayara G/Ç veriyolu (I/O Bus) aracılığıyla bağlanır  Farklı veriyolları mevcuttur - EIDE, ATA, SATA, USB, Fibre Channel, SCSI  Bilgisayardaki Sunucu kontrolörü (Host controller) diskteki veya depolama dizisindeki disk kontrolörü ile konuşmak için veriyolunu kullanır Operating System Concepts – 8th Edition 12.4 Silberschatz, Galvin and Gagne ©2009 Hareketli Kafa Disk Mekanizması (Moving-head Disk Mechanism) iz (track) t eksen (spindle) kol parçası sektör s silindir c okuma yazma kafası plaka kol dönüş Operating System Concepts – 8th Edition 12.5 Silberschatz, Galvin and Gagne ©2009 Disk Yapısı Disk sürücüler mantıksal bloklardan oluşan tek boyutlu diziler şeklinde adreslenirler. Mantıksal blok en küçük transfer birimidir. Mantıksal blokların tek boyutlu dizisi diskteki sektörler içerisine sıralı olarak eşlenir.  Sektör 0 en dıştaki silindirin ilk izinin ilk sektörüdür.  Eşleme önce o iz, daha sonra bu silindirdeki diğer izler, daha sonra da en dıştakinden en içtekine doğru kalan silindirler sırası olmak üzere devam eder. Operating System Concepts – 8th Edition 12.6 Silberschatz, Galvin and Gagne ©2009 Disk Ekleme (Disk Attachment) Bilgisayarlar disk depolama alanlarına iki şekilde erişir:  G/Ç portları aracılığıyla  Uzaktaki bir sunucudaki dağıtık dosya sistemi aracılığıyla 1- Sunucuya eklenmiş depolamaya yerel G/Ç portları aracılığıyla erişilir Tipik masaüstü PC'lerde IDE, ATA veya SATA G/Ç veriyolu mimarisi kullanılır. Daha üst seviye bilgisayar ve sunucular ise SCSI veriyolunu kullanır. SCSI'nin kendisi bir veriyoludur ve bir kabloda 16 aygıta kadar yer alabilir. Sunucuda bir SCSI başlatıcısı (SCSI initiator) ve 15 adete kadar SCSI hedefinden (SCSI targets) (SCSI diskler) oluşur.  Her hedef 8 adete kadar mantıksal birim (aygıt kontrolörüne bağlı diskler) barındırabilir FC yüksek hızlı seri bir mimaridir ve optik fiber veya dört iletkenli bakır kabloda çalışır. İki tipi vardır:  24 bit'lik adres alanı kullanarak anahtarlanan – sunucuların birçok depolama birimine bağlandığı depolama alan ağları'nın (storage area networks (SAN)) temelidir.  126 aygıt için kullanılabilecek Aracılık Yapan Döngü (Arbitrated Loop (FC-AL)) olabilir th Operating System Concepts – 8 Edition 12.7 Silberschatz, Galvin and Gagne ©2009 Disk Ekleme (Disk Attachment) 2. Ağa Bağlı Depolama (Network-Attached Storage) Ağa Bağlı Depolama (Network-attached storage (NAS)) yerel bir bağlantı (veriyolu gibi) yerine ağ üzerinde yapılan depolamadır NFS ve CIFS yaygın protokollerdir Sunucu ve depolama arasında Uzak Prosedür Çağrıları (Remote Procedure Calls (RPC)) kullanılarak gerçekleştirilir Yeni iSCSI protokolü SCSI protokolünü taşımak için IP protokolünü kullanır Operating System Concepts – 8th Edition 12.8 Silberschatz, Galvin and Gagne ©2009 Depolama Alan Ağı (Storage Area Network) Büyük depolama ortamlarında yaygındır Çoklu sunucular çoklu depolama dizilerine bağlıdır - esnek Operating System Concepts – 8th Edition 12.9 Silberschatz, Galvin and Gagne ©2009 Disk İş Planlaması İşletim sistemi donanımı verimli kullanmaktan sorumludur – disk sürücüler için bu hızlı bir erişim zamanı ve disk bant genişliğine (bandwidth) sahip olmak anlamına gelir. Erişim zamanın iki ana bileşeni mevcuttur:  Arama zamanı (Seek time) diskin kafaları istenen sektörün bulunduğu silindire götürmesi için gereken zamandır  Dönüşsel gecikme (Rotational latency) ise diskin istenen sektörü disk kafasına döndürmesi için beklenen ek süredir Arama zamanı minimize edilmelidir Arama zamanı ≈ Arama uzaklığı Disk bant genişliği ise transfer edilen toplam byte sayısının ilk servis isteği ile son transferin bitmesi arasında geçen toplam zamana bölünmesidir. Operating System Concepts – 8th Edition 12.10 Silberschatz, Galvin and Gagne ©2009 Disk İş Planlaması Disk G/Ç isteklerini gerçekleştirmek için farklı algoritmalar mevcuttur Bunları örnek bir istek kuyruğu üzerinde inceleyelim (0-199 silindirlerdeki blok sayıları). 98, 183, 37, 122, 14, 124, 65, 67 Kafa işaretçisi (Head pointer) pozisyonu : 53 Operating System Concepts – 8th Edition 12.11 Silberschatz, Galvin and Gagne ©2009 FCFS (First-Come First-Served) Gösterimde 640 toplam kafa hareketi gösterilmektedir Operating System Concepts – 8th Edition 12.12 Silberschatz, Galvin and Gagne ©2009 SSTF (Shortest Seek Time First) Mevcut kafa pozisyonu için minimum arama zamanına sahip isteği seçer. SSTF iş planlaması SJF iş planlama algoritmasının bir biçimidir. Bazı istekler için açlığa (starvation) sebep olabilir. Operating System Concepts – 8th Edition 12.13 Silberschatz, Galvin and Gagne ©2009 SSTF Gösterimde toplam kafa hareketleri 236'dır. Operating System Concepts – 8th Edition 12.14 Silberschatz, Galvin and Gagne ©2009 SCAN Disk kolu diskin başı ya da sonunda bulunarak başlar ve servis vermeye diskin diğer ucuna gidinceye kadar devam eder ve buraya ulaşınca diğer yöne doğru çalışmaya devam eder. Bazen asansör algoritması (elevator algorithm) olarak da adlandırılır. Operating System Concepts – 8th Edition 12.15 Silberschatz, Galvin and Gagne ©2009 SCAN Gösterimde 236 toplam kafa hareketi görülmektedir. Operating System Concepts – 8th Edition 12.16 Silberschatz, Galvin and Gagne ©2009 C-SCAN (Circular SCAN) SCAN'e göre daha değişmeyen (uniform) bekleme zamanı sunar. Kafa diskin bir ucundan diğer ucuna doğru hareket eder. Hareket ettikçe servis verir. Diğer uca ulaştığında dönüş yolunda hiç servis vermeden hemen diskin başına döner. Silindirlere son silindirden ilk silindire doğru bir dairesel liste gibi davranır. Operating System Concepts – 8th Edition 12.17 Silberschatz, Galvin and Gagne ©2009 C-SCAN Gösterimde 383 toplam kafa hareketi görülmektedir. Operating System Concepts – 8th Edition 12.18 Silberschatz, Galvin and Gagne ©2009 LOOK SCAN'ın bir versiyonudur. Kol yalnızca her yöndeki son isteğe kadar gider, sonra hemen geri döner. Önce diskin sonuna kadar gitmesi gerekmez. Operating System Concepts – 8th Edition 12.19 Silberschatz, Galvin and Gagne ©2009 C-LOOK C-SCAN'ın bir versiyonudur. Kol yalnızca her yöndeki son isteğe kadar gider, sonra hemen geri döner. Önce diskin sonuna kadar gitmesi gerekmez. Operating System Concepts – 8th Edition 12.20 Silberschatz, Galvin and Gagne ©2009 C-LOOK Gösterimde 322 toplam kafa hareketi görülmektedir. Operating System Concepts – 8th Edition 12.21 Silberschatz, Galvin and Gagne ©2009 Disk İş Planlaması Algoritması Seçimi SSTF yaygındır ve FCFS'ye göre daha yüksek performansa sahiptir SCAN ve C-SCAN disk üzerinde ağır yük olan sistemlerde daha iyi çalışır Performans, isteklerin sayısı ve tipine göre değişir Disk servis istekleri, dosya tahsis metodundan (ardışık veya bağlı liste vb.) etkilenmektedir  Ardışık dosya tahsisinde kafa hareketi sayısı daha az olur  Bağlı listede ise daha fazla kafa hareketi olur Disk iş planlaması algoritması, gerektiğinde farklı bir algoritma kullanılabilmeye izin verecek şekilde işletim sisteminin ayrı bir modülü olarak yazılmalıdır SSTF veya LOOK varsayılan algoritma olarak iyi bir seçimdir Operating System Concepts – 8th Edition 12.22 Silberschatz, Galvin and Gagne ©2009 Disk Yönetimi Alt Seviye Biçimlendirme (Low-level formatting) veya Fiziksel Biçimlendirme (physical formatting) — Diski disk kontrolörünün okuyup yazabileceği şekilde sektörlere bölmek Bir diski dosyaları tutacak şekilde kullanmak için, işletim sistemi kendi veriyapılarını diske kaydetmelidir.  Bölüm (Partition) - diskin bir veya daha fazla silindir grubuna bölünmesi  Mantıksal Biçimlendirme (Logical formatting) veya "bir dosya sistemi yaratmak" Başlatma Bloğu (Boot block) sistemi başlatır  Önyükleyici (bootstrap) ROM içerisinde kayıtlıdır  Önyükleyici yükleme (Bootstrap loader) programı Sektör yedekleme (sector sparing) gibi metotlar bozuk blokları idare etmek için kullanılır. Operating System Concepts – 8th Edition 12.23 Silberschatz, Galvin and Gagne ©2009 Windows 2000'de Diskten Başlatma Operating System Concepts – 8th Edition 12.24 Silberschatz, Galvin and Gagne ©2009 Değiş Tokuş Alanı Yönetimi (Swap-Space Management) Değiş Tokuş Alanı (Swap-space) — Sanal bellek disk alanını ana belleğin bir uzantısı gibi kullanır Değiş tokuş alanı normal dosya sisteminden bölünür ya da (daha yaygın olarak) ayrı bir disk bölümü (disk partition) olabilir Değiş tokuş alanı Yönetimi  4.3 BSD, süreç başlarken değiş tokuş alanını tahsis eder. Metin segmenti (program) ve veri segmentini tutar.  Çekirdek (Kernel) değiş tokuş alanı kullanımını izlemek için değiş tokuş haritalarını (swap map) kullanır.  Solaris 2, sanal bellek sayfası ilk yaratıldığında değil, sayfa fiziksel bellekten dışarı çıkartılırken değiş tokuş alanını tahsis eder. Operating System Concepts – 8th Edition 12.25 Silberschatz, Galvin and Gagne ©2009 RAID Yapısı RAID – çoklu disk sürücüler tekrarlama (redundancy) yoluyla güvenilirlik (reliability) sağlar RAID (Redundant Arrays of Independent Disks) altı farklı seviyeye ayrılmıştır Disk güvenliğinin ve performansının arttırmak için ortaya çıkartılmış disk organizasyon biçimleridir. Temel fikir birden fazla diski bilgisayara eklemek ve bu disklerin tek bir disk gibi davranmasını sağlamaktır. RAID işlemlerini RAID kontrolcü gerçekleştirir. Veriler RAID disklerde paylaştırılırlar bu yüzden paralel işlem gerçekleştirmek mümkündür. Verilerin diskler üzerinde dağılımlarında farklı şemalar bulunur. Operating System Concepts – 8th Edition 12.26 Silberschatz, Galvin and Gagne ©2009 RAID Disk kullanım tekniklerindeki gelişmeler ile çoklu disklerin birlikte çalışması sağlanmıştır. Disk şeritleme (Disk striping) bir grup diski tek bir depolama birimi olarak kullanır.  Bit level striping her byte'taki bit'leri farklı disklere böler  Block level striping bir dosyanın bloklarını farklı disklere böler RAID şemaları performansı ve tekrarlayan veri kaydederek depolama sisteminin güvenilirliğini arttırır.  Aynalama (Mirroring) veya Gölgeleme (shadowing) her diskin kopyasını tutar.  Blok karıştıran parite (Block interleaved parity) daha az tekrarlama kullanır Operating System Concepts – 8th Edition 12.27 Silberschatz, Galvin and Gagne ©2009 RAID RAID Level 0: Sanal disk her birinde k adet sektör bulunan şeritlere (strip) bölünür. (0, k-1) sektörleri Strip0 da, (k,2k-1)sektörleri Strip1 de,... bulunur. Veri striplere bölünerek farklı striplere yazılır. Veri aynı anda farklı disklere yazılır ve okunur. Veri okuma ve yazma hızı yüksektir. Disklerden bir tanesi arızalanırsa, veriler kaybolur. Operating System Concepts – 8th Edition 12.28 Silberschatz, Galvin and Gagne ©2009 RAID RAID Level 1: Aynalanmış (Yansımalı) diskler. Her diskin bir kopya diskli bulunur. Kopya diski birinci diskin verilerini birebir yedekler. Yazma işlemi iki diske birden yapılır. Yazma performansı iyi değildir. Okuma performansı iyidir. Bir disk arızalandığı zaman diğer disk hemen kullanılır. Onarma işleminde arızalı diskin yerine yenisi konulur ve sağlam olan disk birebir bu diske kopyalanır. Operating System Concepts – 8th Edition 12.29 Silberschatz, Galvin and Gagne ©2009 RAID Seviyeleri (a) RAID 0: tekrarlamayan şeritleme (b) RAID 1: yansımalı (mirrored) diskler (c) RAID 2: bellek tipi hata düzeltici kodlar (d) RAID 3: bit-karıştırılmış parite (e) RAID 4: blok-karıştırılmış parite (f) RAID 5: blok-karıştırılmış dağıtık parite C: Kopya P: Hata düzeltme bitleri (Parite) (g) RAID 6: P + Q tekrarlama Operating System Concepts – 8th Edition 12.30 Silberschatz, Galvin and Gagne ©2009 RAID (0 + 1) ve (1 + 0) Şerit (stripe) ayna şerit Şerit (stripe) a) RAID 0 + 1 tek bir disk hatası ile Şerit (stripe) ayna ayna ayna ayna b) RAID 1 + 0 tek bir disk hatası ile Operating System Concepts – 8th Edition 12.31 Silberschatz, Galvin and Gagne ©2009 Üçüncü Seviye Depolama Aygıtları Genellikle üçüncü seviye depolama, taşınabilir ortamlar kullanılarak gerçekleştirilir ve maliyet önemlidir Yaygın örnekleri, CD-ROM, DVD-ROM, Flash bellek ve disketlerdir. Operating System Concepts – 8th Edition 12.33 Silberschatz, Galvin and Gagne ©2009 Taşınabilir Diskler Floppy disk — manyetik materyalle kaplanmış ince esnek bir disktir ve plastik bir kap içindedir.  Çoğu floppy disk 1.44 MB civarında veri saklar ve bozulma riski yüksektir Operating System Concepts – 8th Edition 12.34 Silberschatz, Galvin and Gagne ©2009 Taşınabilir Diskler Manyeto-optik diskler manyetik bir materyalle kaplanmış bir plaka üzerinde veri saklarlar.  Bit kaydetmek için zayıf bir manyetik alan lazer ısısı kullanılarak yükseltilir.  Lazer ışığı veri okumak için de kullanılır (Kerr effect). Optik diskler ise manyetizma kullanmaz; lazer ışığı ile değiştirilebilen özel materyaller barındırırlar. Operating System Concepts – 8th Edition 12.35 Silberschatz, Galvin and Gagne ©2009 WORM Diskler Okuma-yazma disklerindeki veri tekrar tekrar değiştirilebilir. WORM (“Write Once, Read Many Times”) (Bir kere yaz, birçok kere oku) disklerine ise sadece bir kere yazılabilir. İnce alüminyum film iki cam veya plastik plakanın arasında sıkıştırılmıştır. Bir bit yazmak için sürücü lazer ışını kullanarak alüminyum üzerinde küçük bir delik açar; bilgi silinemez veya değiştirilemez. Çok dayanıklı ve güvenilirdir. Salt Okunur (Read Only) diskler (CD-ROM ve DVD) fabrikadan önceden kaydedilmiş veri ile gelirler. Operating System Concepts – 8th Edition 12.36 Silberschatz, Galvin and Gagne ©2009 Teypler Diskle karşılaştırıldığında teyp daha ucuzdur ve daha fazla veri tutar; ancak rastgele erişim daha yavaştır. Teypler hızlı rastgele erişime ihtiyaç duyulmayan durumlarda ekonomik bir ortamdır. (Ör., disk verisini yedeklenmesi, büyük miktarda veri tutulması) Büyük teyp kurulumları genelde robotik teyp değiştiriciler kullanarak teyplerin teyp sürücüleri arasında ve depolama slotlarında hareketini sağlar.  Yığınlayıcı (stacker) – az miktarda teyp barındıran kütüphane  Silo – binlerce teyp barındıran kütüphane Operating System Concepts – 8th Edition 12.37 Silberschatz, Galvin and Gagne ©2009 Üçüncü Seviye Depolama Aygıtları İşletim Sistemi Konuları Temel İşletim Sistemi işleri fiziksel sürücülerin yönetilmesi ve uygulamalar için bir sanal makine soyutlaması sunmaktır Sabit diskler için İşletim Sistemi iki soyutlama sunar:  Ham aygıt (Raw device) – veri blokları dizisi  Dosya Sistemi (File system) – İşletim sistemi farklı uygulamalardan gelen karışık istekleri planlar ve sıralar Operating System Concepts – 8th Edition 12.38 Silberschatz, Galvin and Gagne ©2009 Üçüncü Seviye Depolama Aygıtları Uygulama Arayüzü (Application Interface) Birçok İşletim sistemi taşınabilir diskleri sabit disk olarak kabul ederler – yeni bir disk önce biçimlendirilir ve disk üzerinde boş bir dosya sistemi yaratılır. Teypler ham depolama ortamı olarak sunulmuşlardır. Uygulama teypdeki bir dosyayı açmaz, tüm teyp sürücüsü ham bir sürücü olarak açılır. Operating System Concepts – 8th Edition 12.39 Silberschatz, Galvin and Gagne ©2009 Üçüncü Seviye Depolama Aygıtları Teyp Sürücüler Bir teyp sürücüsündeki temel işlemler disk sürücüdekilerden farklılık gösterir. locate teybi spesifik bir mantıksal bloğa götürür, bütün ize değil (seek 'e denk gelir) read position işlemi teyp kafasının bulunduğu mantıksal blok numarasını döndürür. space işlemi harekete izin verir. Teyp sürücüler "sadece sonuna eklenebilir" (“append-only”) aygıtlardır; teybin ortasındaki bir bloğu güncellemek bu bloğun arkasındaki herşeyi siler. Blok bittikten sonra bir EOT (End Of Track (İz Sonu)) işareti konulur. Operating System Concepts – 8th Edition 12.40 Silberschatz, Galvin and Gagne ©2009 Dosya Adlandırma (File Naming) Taşınabilir ortamlardaki dosyaların adlandırılması bir bilgisayardaki bir taşınabilir ortama yazıp, sonra bu ortamı başka bir bilgisayarda kullanmak istediğimizde sorun olabilir. Güncel İşletim Sistemleri genellikle taşınabilir ortamlardaki isim alanı (name space) problemini çözümsüz bırakırlar ve bunun çözümünü uygulamalar ve kullanıcılara bırakırlar. Bazı taşınabilir ortamlar (ör., CD'ler) iyi standardize edilmişlerdir, böylece tüm bilgisayarlar bunları aynı şekilde kullanırlar. Operating System Concepts – 8th Edition 12.41 Silberschatz, Galvin and Gagne ©2009 Hiyerarşik Depolama Yönetimi (HDY) (Hierarchical Storage Management (HSM)) Hiyerarşik bir depolama sistemi depolama hiyerarşisini genişleterek üçüncül depolamayı da dahil eder. Genellikle bunu dosya sistemini genişleterek gerçekleştirirler.  Küçük ve sık kullanılan dosyalar diskte kalır.  Büyük, eski, aktif olmayan dosyalar ise arşivlenirler. HDYler genellikle süperbilgisayar merkezleri ve diğer büyük kurulumlar gibi çok büyük miktarda veri bulunduran sistemlerde bulunurlar. Operating System Concepts – 8th Edition 12.42 Silberschatz, Galvin and Gagne ©2009 Hız Üçüncül depolamada iki hız bileşeni bant genişliği (bandwidth) ve gecikmedir (latency). Bant genişliği saniye başına byte ile ölçülür.  Sürekli Bant Genişliği (Sustained bandwidth) – büyük bir transfer sırasında ortalama veri oranı; byte sayısı / transfer zamanı.  Sistemin akışının aktığı durumdaki veri oranıdır  Efektif Bant Genişliği (Effective bandwidth) – arama veya konumlama ve kartuş değiştirme dahil tüm G/Ç zamanı boyunca gerçekleşen ortalamadır.  Sürücünün genel veri oranıdır. Operating System Concepts – 8th Edition 12.43 Silberschatz, Galvin and Gagne ©2009 Hız Erişim Gecikmesi (Access latency) – verinin yerinin bulunması için gerekli zaman miktarı.  Bir disk için erişim zamanı – kolu seçilen silindire götürüp dönüşsel gecikmenin beklenmesi; < 35 milliseconds.  Teypdeki erişimde ise teyp kafası istenen bloğa gelinceye kadar teyp tekerleklerinin sarılması; onlarca veya yüzlerce saniye.  Genellikle bir teypdeki rastgele erişim bir diskteki rastgele erişime göre bin kere yavaştır. Üçüncül depolamanın düşük maliyeti sonucunda birçok ucuz medya tek bir pahalı sürücünün yerine kullanılır. Operating System Concepts – 8th Edition 12.44 Silberschatz, Galvin and Gagne ©2009 Güvenilirlik Bir sabit disk sürücüsü taşınabilir veya bir teyp sürücüsüne göre daha güvenilirdir. Bir optik ortam manyetik veya teybe göre daha güvenilirdir. Sabit diskte oluşacak bir kafa çarpması genellikle veriyi yok ederken, optik disk sürücüsü veya teyp sürücüsünde veri hasar görmez. Operating System Concepts – 8th Edition 12.45 Silberschatz, Galvin and Gagne ©2009 Maliyet Anabellek, disk depolamadan çok daha pahalıdır Her sürücü için bir teyp kullanılıyorsa sabitdisk depolamanın megabyte başına maliyeti manyetik teyp ile yakındır En ucuz teyp sürücüler ile en ucuz disk sürücüler yıllar geçtikçe aynı depolama kapasitesine sahip oldular Operating System Concepts – 8th Edition 12.46 Silberschatz, Galvin and Gagne ©2009 DRAM için Megabyte Başına Fiyat , 1981 - 2004 Operating System Concepts – 8th Edition 12.47 Silberschatz, Galvin and Gagne ©2009 Manyetik Sabitdisk İçin Megabyte Başına Fiyat, 1981 - 2004 Operating System Concepts – 8th Edition 12.48 Silberschatz, Galvin and Gagne ©2009 Teyp Sürücüsü İçin Megabyte Başına Fiyat, 1984-2000 Operating System Concepts – 8th Edition 12.49 Silberschatz, Galvin and Gagne ©2009 Bölüm 12 Son Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 8: Bellek Yönetim Stratejileri Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Bölüm 8: Bellek Yönetim Stratejileri Altyapı Değiş tokuş (Swapping) Ardışık Bellek Tahsisi (Contiguous Memory Allocation) Sayfalama (Paging) Sayfa Tablosunun Yapısı Parçalama - Segmentasyon (Segmentation) Örnek: The Intel Pentium Operating System Concepts – 8th Edition 8.2 Silberschatz, Galvin and Gagne ©2009 Altyapı Program, belleğe (diskten) getirilmiş ve çalıştırılmak için bir sürecin içine yerleştirilmiş olmalı Ana bellek ve Kayıtçılar (register) CPU'nun direk olarak erişebildiği tek depolama alanlarıdır Kayıtçıya bir CPU saat çevriminde (veya daha az sürede) erişilir Ana belleğe erişim ise daha uzun çevrimler sürebilir Önbellek (Cache), erişim süresi açısından ana bellek ve CPU kayıtçılarının arasında yer alır Belleğin korunması için doğru işlemenin garanti edilmesi gereklidir Operating System Concepts – 8th Edition 8.3 Silberschatz, Galvin and Gagne ©2009 Taban (Base) ve Limit Kayıtçıları Mantıksal adres alanını tanımlamak için bir çift taban (base) ve limit kayıtçısı kullanılır İşletim sistemi süreç taban süreç süreç Operating System Concepts – 8th Edition 8.4 Silberschatz, Galvin and Gagne ©2009 Belleğe Veri ve Komutların Bağlanması Komut ve verilerin bellek adreslerine bağlanması üç aşamada gerçekleşebilir  Derleme Zamanında (Compile time): Eğer bellek yeri önceden biliniyorsa, kesin kod (absolute code) üretilmelidir; ancak başlangıç yeri değişirse kod yeniden derlenmelidir.  Yükleme Zamanında (Load time): Bellek yeri derleme zamanında biliniyorsa yer değiştirebilir kod (relocatable code) üretilmelidir  Çalışma Zamanında (Execution time): Eğer süreç çalışma anında bir bellek segmentinden diğerine tanışabiliyorsa bağlama işlemi çalıştırma zamanına kadar ertelenmelidir. Adres haritaları için donanım desteğine ihtiyaç vardır (ör., taban ve limit kayıtçıları) Operating System Concepts – 8th Edition 8.5 Silberschatz, Galvin and Gagne ©2009 Bir Kullanıcı Programının Adım Adım İşlenmesi kaynak program derleyici veya derleme assembler zamanı nesne diğer nesne modülü modülleri Bağlama editörü yükleme yükleme modülü sistem kütüphanesi zamanı Dinamik yükleyici Yüklenen Sistem kütüphanesi dinamik Bellekteki çalışma İkili (binary) bağlama bellek imajı zamanı Operating System Concepts – 8th Edition 8.6 Silberschatz, Galvin and Gagne ©2009 Mantıksal – Fiziksel Adres Alanı Bellek yönetiminin merkezinde, ayrı fiziksel adres alanına bağlanmış bir mantıksal adres alanı kavramı bulunmaktadır.  Mantıksal adres (Logical address) – CPU tarafından yaratılır; genellikle sanal adres (virtual address) olarak tanımlanır.  Fiziksel adres (Physical address) – bellek ünitesi tarafından görülen adrestir. Mantıksal ve fiziksel adresler derleme zamanı ve yükleme zamanı adres bağlama şemalarında aynıdır. Mantıksal (sanal) ve fiziksel adresler çalışma zamanı adres bağlama şemasında farklıdırlar. Operating System Concepts – 8th Edition 8.7 Silberschatz, Galvin and Gagne ©2009 Bellek Yönetim Ünitesi (BYU) Memory-Management Unit (MMU) Fiziksel adreslerle, sanal adresleri birbirine eşleyen donanımdır. BYU (MMU) şemasında, yer değiştirme kayıtçısındaki (relocation register) değer, her kullanıcı süreci tarafından belleğe gönderildiği anda üretilen adrese eklenir. Kullanıcı programları mantıksal adreslerle ilgilenir, asla gerçek fiziksel adresi görmezler. Operating System Concepts – 8th Edition 8.8 Silberschatz, Galvin and Gagne ©2009 Yer Değiştirme Kayıtçısı Kullanarak Dinamik Yer Değiştirme Operating System Concepts – 8th Edition 8.9 Silberschatz, Galvin and Gagne ©2009 Dinamik Yükleme (Dynamic Loading) Rutin, çağrılana kadar yüklenmez Daha iyi bellek alanı kullanımı - kullanılmayan rutinler asla yüklenmez Düzensiz ortaya çıkan durumları yönetmek için büyük miktarda kod kullanımına ihtiyaç duyulduğu zamanlarda faydalıdır. Program tasarımı tarafından uygulanır, işletim sisteminden özel bir desteğe ihtiyaç duyulmaz. Operating System Concepts – 8th Edition 8.10 Silberschatz, Galvin and Gagne ©2009 Dinamik Bağlama (Dynamic Linking) Bağlama işlemi çalışma zamanına kadar ertelenir Bellekte kalıcı uygun kütüphane rutininin yerini belirlemek için Küçük bir kod parçası, koçan (stub), kullanılır. Koçan kendisini rutinin adresi ile değiştirir ve rutini çalıştırır Rutinin süreçlerin bellek adreslerinde yer alıp almadığının kontrolü için işletim sistemi gereklidir Dinamik bağlama kısmen kütüphaneler için faydalıdır Bu sistem aynı zamanda paylaşılan kütüphaneler (shared libraries) olarak da bilinir Operating System Concepts – 8th Edition 8.11 Silberschatz, Galvin and Gagne ©2009 Değiş Tokuş (Swapping) Bir süreç geçici olarak bellekten bir yardımcı belleğe (backing store) ve daha sonra tekrar belleğe alınarak çalışmasına devam ettirilebilir Yardımcı Bellek (Backing store) – tüm kullanıcıların bellek imajlarının kopyalarını tutmaya yeterli büyüklükte hızlı disktir. Bu bellek imajlarına direk erişim sağlamalıdır. Bellekten yollamak (Roll out), Belleğe getirmek (Roll in) – öncelik tabanlı iş planlama algoritmaları için kullanılan değiş tokuş varyantıdır. Düşük öncelikli süreç bellekten yollanırken, daha yüksek öncelikli süreç yüklenir ve çalıştırılır Değiş tokuş zamanının ana parçası transfer zamanıdır. Toplam transfer zamanı, değiş tokuş edilecek bellek miktarı ile doğru orantılıdır. Birçok sistemde (ör., UNIX, Linux, ve Windows) değiş tokuşun değiştirilmiş versiyonları bulunur Sistem, disk üzerinde bellek imajları bulunan koşturulmaya hazır süreçlerin bulunduğu bir hazır kuyruğu bulundurur. Operating System Concepts – 8th Edition 8.12 Silberschatz, Galvin and Gagne ©2009 Değiş tokuşun (Swapping) Şematik Gösterimi Operating System Concepts – 8th Edition 8.13 Silberschatz, Galvin and Gagne ©2009 Ardışık Tahsis (Contiguous Allocation) Ana bellek genellikle iki bölümdür:  Kalıcı işletim sistemi, genellikle kesme vektörü ile alt bellekte tutulur  Kullanıcı süreçleri üst bellekte tutulur Yer değiştirme kayıtçıları (Relocation registers) kullanıcı süreçlerinin birbirinden korumak ve işletim sistemi kod ve verilerini değiştirmelerini önlemek için kullanılırlar  Taban kayıtçısı (Base register) en küçük fiziksel adres değerini içerir  Limit kayıtçısı (Limit register) mantıksal adres sınırını içerir – her mantıksal adres limit kayıtçısından küçük olmalıdır  MMU, mantıksal adresleri dinamik olarak kapsar Operating System Concepts – 8th Edition 8.14 Silberschatz, Galvin and Gagne ©2009 Yer Değiştirme ve Limit Kayıtçıları İçim Donanım Desteği Operating System Concepts – 8th Edition 8.15 Silberschatz, Galvin and Gagne ©2009 Ardışık Tahsis (Contiguous Allocation) (Devam) Çoklu-bölüm tahsisi (Multiple-partition allocation)  Delik (Hole) – mevcut bellek bloğu, değişik boyutlardaki delikler tarafından parçalanmıştır  Bir süreç geldiğinde, bellekte bunu karşılayacak büyüklükte bir deliğe yerleştirilir  İşletim sistemi aşağıdakiler hakkında bilgi tutar: a) tahsis edilmiş bölümler (allocated partitions) b) boş bölümler (delik(hole)) OS OS OS OS process 5 process 5 process 5 process 5 process 9 process 9 process 8 process 10 process 2 process 2 process 2 process 2 Operating System Concepts – 8th Edition 8.16 Silberschatz, Galvin and Gagne ©2009 Dinamik Depolama-Tahsis Problemi n boyutundaki bir isteği serbest delik listesinden nasıl karşılarız İlk-uyan (First-fit): Yeterli büyüklükteki ilk deliğe tahsis et En iyi-uyan (Best-fit): Yeterli büyüklükteki en küçük deliğe tahsis et; boyuta göre sıralanmamış olsa bile tüm listenin aranması gerekmektedir  En küçük kalan deliği üretir En kötü-uyan (Worst-fit): En büyük deliği tahsis et; bunda da tüm listenin aranması gerekir  En büyük kalan deliği üretir İlk-uyan ve En iyi-uyan hız ve depolama kullanımı açısından En kötü-uyan'dan daha iyidir Operating System Concepts – 8th Edition 8.17 Silberschatz, Galvin and Gagne ©2009 Parçalanma (Fragmentation) Dış Parçalanma (External Fragmentation) – isteği karşılamak için toplam bellek alanı mevcuttur, ancak ardışık değildir İç Parçalanma (Internal Fragmentation) – tahsis edilen bellek istenen bellekten biraz daha büyüktür; bu boyut farkı bellekteki bölümün içindedir ancak kullanılmamaktadır. Dış parçalanma sıkıştırma (compaction) kullanarak azaltılabilir  Bellek içeriklerini tüm serbest bellek büyük bir blok oluşturacak şekilde yer değiştirmek  Sıkıştırma sadece yer değiştirme dinamik ise mümkündür ve çalışma zamanında gerçekleştirilir  G/Ç problemi  İşi G/Ç durumunda iken bellekte tuttur  G/Ç'ı sadece İşletim Sisteminin tamponlarına gerçekleştir Operating System Concepts – 8th Edition 8.18 Silberschatz, Galvin and Gagne ©2009 Sayfalama (Paging) Bir sürecin mantıksal adres alanı bitişik olmayabilir; bir sonraki mevcut olduğu zaman süreç fiziksel belleğe yerleştirilir Fiziksel bellek çerçeve (frames) adı verilen sabit boyutlu bloklara (boyut 2'nin üsleri şeklindedir, 512 byte ile 16 MB arasında olabilir) bölünür. Mantıksal bellek ise sayfa (pages) adı verilen aynı boyutta bloklara bölünür. Tüm serbest (boş) çerçevelerin (frames) kaydı tutulur n sayfa boyutundaki bir programı çalıştırmak için, n adet boş çerçeve bulmaya ve programı yüklemeye ihtiyaç vardır Mantıksal adresleri fiziksel adreslere dönüştürmek için bir sayfa tablosu kurulur İç parçalanma Operating System Concepts – 8th Edition 8.19 Silberschatz, Galvin and Gagne ©2009 Adres Dönüşüm Şeması CPU tarafından üretilen adresler:  Sayfa numarası (Page number) (p) – fiziksel bellekteki he sayfanın (page) taban adresini tutmak için sayfa tablosunda bir endeks olarak kullanılır.  Sayfa ofseti (Page offset) (d) – taban adresi ile birlikte bellek ünitesine gönderilecek fiziksel bellek adresini tanımlamak için kullanılır Sayfa numarası Sayfa ofseti p d m-n n  Verilen mantıksal adres alanı 2m ve sayfa boyutu 2n Operating System Concepts – 8th Edition 8.20 Silberschatz, Galvin and Gagne ©2009 Sayfalama Donanımı Mantıksal Fiziksel Adres Adres Fiziksel Bellek Sayfa tablosu Operating System Concepts – 8th Edition 8.21 Silberschatz, Galvin and Gagne ©2009 Mantıksal ve Fiziksel Belleğin Sayfalama Modeli Çerçeve numarası Sayfa Tablosu Mantıksal Bellek Fiziksel Bellek Operating System Concepts – 8th Edition 8.22 Silberschatz, Galvin and Gagne ©2009 Sayfalama Örneği 0 0 1 1 2 2 Sayfa Tablosu 3 3 Mantıksal Bellek 4 5 6 7 Fiziksel Bellek 32-byte bellek ve 4-byte sayfalar Operating System Concepts – 8th Edition 8.23 Silberschatz, Galvin and Gagne ©2009 Boş (Serbest) Çerçeveler Boş Çerçeve Listesi Boş Çerçeve Listesi Yeni süreç sayfa tablosu Tahsisten önce Tahsisten sonra Operating System Concepts – 8th Edition 8.24 Silberschatz, Galvin and Gagne ©2009 Sayfa Tablosu Uygulaması Sayfa Tablosu ana bellekte tutulur Sayfa Tablosu Taban Kayıtçısı (Page-table base register) (PTBR) sayfa tablosunu gösterir Sayfa Tablosu Uzunluk Kayıtçısı (Page-table length register) (PRLR) ise sayfa tablosunun boyutunu belirtir Bu şemada her veri/komut erişimi iki bellek erişimine ihtiyaç duyar. Bir tanesi sayfa tablosu, diğeri de veri/komut için. İki bellek erişim problemi ilişkili bellek (associative memory) veya dönüşüm bakış tamponları (translation look-aside buffers (TLBs)) adı verilen özel bir hızlı bulma donanım önbelleği kullanımı ile çözülebilir Bazı TLB'ler her TLB girişinde adres alanı belirleyiciler (address-space identifiers (ASIDs)) tutar. Bunlar her süreç için adres alanı koruması sağlayarak süreçleri ayırt ederler. Operating System Concepts – 8th Edition 8.25 Silberschatz, Galvin and Gagne ©2009 İlişkili Bellek (Associative Memory) İlişkili bellek – paralel arama Sayfa no Çerçeve no Adres dönüşümü (p, d)  Eğer p, ilişkili kayıtçıda (associative register) ise çerçeve numarasını al  Diğer durumda çerçeve numarasını bellekteki sayfa tablosundan al Operating System Concepts – 8th Edition 8.26 Silberschatz, Galvin and Gagne ©2009 TLB ile Sayfalama Donanımı mantıksal adres Sayfa Çerçeve No No TLB'de var fiziksel adres TLB'de yok Fiziksel bellek Sayfa Tablosu Operating System Concepts – 8th Edition 8.27 Silberschatz, Galvin and Gagne ©2009 Verimli Erişim Süresi İlişkili Arama (Associative Lookup) =  zaman birimi Bellek çevrim süresini ise "t" mikrosaniye olarak düşünelim Bulma oranı (Hit ratio) – sayfa numarasının ilişkili kayıtçılarda bulunma oranı; oran ilişkili kayıtçı sayısına bağımlıdır Bulma oranı =  Verimli Erişim Süresi (Effective Access Time) (EAT) EAT = (t+ )  + (2t + )(1 – ) = (2t +  – t) Operating System Concepts – 8th Edition 8.28 Silberschatz, Galvin and Gagne ©2009 Örnek( TLB) %80 bulma oranına sahip demek istenen sayfanın TLB'de %80 oranında bulunabildiğini gösterir. Örneğin TLB'yi aramak 20 nanosaniye, belleğe erişim de 100 nanosaniye olsun, bu durumda sayfa numarası TLB'de mevcut ise erişim süresi 120 nanosaniye olur. Eğer sayfa numarası TLB'de bulunamazsa (20 nanosaniye) bu durumda önce bel

Use Quizgecko on...
Browser
Browser