Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT) Hazırlayan: Zeynep DEMİR Ders 3.

Benzer bir sunumlar


... konulu sunumlar: "ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT) Hazırlayan: Zeynep DEMİR Ders 3."— Sunum transkripti:

1 ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT) Hazırlayan: Zeynep DEMİR Ders 3

2 ANA BELLEK YÖNETİMİ Ana belleğin görevler arasında paylaştırılması ana belleğin yönetimi olarak adlandırılır. İşletim sistemi içinde bu işlevi karşılayan kesime Ana Bellek Yöneticisi yada kısaca Bellek Yönetici denir.

3 ANA BELLEK YÖNETİMİ AİB yönünden bakıldığında ana belek bir sözcük dizisi gibi görülür. Ana bellekte her sözcüğün bir adresi birde içeriği bulunur. Bir sözcüğün adresi, bu sözcüğe erişimde, adres yolu üstüne yüklenen fiziksel adresidir. Yani ana bellekteki sözcüklere fiziksel adresleri kullanılarak erişilir. Ana belek sözcükleri komut kodları ile bu komutların işlenenlerini tutan öğelerdir.

4 ANA BELLEK YÖNETİMİ Ana bellek fiziksel adres evreni Programların mantıksal adres evreni

5 ANA BELLEK YÖNETİMİ İÇİN DEĞİŞİK YÖNTEMLER Tek ve bitişken bellek yönetimi Değişmez bölümlü bellek yönetimi Değişken bölümlü bellek yönetimi Yeri değişir bölümlü bellek yönetimi Sayfalı bellek yönetimi Kesimli bellek yönetimi Sayfalı Görüntü Bellek Yönetimi Kesimli Görüntü Bellek Yönetimi Sayfalı-Kesimli Görüntü Bellek Yönetimi

6 Ana Belleğin Yönetiminde Kullanılan Yöntem Grupları

7 1. Tek ve Bitişken Bellek Yönetimi ana bellek, işletim sisteminin yüklendiği kesim dışında tümüyle tek bir işe atanır. (TEK İŞ DÜZENİ ve TEK GÖREVLİ İŞLEM ortamlarında kullanılabilen bir yöntem) işletim sisteminin ana belleği paylaştığı kullanıcı programı tarafından bozulmasını önlemek üzere kimi önlemler alınır. Bunun için merkezi işlem birimi içinde sınır yazmacı olarak adlandırılan bir yazmaç öngörülür. Böyle bir durum ortaya çıktığında, kesilmeler işlenirken sözü edilen bir iç kesilme ile kullanıcı programının işletimi sonlandırılıp işletim sistemine geri dönülür. (Bellek Koruma Düzeneği)

8 1. Tek ve Bitişken Bellek Yönetimi

9

10 2. Değişmez Bölümlü Bellek Yönetimi Tek iş düzeninden çok iş düzenine geçiş, ana bellek yönetiminde de tek ve bitişken bellek yönetiminden değişmez bölümlü bellek yönetimine geçişi zorunlu kılmıştır. Bu yöntemde ana bellek, işletim sistemi alanı ve kullanıcı alanı olmak üzere salt iki bölüme ayrılmak yerine, işletim sistemi ile birden çok kullanıcı programı arasında paylaşılır. Değişmez bölümlü bellek yönetiminde ana bellek, işletim sistemi ve kullanıcı alanları olmak üzere irili ufaklı birden çok bölüm olarak düzenlenir. Her iş işletime alınmadan önce, ana bellekte kendisine, boyuyla uyumlu bir bölüm atanır.

11 2. Değişmez Bölümlü Bellek Yönetimi

12 Tek ve bitişken bellek yönetiminde olduğu gibi, bu yöntemde de, kullanıcı programlarının işletim sistemine ayrılan alanı bozmalarının engellenmesi gereklidir. Ancak burada bir de, kullanıcı programlarının birbirlerine karşı korunması gerekir. Bu amaçla, merkezi işlem biriminde bir taban, bir de tavan yazmacı öngörülür. Bu yazmaçlar, çok iş düzeni çerçevesinde, MİB’i kullanan işin, ana belleğe erişimde aşmaması gereken alt ve üst adres değerlerini tutarlar. Taşma durumunda, bir önceki yöntemde olduğu gibi, ilgili işin işletimi sonlandırılır. MİB’in her yeni göreve (işe) anahtarlanışında bu yazmaçlar, işletim sistemi tarafından, ilgili işin taban ve tavan değerleriyle günlenmek zorundadır.

