Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Chapter 9: Bellek Yönetimi

Benzer bir sunumlar


... konulu sunumlar: "Chapter 9: Bellek Yönetimi"— Sunum transkripti:

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 adres boş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üm tahsisi 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 )
N boyutlu serbest boşluk(hole) listesinden bir istek nasıl yerine getirilir: 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. 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 önce Tahsisden sonra 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
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 Burada pi dış sayfa tabloya dizin ve p2 dış sayfa tablonun sayfa içinde değiştirmesidir. Pi P d 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

51 SEGMENTASYON DONANIMI
Operating System Concepts

52 SEGMENTASYON ÖRNEĞİ Operating System Concepts

53 BÖLÜMLERİN PAYLAŞIMI Operating System Concepts

54 SEGMENTASYON İLE ÇAĞRI– MULTICS
MULTICS'i sistem belleği kesimleri dış parçalanma sorunları ve uzun iş arama süreleri ile çözüldü. Çözüm, segment tablo girdisi olmayan kesiminin temel adresi değil, bu segment için bir sayfa tablo taban adresi içeren saf segmentasyondan farklıdır. Operating System Concepts

55 MULTICS'i Adres Çevirisi Programı
Operating System Concepts

56 Segmentasyon ile Çağrı– Intel 386
Aşağıdaki şekilde de görüldüğü gibi, Intel 386 iki düzeyli bir çağrı düzeni ile bellek yönetimi için disk belleği ile segmentasyon kullanır. Operating System Concepts

57 Intel Adres Çevirisi Operating System Concepts


"Chapter 9: Bellek Yönetimi" indir ppt

Benzer bir sunumlar


Google Reklamları