1 / 57

Chapter 9: Bellek Yönetimi

Chapter 9: Bellek Yönetimi. Genel bilgiler Konum değiştirme Yan yana yerleştirme Yer Değiştirme Bölütleme Sayfalama ile Bölütleme. Genel Bilgiler. Program hafızaya çağrılmalı ve çalıştırmak için bir düreçten geçirilmelidir.

joey
Download Presentation

Chapter 9: Bellek Yönetimi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 9: Bellek Yönetimi • Genel bilgiler • Konum değiştirme • Yan yana yerleştirme • Yer Değiştirme • Bölütleme • Sayfalama ile Bölütleme Operating System Concepts

  2. Genel Bilgiler • Program hafızaya çağrılmalı ve çalıştırmak için bir düreçten geçirilmelidir. • Girdi sırası – diskte hafızaya çağrılmayı bekleyerek programı çalıştırmaya yarayan işlemler grubu • Kullanıcı programları, çalıştırma aşamasından önce bir çok fazdan geçer. Operating System Concepts

  3. Talimatlar ve verileri hafızaya adreslemek Talimat ve verilerin adres ilişkilendirmelerinin hafıza adreslerine bağlanması üç farklı aşamada gerçekleşir. Operating System Concepts

  4. Talimatlar ve verileri hafızaya adreslemek • Derleme zamanı: Eğer hafızanın konumu öncelikliyse, mutlak kod oluşturulabilir. Eğer başlangıç konumları değişirse kod tekrar derlenmelidir. • Yükleme zamanı: Derleme zamanında hafızanın yeri bilinmediği takdirde yer değiştirebilir kod oluşturulmalıdır. • Çalıştırma zamanı: İşlem, yürütme sırasında bir hafıza segmentinden ötekine yer aktarılabilirse ilişkilendirme ertelenir. Adres haritaları için donanım desteği gereklidir(e.g., base and limit registers). Operating System Concepts

  5. Kullanıcı Programı Çoklu İşleme Operating System Concepts

  6. Mantıksal - Fiziksel Adres Alanı • Hafıza yönetiminde, kendisinden bağımsız fiziksel adresboşluğuna bağlanmış olan bir mantıksal adres boşluğunun konsepti, hafıza yönetiminde esastır. • Mantıksal adres – CPU tarafından oluşturulur. Sanal adres olarak da kullanılır. • Fiziksel adres – hafıza birimi tarafından tanınan adresler. Operating System Concepts

  7. Mantıksal - Fiziksel Adres Alanı • Derleme zamanı ve yükleme-zamanı adres-ilişkilendirme planlarında mantıksal ve fiziksel adresler benzerdir. Mantıksal (sanal) ve fiziksel adresler ise çalıştırma-zamanı adres-ilişkilendirme planlarında ayrışırlar. Operating System Concepts

  8. Bellek Yönetim Birimi (MMU) • Sanalı fiziksele haritalayan donanım cihazı. • MMU planında, yeniden konumlandırma kaydedicisindeki değer, kullanıcı işlemiyle, hafızaya gönderildiği anda oluşturulan her adrese eklenir. • Kullanıcı programı, mantıksal adreslerle ilişki kurar ve hiçbir zaman gerçek fiziksel adresleri tanımaz. Operating System Concepts

  9. Dinamik Yer Değiştirme ile Register Değiştirme Operating System Concepts

  10. Dinamik Yükleme • Program, çağrılmadıkça yüklenmez. • Hafıza alanından daha çok fayda sağlanmasıdır. Kullanılmamış program hiçbir zaman yüklenmez. • Nadir olarak ortaya çıkan durumlarla baş edilmesi için gerekli olan büyük miktardaki koda ihtiyaç duyulduğunda kullanışlıdır. • İşletim sistemi için özel bir destek gerekli değildir Program yazılımı sırasında tamamlanır. Operating System Concepts

  11. Dinamik Bağlama • Çalıştırma zamanına kadar ilişkilendirme ertelenir. • Küçük bir kod parçası olan olan stub (kalıntı), uygun olan hafıza-yerleşimi kitaplığı altprogramının yerini tespit etmek için kullanılır. • Stub, altprogramın adresiyle kendisinin yerini değiştirerek altprogramı yürütür. • Altprogramın, işlemcinin hafıza adresinde bulunup bulunmadığını kontrol etmek için işletim sistemi gereklidir. • Dinamik ilişkilendirme, özellikle kitaplıklar için kullanışlıdır. Operating System Concepts

  12. Örtüşmeli (Yer Paylaşım) • Sadece bahsi geçen her talimat ve her an ihtiyaç duyulan verileri hafızada tutun. • İşlem, kendisine ayrılan hafıza miktarından daha fazla yer kapladığında gereklidir. • Kullanıcı tarafından çalıştırılır, işletim sisteminden özel destek ihtiyacı yoktur, overlay yapısının programlama tasarımı karmaşıktır. Operating System Concepts

  13. İki geçişli Assembler için paylaşım Operating System Concepts

  14. Yer Değiştirme • Geçici olarak hafızdan yedekleme alanına aktarılabilen ve daha sonra devam eden yürütmeler için yeniden hafızaya çağrılan bir işlemdir. • Saklama alanı – tüm kullanıcılar için tüm hafıza resimlerinin kopyalarını yerleştirecek genişlikte hızlı disklerdir. Bu hafıza görsellerine doğrudan erişimi sağlamalıdır. • Dışa taşıma, içeri taşıma – Önceliğin esas olduğu hesaplama algoritmaları için kullanılan değişkenin farklılaştırılmasıdır. Önceliği düşük olan işlemin değiştirilmesiyle yüksek öncelikli işlem yüklenebilir ve çalıştırılabilir. • Aktarma (swap) zamanının başlıca bölümü transfer zamanıdır. Toplam transfer zamanı, aktarılan hafızanın miktarı ile doğrudan orantılıdır. • Aktarmanın modifiye edilmiş olan versiyonları bir çok sistemde bulunur. UNIX, Linux ve Windows v.b. Operating System Concepts

  15. Yer Değiştirme Şeması Operating System Concepts

  16. Sürekli Tahsis Ana hafıza genellikle iki bölümden oluşur: • Genellikle durduma değişkesi ile düşük hafızada çalıştırılan varolan işletim sistemi • Kullanıcı işlemleri ise yüksek hafızada tutulur. Operating System Concepts

  17. Sürekli Tahsis • Tek bölümlü dağıtım • Yeniden konumlandırma-kaydedicisi şeması kullanıcı işlemlerini, diğer işlemlerden korumak için kullanınılır. • Yeniden konumlandırma-kaydedicisi, kayda değer en küçük fiziksel adresleri içerir. Limit kaydedicisi çeşitli mantıksal adresler içerir; her mantıksal adres, limit kaydedicisinden daha az olmalıdır. Operating System Concepts

  18. Tekrar Yerleştirme ve Limit kayıtları için Donanım Desteği( Hardware Support for Relocation and Limit Registers) Operating System Concepts

  19. Sürekli Tahsis(Contiguous Allocation) (Devam) • Çoklu-bölümtahsisi • Hole(Delik) – kullanılabilir bellek bloğu;çeşitli büyüklükteki holes(boşluklar) bellek boyunca dağılmış. • Bir proses geldiğinde, onun sığabileceği büyüklükte bir hole(delik) bellek tahsis edilir. • İşletim sistemi şu bilgileri tutar:a) ayrılan bölümleri b)serbest bölümleri(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

  20. Dinamik Depolama-Tahsis Sorunu (Dynamic Storage-Allocation Problem ) • First-fit(İlk durum): İlk bulduğu yere yerleştirir. • Best-fit(En uygun durum): Tüm liste aranır boyutlarına bakarak en az boşluk bırakacak şekilde yerleştirilir. • Worst-fit(En kötü durum):Tüm liste aranır büyük boşluklar bırakır. N boyutlu serbest boşluk(hole) listesinden bir istek nasıl yerine getirilir: First-fit(ilk durum) and best-fit(en uygun durum),hız ve depolama bakımından worst-fit(en kötü durum) den daha iyi. Operating System Concepts

  21. Parçalanma(Fragmentation) • Dış parçalanma(External Fragmentation) – toplam bellek alanı çalıştıracak programa yettiği halde boşluklar farklı bölgelerde olduğundan yerleştirilemez. • İç parçalanma(Internal Fragmentation) – ayrılan bellek istenen bellek den biraz daha büyük olabilir ; bu boyut farkı dahili bellekte vardır , ama kullanılmamaktadır. • Dış parçalanma(External Fragmentation) azaltmanın yolları; • Shuffle bellek içeriğine , tüm boş bellek ile birlikte bir büyük blok yerleştirmek. • Dinamik yeniden yerleştirme olduğu takdirde sıkıştırma mümkündür, ve yürütme zamanında yapılır. • Giriş/Çıkış(I/O) sorunu • Bu Giriş/Çıkış dahil edilirken bellekte tutulur. • Tek işletim sistemi arabellekleri I/O yapın. Operating System Concepts

  22. Sayfalama(Paging) • Prosesin mantıksal adres alanı devamlı olmayabilir;İkincisi uygun olduğu sürece fiziksel adres ayrılıyor. • Fiziksel adres sabit boyutlara bölünür buna çerçeve (frame)denir.(512byte ve 8192byte arasında 2 güç boyutu vardır and) • Mantıksal adres aynı boyutlara bölünür ve buna sayfa (page) denir. • Tüm boş çerçeveleri takip eder. • N boyutlu bir sayfayı çalıştırmak için, n tane boş çerçeve bulmak lazım ve programları oraya yüklemeliyiz. • Mantıksal adresi fiziksel adrese çevirmek için bir sayfa tablosu ihtiyaç var. • İç parçalanma Operating System Concepts

  23. Adres Çevirme Planı(Address Translation Scheme) • Address generated by CPU is divided into: • Sayfa yapısı(Page number(p)) – fiziksel bellek her sayfanın taban adresini kullanan bir sayfa tablosu kullanır. • Sayfa sapması(Page offset(d)) – fiziksel bellek adresini tanımlamak için taban adresi ile birleştirilerek bu bellek birimi gönderilir. Operating System Concepts

  24. Adres Çevirim Mimarisi(Address Translation Architecture) Operating System Concepts

  25. Sayfalama Örneği(Paging Example) Operating System Concepts

  26. Sayfalama Örneği(Paging Example) Operating System Concepts

  27. Boş Çerçeveler(Free Frames) Tahsisden sonra Tahsisden önce Operating System Concepts

  28. Sayfa Tablo Uygulaması(Implementation of Page Table) • Sayfa tablosu ana bellekte tutulur. • Sayfa tablo base register(taban kaydedici) (PTBR) sayfa tablosu sayısını gösterir. • Sayfa tablo length register(uzunluk kaydedici) (PRLR) sayfa tablosu boyutunu gösterir. • Bu düzende her veri/talimat için 2 bellek erişimi gerektirir . Bir sayfa tablosu için ve bir de veri/talimat için. • İki bellek erişim sorunu associative memory (çağrışımlı bellek)veya translation look-aside buffersuse(çevirim bakma-kenar tamponlar) (TLBs) adı verilen özel hızlı ve donanım arama ön bellek kullanımı ile çözülebilir. Operating System Concepts

  29. Çağrışımlı Bellek (Associative Memory) • Çağrışımlı bellek– paralel arama Adres Çeviri (A´, A´´) • A´ çağrışımlı kayıt ise , çerçeve # dışarı alır . • Aksi takdirde hafıza sayfa tablosundan çevçeve # alır Sayfa # Çerçeve # Operating System Concepts

  30. TLB ile Donanım Sayfalama (Paging Hardware With TLB ) Operating System Concepts

  31. Etkin Erişim Süreci • İlişkilendirilebilir Arama =  zaman birimi • Bellek döngü süresinin 1 mikrosaniye olduğunu varsayılır • Çağrışımsal kayıtların sayısı ile ilgili oranı; bir sayfa numarası çağrışımlı kayıtları bulunan verileri bir defa, yüzde - oranı ile çarp • Hit oranı =  • Etkin Erişim Süreci(EES) EES = (1 + )  + (2 + )(1 – ) = 2 +  –  Operating System Concepts

  32. Hafıza Koruması • Bellek koruma her bir çerçeve ile koruma bit ilişkilendirerek uygulanmaktadır. • Geçerli-geçersiz her bağlı giriş için bit sayfa tablosu: • "Geçerli" ilişkili sayfa sürecin mantıksal adres alanı olduğunu gösterir ve bu nedenle yasal bir sayfasıdır. • "Geçersiz" sayfa sürecin mantıksal adres alanı olmadığını gösterir. Operating System Concepts

  33. Sayfa Tablosundaki Geçerli ve ya Geçersiz Bitler Operating System Concepts

  34. Sayfa Tablosu Yapısı Hiyerarşik Çağrı Hashed Sayfa Tabloları Ters Sayfa Tabloları Operating System Concepts

  35. Hiyerarşik Çağrı Tabloları Birden fazla sayfa tablolarına mantıksal adres alanı ayır Basit bir teknik iki düzey sayfa tablodur. Operating System Concepts

  36. İki Düzeyli Çağrı Örneği Pi P2 d Bir mantıksal adresi (4K sayfa boyutuna sahip 32-bit makinede) ayrılmıştır: 20 bit oluşan bir sayfa numarası. Bir sayfa 12 bit oluşan ofset. Sayfa tablosu belleği olduğundan, sayfa sayısı daha da ayrılır: 10-bit sayfa numarası. 10-bit sayfa ofset. Bu nedenle aşağıdaki gibi, bir mantıksal adres: sayfa numarası sayfa offseti 10 10 12 Burada pi dış sayfa tabloya dizin ve p2 dış sayfa tablonun sayfa içinde değiştirmesidir. Operating System Concepts

  37. İki Düzeyli Sayfa-Masa Programı Operating System Concepts

  38. Adres-Çeviri Programı İki düzeyli bir 32-bit belleği mimarisi için adres-çeviri programı

  39. Hashed Sayfa Tabloları Ortak adres alanları > 32 bit Sanal sayfa numarası bir sayfa tablo içinde karmadır. Bu sayfa tablosu aynı konumda bir karma elemanları zinciri içerir. Sanal sayfa numaraları bir eşleşme arar bu zincirde karşılaştırılmıştır. Bir eşleşme bulunursa, ilgili fiziksel çerçeve elde edilir. Operating System Concepts

  40. Hashed Sayfa Tabloları Operating System Concepts

  41. Ters Sayfa Tablosu Bellekteki her gerçek sayfası için bir giriş. Giriş bu sayfanın sahibi süreci hakkında bilgileri gerçek bellek konumunu, saklanan sayfanın sanal adresi oluşur. Her sayfa tablosunu saklamak için gerekli belleğ azaltır, ancak artışlar zaman içinde bir sayfa referans oluştuğunda masa aramak gerekiyordu. Birine arama sınırlamak için karma tablo– veya en azından bir kaç - sayfa tablosu girdilerini kullanın. Operating System Concepts

  42. Ters Sayfa Tablo Mimarisi Operating System Concepts

  43. Paylaşılan Sayfalar Paylaşılan Kodlar Süreçler arasında paylaşılan salt okunur (evresel) kodu bir nüshası (yani, metin editörleri, derleyiciler, pencere sistemleri). Paylaşılan kod tüm süreçlerin mantıksal adres alanı aynı yerde görünmesi gerekir. Özel kod ve veri Her işlem kodu ve veri ayrı bir kopyasını tutar. Özel kod ve veri sayfaları mantıksal adres alanı her yerde görünebilir. Operating System Concepts

  44. Paylaşılan Örnek Sayfalar Operating System Concepts

  45. Segmentasyon • Hafıza yönetim şeması,bellek kullanıcı modelini destekler • Bir program segmentlerin(bölümlerin) birleşimidir,programın yapıtaşı olan bölümler mantıksal birimler olup: Ana program, Prosedür, Fonksiyon, Metot, Nesne, Yerel değişkenler, global değişkenler, Ortak bir blok, Yığın, Sembol tablosu ve diziler Operating System Concepts

  46. BİR PROGRAMIN KULLANICI GÖRÜNÜMÜ Operating System Concepts

  47. Segmentasyonun Mantıksal Görünümü 1 4 2 3 1 2 3 4 Kullanıcı alanı Fiziksel bellek alanı Operating System Concepts

  48. Segmentasyon Mimarisi • Mantıksal adres iki bölümden oluşur: <segment numarası, ofset>, • Segment tablosu - haritaların iki boyutlu fiziksel adresleri, her tablonun girdisi vardır: • Base(Temel) – segmentlerin fiziksel başlangıç adreslerini tutar • limit - parçanın uzunluğunu belirtir. • Segment tablosu Bankası kayıt kesimi tablonun konumu işaret (stbr) bellek. • Segment tablosu uzunluğu kayıt (stlr) bir program tarafından kullanılan parça sayısını gösterir; segment numarası is legal if s < STLR. Operating System Concepts

  49. SEGMENTASYON MİMARİSİ (Devamı) • Tehcir. • dinamik • Tablo tarafından segment • Paylaşma. • Paylaşılan segmentler • Benzer segment sayısı • Tahsis. • İlk uyan\ en uygun • Dış parçalanma Operating System Concepts

  50. SEGMENTASYON MİMARİSİ(Devamı) • Koruma. Tabloda önlisans Segmentine her girişle birlikte : • Onaylama bit = 0  illegal segment • Okumak/yazmak / ayrıcalıkları yürütmek • Segmentler ile ilgili Koruma bit; kod paylaşımı bölüm düzeyinde gerçekleşir. • Değişen Segment uzunluğu yanında , bellek ayırma dinamik bir depolama ayırma sorunudur. • Bir segmentasyon Örneğin aşağıdaki şemada gösterilmiştir Operating System Concepts

More Related