13 2. Değişmez Bölümlü Bellek Yönetimi Bu yöntem kapsamında, işletim sistemi, ana bellek düzeniyle ilgili bir çizelge tutar. BÖLÜM TANIM ÇİZELGESİ Bu çizelgede tüm bölümlerin – Giriş Adresleri, – Boyları – Kullanımda olup olmadıkları gösterilir. Bir iş, toplu işlem kuyruğu üzerinden işletime alınacağı zaman bölüm tanım çizelgesi taranarak bölüm ataması yapılır. – First Fit: Tarama sırasında rastlanan ilk boş bölümün atanması – Best Fit: İşin gerektirdiği sığaya en uygun boydaki bölümün atanması

14 3. Değişken Bölümlü Bellek Yönetimi Bu yöntemin temel ilkesi, bölümlerin, konum ve boyları itibarıyla, işlerin görevlere dönüştürülüp sisteme sunuluşları aşamasında, devingen olarak yaratılmasıdır. Bu yöntemle bir görev hazır görevler kuyruğuna ilk kez bağlanacağı zaman, gerektirdiği büyüklükte bir alanın, ana bellekte kullanılmayan boş alanlar içinde bulunması ve yeni bir bölüm olarak bölüm tanım çizelgesine katılması gerçekleşmiştir. Görev iskeleti bu bölümle ilgili (bölüm başlangıç adresi, boyu gibi) değerlerle günlenir. Bu yöntemde görevlere atanan bölümlerin yanı sıra, bu bölümler arasında kalan boş alanların da izlenmesi gereklidir. Bu nedenle, bölüm tanım çizelgesinin yanı sıra, bir de boş alan çizelgesi tutulur. Bölüm tanım çizelgesi bölümlere atanan bölümlerin bilgilerini, boş alan çizelgesi de bölümler arasında boş bitişken alanlara ilişkin konum, boy gibi bilgileri tutar

15 ÇİZİM 5.6

16 3. Değişken Bölümlü Bellek Yönetimi Değişken bölümlü bellek yönetiminde yeni bir görev hazır görevler kuyruğuna bağlanacağı zaman, bu görevin gerektirdiği yer, boş alan çizelgesinden seçilirken çeşitli algoritmalar kullanılır. Bunlar genelde 3 tanedir. – best fit (en uygun alan) – first fit (ilk uyan alan) – worst fit (en büyük alan) Değişken bölümlü bellek yönetiminde, şimdiye kadar anlatılan yöntemlerde olduğu gibi, bir görev işletimin başında kendisine atanan bellek alanını, işletimin sonuna değin korur. Yani yer değiştiremez.

17 BELLEĞİN PARÇALANMASI SORUNU Ana belleğin parçalanması, bitişen alanların görevlere atanan bölümlerle, zaman içinde ufalanması olarak tanımlanır. Belleğin parçalanması sonucu, bellekteki boş alanların toplamı, gereksenen sığaları karşılıyor olmasına rağmen yeni görevlere yer sağlanamaz durumlarla karşılaşılır.

18 BİTİŞTİRME Tüm bellek alanına dağılmış durumdaki bölümleri, yerlerini değiştirerek yan yana yerleştirme ve bu yolla bölümler arasında kalan boş alanları da yan yana getirerek tek bir bitişken alan yaratma işlemine BİTİŞTİRME işlemi denir.

