Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Silberschatz, Galvin and Gagne  2002 9.1 Operating System Concepts Chapter 9: Bellek Yönetimi Genel bilgiler Konum değiştirme Yan yana yerleştirme Yer.

Benzer bir sunumlar


... konulu sunumlar: "Silberschatz, Galvin and Gagne  2002 9.1 Operating System Concepts Chapter 9: Bellek Yönetimi Genel bilgiler Konum değiştirme Yan yana yerleştirme Yer."— Sunum transkripti:

1 Silberschatz, Galvin and Gagne  Operating System Concepts 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

2 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

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

4 Silberschatz, Galvin and Gagne  Operating System Concepts 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).

5 Silberschatz, Galvin and Gagne  Operating System Concepts Kullanıcı Programı Çoklu İşleme

6 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

7 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

8 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

9 Silberschatz, Galvin and Gagne  Operating System Concepts Dinamik Yer Değiştirme ile Register Değiştirme

10 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

11 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

12 Silberschatz, Galvin and Gagne  Operating System Concepts Ö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.

13 Silberschatz, Galvin and Gagne  Operating System Concepts İki geçişli Assembler için paylaşım

14 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

15 Silberschatz, Galvin and Gagne  Operating System Concepts Yer Değiştirme Şeması

16 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

17 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

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

19 Silberschatz, Galvin and Gagne  Operating System Concepts 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 process 5 process 8 process 2 OS process 5 process 2 OS process 5 process 2 OS process 5 process 9 process 2 process 9 process 10

20 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

21 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

22 Silberschatz, Galvin and Gagne  Operating System Concepts 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

23 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

24 Silberschatz, Galvin and Gagne  Operating System Concepts Adres Çevirim Mimarisi(Address Translation Architecture)

25 Silberschatz, Galvin and Gagne  Operating System Concepts Sayfalama Örneği(Paging Example)

26 Silberschatz, Galvin and Gagne  Operating System Concepts Sayfalama Örneği(Paging Example)

27 Silberschatz, Galvin and Gagne  Operating System Concepts Boş Çerçeveler(Free Frames) Tahsisden önce Tahsisden sonra

28 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

29 Silberschatz, Galvin and Gagne  Operating System Concepts Ç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 #

30 Silberschatz, Galvin and Gagne  Operating System Concepts TLB ile Donanım Sayfalama (Paging Hardware With TLB )

31 Silberschatz, Galvin and Gagne  Operating System Concepts 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 +  – 

32 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

33 Silberschatz, Galvin and Gagne  Sayfa Tablosundaki Geçerli ve ya Geçersiz Bitler Operating System Concepts

34 Silberschatz, Galvin and Gagne  Sayfa Tablosu Yapısı Hiyerarşik Çağrı Hashed Sayfa Tabloları Ters Sayfa Tabloları Operating System Concepts

35 Silberschatz, Galvin and Gagne  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 Silberschatz, Galvin and Gagne  İki Düzeyli Çağrı Örneği Bir mantıksal adresi (4K sayfa boyutuna sahip 32-bit makinede) ayrılmıştır: bit oluşan bir sayfa numarası. 2. Bir sayfa 12 bit oluşan ofset. Sayfa tablosu belleği olduğundan, sayfa sayısı daha da ayrılır: bit sayfa numarası 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 P2 d Operating System Concepts

37 Silberschatz, Galvin and Gagne  İki Düzeyli Sayfa-Masa Programı Operating System Concepts

38 Silberschatz, Galvin and Gagne  Adres-Çeviri Programı İki düzeyli bir 32-bit belleği mimarisi için adres-çeviri programı

39 Silberschatz, Galvin and Gagne  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 Silberschatz, Galvin and Gagne  Hashed Sayfa Tabloları Operating System Concepts

41 Silberschatz, Galvin and Gagne  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 Silberschatz, Galvin and Gagne  Ters Sayfa Tablo Mimarisi Operating System Concepts

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

44 Silberschatz, Galvin and Gagne  Operating System Concepts Paylaşılan Örnek Sayfalar

45 Silberschatz, Galvin and Gagne  Operating System Concepts 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

46 Silberschatz, Galvin and Gagne  Operating System Concepts BİR PROGRAMIN KULLANICI GÖRÜNÜMÜ

47 Silberschatz, Galvin and Gagne  Operating System Concepts Segmentasyonun Mantıksal Görünümü Kullanıcı alanıFiziksel bellek alanı

48 Silberschatz, Galvin and Gagne  Operating System Concepts Segmentasyon Mimarisi Mantıksal adres iki bölümden oluşur:, 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.

49 Silberschatz, Galvin and Gagne  Operating System Concepts 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

50 Silberschatz, Galvin and Gagne  Operating System Concepts 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

51 Silberschatz, Galvin and Gagne  Operating System Concepts SEGMENTASYON DONANIMI

52 Silberschatz, Galvin and Gagne  Operating System Concepts SEGMENTASYON ÖRNEĞİ

53 Silberschatz, Galvin and Gagne  Operating System Concepts BÖLÜMLERİN PAYLAŞIMI

54 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

55 Silberschatz, Galvin and Gagne  Operating System Concepts MULTICS'i Adres Çevirisi Programı

56 Silberschatz, Galvin and Gagne  Operating System Concepts 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.

57 Silberschatz, Galvin and Gagne  Operating System Concepts Intel Adres Çevirisi


"Silberschatz, Galvin and Gagne  2002 9.1 Operating System Concepts Chapter 9: Bellek Yönetimi Genel bilgiler Konum değiştirme Yan yana yerleştirme Yer." indir ppt

Benzer bir sunumlar


Google Reklamları