19 4. Yeri Değişir Bölümlü Bellek Yönetimi Yeri değişir bölümlü bellek yönetimi kapsamında, mantıksal adreslerden fiziksel adreslere geçişi işletim aşamasına taşıyabilmek amacıyla, MİB’e yer değiştirme taban yazmacı olarak adlandırılan özgün bir yazmaç eklenir. Yeri değişir amaç programlar ana bellekte kendilerine atanan bölümlere oldukları gibi hiçbir değişiklik yapılmadan yüklenirler. Başka bir deyişle, konuma duyarlı öğeler yükleme sonrası program başına (sıfıra) göreli adres değerlerini içermeyi sürdürürler. Her bellek erişim döngüsünde, bu adres değerleri, yer değiştirme taban yazmacı içeriğine eklenerek erişilen fiziksel adresler elde edilir. Bir görev ana işlem birimine anahtarlanacağı zaman yer değiştirme taban yazmacının içeriği, ilgili bölüm başlangıç adresiyle günlenir. Böylece işletim sırasında program başına göreli içerikler, bölüm başlangıç adreslerine eklenerek bellek başına göreli saltık değerler elde edilmiş olur. Program başına göreli mantıksal adreslerden fiziksel adreslere geçiş adres dönüştürme işlemi olarak bilinir.

20 4. Yeri Değişir Bölümlü Bellek Yönetimi

21 BİTİŞTİRME İŞLEMİ NE ZAMAN UYGULANIR? Yeri değişir bölümlü bellek yönetiminde bellekte parçalanmayı önlemek üzere bitiştirme işlemi, ya her görevin işletiminin bitiminde ya da işletime sunulan işlere bellekte yer bulunamadığı durumlarda gündeme gelebilir. Bitiştirme işlemlerini her işletim bitişinde yinelemek, ana belleği çok verimli kullanmayı amaçlarken işletimi sık sık durdurarak sistem hızının ve kullanılabilirliğinin aşırı düşmesine neden olur. Bitiştirme işlemlerine, ana bellekte yer ihtiyacı oluştukça başvurmak daha anlamlıdır. Bu ihtiyacın ortaya çıkışı bellek yöneticisi tarafından belirlenir.

22 SWAPPİNG (DİSKE TAŞIMA) Bazı durumlarda bitiştirme işlemleri de bellekte gerekli büyüklükte boş bitişken alan yaratmak için yeterli olmaz. Sisteme sunulan iş, o an sisteme işletimde olan işlerden daha öncelikli ise, görev tanımlarını yaparak hemen işletime alınmasını gerektirir. Kimi az öncelikli görevlerin, işletimleri sonradan tamamlanmak üzere geçici olarak diske taşınması boş bellek alanı oluşturmak için başvurulan bir yol olabilir. Bu yolla açılan boş bellek alanları yeni görevlerin tanımlanabilmesine ve öncelikli işlerin çalışmasına olanak sağlar. İşletimi tamamlanmamış bir görevin, daha öncelikli görevlere ana bellekte yer açmak üzere, geçici olarak diskte, bu amaçla öngörülen alanlara taşınmasına diske taşıma denir.

23 SWAPPİNG

24 5. SAYFALI BELLEK YÖNETİMİ (PAGING) Belleği küçük, eşit boylu parçalara böl. Prosesleri de aynı boyda parçalara ayır. – Eşit boylu proses parçaları: sayfa – Eşit boylu bellek parçaları: çerçeve İşletim sistemi her proses için sayfa tablosu (Sayfa Tanım Çizelgesi) tutar – sayfa Numarası – sayfa Başlangıç Adresi – Erişim Hakkı İşletim sistemi hangi çerçevelerin boş olduğunu tutar. (Bellek Tanım Çizelgesi) Mantıksal adres, sayfa numarası ve sayfa içi offset değerinden oluşur Sayfalı bellek yönetiminde adres evrenlerinin kesijmesi durumunda erişm hakkı belirtecii (iki görevin aynı fiziksel adres alanını kullanması)

25 5. SAYFALI BELLEK YÖNETİMİ

26

27

28

29 5. SAYFALI BELLEK YÖNETİMİ ÖRNEK

30

31 6. KESİMLİ BELLEK YÖNTEMİ (SEGMANLAMA) Programlar mantıksal bölümlerden oluşur. Program segmanlara ayrılır. Tüm programların tüm segmanları aynı boyda olmak zorunda değil. Bir program birden fazla segmandan oluşabilir Kullanıcı / derleyici program text ve veri alanlarını farklı segmanlara atar. Segman boyunun üst sınırı var Mantıksal adres: (s,d) – s: segman adı – d: segman içi offset her proses için segman tablosu – segmanın taban adresi (base) Başlangıç Adresi – segmanın uzunluğu (limit) Boyu – erişim hakları biti segman tablosu başı bir saklayıcıda tutulur – Segment Table Base Register (STBR)

32 6. KESİMLİ BELLEK YÖNTEMİ Kullanıcı Programının Görünümü

33 6. KESİMLİ BELLEK YÖNTEMİ

34

35 6. KESİMLİ BELLEK YÖNTEMİ ÖRNEK

36 6. KESİMLİ BELLEK YÖNTEMİ ÖRNEK SEGMENTLERİN PAYLAŞIMI ÖRNEĞİ

37 7. SAYFALI GÖRÜNTÜ BELLEK YÖNETİMİ Sayfalı bellek yönetiminde, amaç programlar, derleyiciler tarafından eşit uzunlukta sayfalar biçiminde hazırlanır. Görüntü bellek düzeni çerçevesinde, hazırlanan bu programların ana belleğe yüklenmeye hazır kopyaları, tümüyle diskte oluşturulur. Diskte yer alan sayfaların bir kesimi ana belleğe yüklenerek işletim başlatılır. Görüntü bellek düzeninde program sayfaları diskte saklandığından işletime alınan her görev için, Sayfa tanım çizelgesi yanında bir de Kütük tanım çizelgesi tutulur. Sayfa tanım çizelgelerinde ek olarak – Durum Belirteci (Sayfanın bellkete olup olmadığını gösterir) – Değişim Belirteci (Bellekteki ve diskteki kopya arasında fark olup olmadığı) – Erişim Belirteci – Erişim Hakkı

38 7. SAYFALI GÖRÜNTÜ BELLEK YÖNETİMİ

39

40 SAYFA ÇIKARMA ALGORİTMALARI İlk Giren Sayfayı Çıkarma En Erken erilmiş Sayfayı çıkarma En Geç Erişilecek Sayfayı çıkarma

41 8. KESİMLİ GÖRÜNTÜ BELLEK YÖNETİMİ Kesimli bellek yönetimine görüntü bellek özelliğini katabilmek için Kesim tanım çizelgelerinde, kesim başlangıç(base), boy(limit), erişim hakkı gibi bilgilerin yanı sıra – P Present Biti : Kesim Bellekte Belirteci(0 veya 1) – A Access Biti : Erişim Belirteci – M Modified Biti : Değişim Belirteci

42 8. KESİMLİ GÖRÜNTÜ BELLEK YÖNETİMİ

43

44 9.Kesimli-Sayfalı Görüntü Bellek Yönetimi Programların mantıksal adres evrenleri kesimlere, kesimler de sayfalara ayrılır Mantıksal Adresler 3 bileşenden oluşur: – Kesim Numarası – Kesime Göreli sayfa Numarası – Sayfa içi adres Mantıksal adresten fiziksel adrese geçişte iki temel çizelge kullanılır: – Kesim Tanım Çizelgesi – Sayfa Tanım Çizelgesi

45 9.Kesimli-Sayfalı Görüntü Bellek Yönetimi Kesim Tanım Çizelgesi – Kesim Numarası – Başlangıç Adresi (Sayfa tanım Çizelgelerinin başlangıç adresi) – Boyu (ilgili sayfa tanım çizelgesinin boy bilgisi) – Kesime Erişim Denetim Kodu Sayfa Tanım Çizelgesi – Sayfa Numarası – Başlangıç Adresi – Sayfa bellekte Belirteci – Erişim Hakkı Belirteci – Değişim Belirteci

46 9.Kesimli-Sayfalı Görüntü Bellek Yönetimi


"ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT) Hazırlayan: Zeynep DEMİR Ders 3." indir ppt

Benzer bir sunumlar


Google Reklamları