16
1 BELLEK Yönetimi Hafta 13 1 Bellek bilgisayarı oluşturan 3 ana bileşenden biridir. (MİB – bellek – I/O ). İşlemcinin çalıştırdığı programlar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur. 2 3 Ana Bellek Yönetimi Bir bilgisayar sisteminin en önemli donanımsal kaynaklarından biri olan ana belleğin, görevler arasında paylaştırılması ana belleğin yönetimi olarak adlandırılır. Programların ve işlenen verilerin ana bellekte yer alacakları konumların belirlenmesi, düzenlenmesi, izlenmesi, gereksenen alanların sağlanması, bu alanların dışına taşmaların denetlenmesi gibi işlevler hep bellek yönetimi kapsamında ele alınır. 4 Bilgisayar sistemlerinde bellekler, ana bellek ve ikincil bellekler olarak iki gruba ayrılır. Ana bellek, aynı zamanda canlı bellek, yarı iletken bellek, RAM bellek gibi adlarla da anılır. İkincil belleklerin, işletim dışı verilerin saklandığı ve korunduğu, bir bellek türü olduğu bilinir. Ana Bellek Yönetimi ROM, RAM, PROM, EPROM, EEPROM, FLASH MEMORY, VE ÖNBELLEK; OLARAK SAYILABILIR. 5 ROM yapımcı veya kullanıcı tarafından bir daha değiştirilmemek üzere konulan program komutlarını içerir. RAM’da saklanan bilgiler değiştirilebilir. RAM’daki bilgilere erişim, disk ya da disket sürücülerindeki erişimle karıştırılmayacak kadar hızlıdır. 6

Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

  • Upload
    others

  • View
    44

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

1

BELLEK Yönetimi

Hafta 13

1

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir. (MİB – bellek – I/O ).

İşlemcinin çalıştırdığı programlar ve programa ait bilgiler bellek üzerinde saklanır.

Bellek geçici bir depolama alanıdır.

Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

2

3

Ana Bellek Yönetimi Bir bilgisayar sisteminin en önemli donanımsal kaynaklarından biri olan ana belleğin, görevler arasında paylaştırılması ana belleğin yönetimi olarak adlandırılır. Programların ve işlenen verilerin ana bellekte yer alacakları konumların belirlenmesi, düzenlenmesi, izlenmesi, gereksenen alanların sağlanması, bu alanların dışına taşmaların denetlenmesi gibi işlevler hep bellek yönetimi kapsamında ele alınır.

4

Bilgisayar sistemlerinde bellekler, ana bellek ve ikincil bellekler olarak iki gruba ayrılır.

Ana bellek, aynı zamanda canlı bellek, yarı iletken bellek, RAM bellek gibi adlarla da anılır.

İkincil belleklerin, işletim dışı verilerin saklandığı ve korunduğu, bir bellek türü olduğu bilinir.

Ana Bellek Yönetimi

ROM, RAM, PROM, EPROM, EEPROM, FLASH MEMORY, VE

ÖNBELLEK; OLARAK SAYILABILIR.

5

ROM yapımcı veya kullanıcı tarafından bir daha değiştirilmemek üzere konulan program komutlarını içerir.

RAM’da saklanan bilgiler değiştirilebilir. RAM’daki bilgilere erişim, disk ya da disket sürücülerindeki erişimle karıştırılmayacak kadar hızlıdır.

6

Page 2: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

2

RAM bellekler DRAM (Dynamic RAM) ve SRAM (Statik RAM) olmak üzere iki çeşit.

Dinamik RAM tipi bellekler veriyi tutabilmek için sabit elektrik akımına ihtiyaç duyarlar, bu yüzden depolama hücrelerinin her saniyede yüzlerce kez (ya da her birkaç milisaniyede bir) tazelenmesi- yani elektronik yüklerle yeniden yüklenmesi- gerekir.

Statik RAM elektrik olduğu sürece içinde veri

bitlerini saklayan bir RAM’dir.

7

PROM’un özellikleri temelde ROM’la aynıdır. Bir kez programlanır ve bir daha programı değiştirilemez ya da silinemez. Ancak PROM’un üstünlüğü yonganın fabrikada yapılırken programlanmak zorunda olmayışıdır.

8

RAM’ların elektrik kesildiğinde bilgileri koruyamaması ROM ve PROM’ların yalnızca bir kez programlanabilmeleri bazı uygulamalar için sorun yaratmıştır.

EPROM programlayıcı aygıt yardımı ile bir EPROM defalarca programlanabilir, silinebilir.

9

EEPROM’un özel bir uygulaması FLASH MEMORY’dir.

Aralarındaki en önemli fark ise EEPROM’a bilgilerin byte byte yazılması FLASH’lara ise bilgilerin sabit bloklar halinde yazılmasıdır.

10

Bu sabit bloklar halinde yazılma özelliği FLASH MEMORY’i EEPROM’a daha hızlı yapmıştır.

EEPROM’larda olduğu gibi FLASH MEMORY’nin de bir yaşam süresi vardır. Bu 100.000’den 300.000 kez yazmaya izin verebilecek şekildedirler.

11

Normalde işlenecek bilgilerin hepsi ANA BELLEK (RAM) ’de bulunur.

Bu yüzden işlemcinin her veri işleme ihtiyacında ANA BELLEĞE gitmesi zaman kaybına yol açacaktır ve işlemci yeteri kadar verimli kullanılmayacaktır. İşte bu yavaşlığı önlemek için önbellekler kullanılır.

12

Page 3: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

3

Önbellek aslında SRAMlerden oluşmuş bellek topluluğudur. Çalışma şekli ise işlenecek olan bilgiyi alınmak istendiğinde ilk defa buraya uğranmasıdır.

Ön belleğin kullanım amacı işlenecek olan bilgi işlemeden önce buraya getirilerek bilgilerin işlenmeye hazır hale getirilmesidir.

13

1- Internal (L2) Cache : Bu işlemci üreticisi tarafından üretilen ve CPU üzerinde bulunan cache bellek türüdür.

2- External (L1) Cache : Anakart üzerinde bulunan ve anakart üreticisi tarafından üretilen cache bellek türüdür.

14

15

Geleneksel Bellek (Conventional Memory):

• DOS’un ana belleğidir (base memory olarak da bilinir). 0 – 640 KB arası hafıza bölgesidir. MS-DOS uygulamaları burada çalışır. Bütün PC’ lerde 640K sınırı söz konusudur.

1024 KB - 4 GB

Uzatılmışbellek alanı

Yüksek bellek alanı

640- 1024 KB Üst bellek alanı

0-640 KB Geleneksel bellek (Temel bellek)

*Temel Bellek *Hafızanın İlk 640 KB’lık bölümü *DOS programları

Üst Bellek ve Genişletilmiş Bellek

Ayrılmış bellek olarak da bilinen bu alan 640 KB ile 1 MB arasındaki hafıza bölgesidir.

Üst bellek blokları halindedir. Tak-çalıştır elemanların sürücüleri, video sürücüleri bu alanda tutulur. EMM386.exe dosyası tarafından yönetilir.

Page 4: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

4

Üst bellek 1024 KB - 4 GB

Uzatılmış bellek alanı

Yüksek bellek alanı

640- 1024 KB

Üst bellek alanı

0-640 KB Geleneksel bellek (Temel bellek)

*Ayrılmışbellek *384 KB *UMB ler halinde * Sistem BIOS * Tak-çalıştır sürücüler * Video sürücüler

Uzatılmış Bellek (Extended Memory):

Bilgisayarlarda 1Mb’ın yukarısındaki bellek alanına verilen isimdir.

Windows gibi özel programlar, DOS’ ta RAM sürücüler ve SMARTDRIVE tarafından kullanılır. HIMEM.SYS ile kullanılabilir hale getirilir.

Yani programların çalıştırılması için değil verilerin saklanması için kullanılır.

Genişletilmiş Bellek (Expanded Memory ):

Genişletilmiş bellek olarak tercüme edilen expanded memory, 640K’ dan daha fazla belleğe ihtiyacı olan programların kullanması içindir.

Uzatılmış Bellek

1024 KB - 4 GB

Uzatılmış bellek alanı

Yüksek bellek alanı

640- 1024 KB

Üst bellek alanı

0-640 KB

Geleneksel bellek (Temel bellek)

*XMS (extended memory specification) *1 MB üzeri bellek *Windows kullanır. *HIMEM.SYS kontrol eder.

İşletim sistemlerinde bellek hiyerarşisini yöneten parçaya ise bellek yöneticisi (memory manager) denir.

Bellekte tutulan bilgiler, komutlar /operatörler ve komutların uygulanacağı veriler olmak üzere ikiye ayrılır.

23

Ana bellekte ayrıca iletim sistemi bulunmakta ve bilgisayar kapanana kadar sürekli bellekte bulunmaktadır.

24

Page 5: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

5

Bellek Yöneticisinin Görevleri:

1) Belleğin hangi kısımlarının kullanılıp hangilerinin kullanılmayacağını izlemek,

2) İşlemlere gerektiğinde bellek ayırmak,

3) İşlem sonlandığında ise işleme ayrılan bellek bölgesini boşaltmak,

4) Ana bellekte yer kalmadığında ikincil belleği kullanmak,

5) Ana bellek alanındaki durum bilgisini tutmak.

Bir işletim sisteminin bellek yönetiminin yararları şunlardır:

Bellekteki herhangi bir işlemi başka bir yere aktarabilmelidir.

Birden fazla işlem veya kullanıcı olduğunda bir kullanıcının diğer kullanıcı alanlarına girmeleri önlenmelidir.

Kullanıcılar arası kaynak paylaşımını sağlamalıdır.

Belleğin mantıksal alanlara bölünmesini sağlayarak bilgiye erişimi kolaylaştırmalıdır.

26

27

Ana işlem birimi yönünden bakıldığında ana bellek, bir sözcük dizisi gibi görülür. Ana bellekte her sözcüğün bir adresi bir de içeriği bulunur. Ana bellekte bir sözcüğün adresi, bu sözcüğe erişimde, adres yolu üstüne yüklenen konum değeridir. Bu değer, fiziksel adres olarak nitelenir. Kod dizilerinden oluşan programlar içinde kullanılan adresler ise program başına göreli mantıksal adresler olarak nitelenir.

Ana Bellek Yönetimi Bellek Yönetim Yöntemleri

1) Tek Programlama Yöntemi,

2)Çoklu Programlama,

1) Tek Programlama Yöntemi:

(Tek ve Bitişken Bellek Yönetimi): Genellikle tek işlemli işletim sistemleri tarafından kullanılır. İşlem ana bellekte yok ise ikincil bellekten ana belleğe yüklenir ve işlem bitimine kadar orada kalır.

Ana

Bellek

İŞLETİM SİTEMİ

İŞLEM

BOŞ

Ana belekte çalışma esnasında yalnızca bir tek işlem/program bulunur.

Page 6: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

6

2-Çoklu Programlama

a) Değişmez Bölümlü Bellek Yönetimi,

b) Değişken Bölümlü Bellek Yönetimi,

c) Yeri Değiştir Bölümlü Bellek Yönetimi,

d) Sayfalı Bellek Yönetimi,

e) Bölümlü Bellek Yönetimi,

f ) Sayfalı Sanal Bellek Yönetimi,

g) Bölümlü Sanal Bellek Yönetimi,

h) Bölümlü-Sayfalı Sanal Bellek Yönetimi. 32

Bellek Yönetim Türlerinin Sınıflandırılması

Durgun Bellek

Yönetimi

Devingen Bellek

Yönetimi

Bitişken Bellek

Yönetimi

Parçalı Bellek

Yönetimi

Gerçek Bellek

Yönetimi

Sanal Bellek

Yönetimi

Bellek Yönetimi

Tek ve Bitişken Bellek Yönetimi

Ana bellek, aynı anda, işletim sistemi ile tek bir kullanıcı programı tarafından paylaşılır.

Tek iş düzeni ve tek görevli işlem ortamlarında kullanılabilen, bu nedenle de, artık kişisel bilgisayar sistemleri için bile yetersiz kalan bir bellek yönetim biçimidir.

33 34

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. Ana bellek, işletim sistemi ve kullanıcı programları olmak üzere irili ufaklı birden çok bölüm arasında paylaşılır. Her iş işletime alınmadan önce, ana bellekte kendisine, boyuyla uyumlu bir bölüm atanır.

35

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

MİB’in bir göreve anahtarlandığında, ilgili işin taban ve tavan adreslerini yazmaçlarda tutmak zorundadır. İşletim sistemi, ana bellek düzeniyle ilgili bir Bölüm Tanım Çizelgesi tutar. Bu çizelgede tüm bölümlerin

Giriş Adresleri, Boyları, Kullanımda olup olmadıkları gösterilir.

Bir iş, 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ı

36

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. Bir görev hazır görevler kuyruğuna ilk kez bağlanacağı zaman, gerektirdiği büyüklükte alan, ana bellekte kullanılmayan boş alanlar içinden bulunur ve yeni bir bölüm olarak bölüm tanım çizelgesine eklenir. Bu yöntemde, 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.

Boş alan seçilirken çeşitli algoritmalar kullanılır. 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önetimi

Page 7: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

7

37

128 kb alan kaplayan yeni bir iş ana belleğe yerleşiyor. Sayfalama (Paging)

Fiziksel bellek üzerindeki aynı uzunluktaki bloklara ‘çerçeve (frame)’,

Mantıksal bellek üzerindeki aynı uzunluktaki bloklara ise ‘sayfa (page)’ denilmektedir.

Sayfaların uzunlukları donanım tarafından belirlenmektedir. (2’nin katları; 512 byte, 16 MB,…)

Sayfalama (Paging)

MİB’nin oluşturduğu adres iki bölümden oluşmaktadır;

sayfa numarası (p): fiziksel bellekteki her bir sayfanın taban adresini tutan sayfa tablosundaki gösterge. sayfa ofseti (d): taban adresi ile birleştirilerek fiziksel bellekte sayfanın içerisindeki yerin belirlenmesinde kullanılır.

Sayfa tablosunda hem sayfa hem de ofset adresi bulunmaktadır.

Fiziksel ve mantıksal belleğin sayfalama modelleri

sayfa 0

sayfa 1

sayfa 2

sayfa 3

Mantıksal Bellek

1

4

3

7

0

1

2

3

sayfa 0

sayfa 2

sayfa 1

sayfa 3

0

1

2

3

4

5

6

7

Sayfa

Tablosu

Fiziksel Bellek

Çerçeve

numarası

Sayfalama

MİB p d f d

f

p

Sayfa Tablosu

Fiziksel Bellek

Mantıksal

Address

Fiziksel

Address

f

Sayfalama örneği; 4 byte uzunluğunda sayfalardan

oluşan 32 byte’lık bir bellek olduğunu düşünelim.

Mantıksal adresi 0’da sayfa ve ofset adresi 0’dır. Sayfa tablosuna bakıldığında sayfa 0’ın çerçeve 5’de olduğu görülmektedir.

Böylece mantıksal adres 0, fiziksel bellekte 20’ye ((5*4))+0) karşılık gelmektedir.

Page 8: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

8

Sayfalama örneği; 4 byte uzunluğunda sayfalardan

oluşan 32 byte’lık bir bellek olduğunu düşünelim.

Mantıksal adres 3 (sayfa 0, ofset 3) fiziksel bellekte 23’ü ((5*4))+3) adreslemektedir.

Sayfalama örneği; 4 byte uzunluğunda sayfalardan

oluşan 32 byte’lık bir bellek olduğunu düşünelim.

Mantıksal adres 4 (sayfa 1, ofset 0), sayfa tablosuna bakıldığında çerçeve 6’dadır ve fiziksel bellekte 24’ü ((6*4))+0) adreslemektedir.

Sayfalama örneği; 4 byte uzunluğunda sayfalardan

oluşan 32 byte’lık bir bellek olduğunu düşünelim.

Mantıksal adres 13, fiziksel adreste 9’u ((2*4)+1) adreslemektedir.

Bölümleme (Segmentation)

Bölümlemede; mantıksal adres alanı bölümlerden oluşmaktadır.

Adres hem bölüm numarası hem de bölüm içerisindeki adresi belirten ofset numarasından meydana gelmektedir.

<bölüm numarası, ofset>

Bölümleme (Segmentation)

Bölüm tablosunda; bölümün başlangıç yerini tutan bölüm taban ve

bölümün uzunluğunu yani bitiş yerini belirlemede kullanılan bölüm tavan kaydedicileri bulunmaktadır.

Bölümleme (Segmentation)

MİB tarafından oluşturulan mantıksal adreste;

s: bölüm numarasını,

d: bölümdeki ofset adresi göstermektedir.

Page 9: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

9

Bölümleme (Segmentation)

Ofset adres, taban ve tavan kaydedicisi değerleri arasında olmalıdır.

Eğer değeri fazla olursa mantıksal adresin bölümü aşması nedeniyle işletim sistemi devreye girmektedir.

Eğer değeri bu belirtilen sınırlar arasında ise bölüm taban kaydedicisi ile bu adres toplanmakta ve bu şekilde istenilen byte’a ulaşılabilinmektedir.

Bölümleme

Bölümleme örneği Sayfalama ve bölümleme arasındaki

farklar; Bölümlemenin amacı adres alanının mantıksal olarak dilimlenmesidir. Sayfalama ise belleğin fiziksel olarak dilimlenip bir düzeyli bir bellek (sabit disk, bellek farkı gözetmeden erişim) oluşturulması amacına yöneliktir.

Sayfalar makine donanımına bağlı olarak sabit boyuttadır. Bölümler ise kullanıcı tarafından belirlenecek boyuttadır.

Sayfalama ve bölümleme arasındaki farklar;

Program adresinin sayfa ve ofset numaralarına ayrılması donanımın bir işlevidir. Ofset numarasının sınırı aşması otomatik olarak sayfanın çevrilmesine sebep olur. Oysa bölüm ve ofset numarasında bir sınır aşma hadisesi söz konusu değildir. Bu durumda bellek erişim hatası yani erişilmemesi gereken yere erişim hatası oluşur.

Bölümlemenin sayfalama ile birlikte kullanılması

Bölümler kendi içerisinde sayfalara ayrılmaktadır.

Mantıksal adres üç parçadan oluşmaktadır; bölüm, sayfa ve ofset adresi.

Sayfa

numarası

Sayfadaki ofset

numarası

Bölüm

numarası

Page 10: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

10

55

Sayfalı Bellek Yönetimi

Görevlerin mantıksal adres evrenleri, birbirini izleyen, eşit uzunlukta parçalardan oluşur. Bu parçalar program sayfası olarak adlandırılır. Bu evren içinde adreslerin iki birleşeni bulunur (s,x). Bu birleşenlerden ilki (s) sayfa numarası, ikincisi ise (x) sayfa başına göreli adrestir. İşletim sistemi her görev için Sayfa Tanım Çizelgesi tutar

Sayfa Numarası Sayfa Başlangıç Adresi Erişim Hakkı

İşletim sistemi hangi sayfaların boş olduğunu Bellek Tanım Çizelgesi’nde tutar.

56

Sayfalı bellek yönetiminde, programların mantıksal adres evrenlerini eşit uzunlukta sayfalara ayırmak ve bu sayfaları ana bellekte bitişken olma zorunluluğu bulunmayan fiziksel sayfalarla eşleştirmek ilkesi, görevlere atanacak bitişken bellek parçalarını küçülterek kullanılmayan en küçük parçayı bile değerlendirebilmeyi amaçlar.

Sayfalı Bellek Yönetimi

Bölümlü Bellek Yönetimi Görevlere atanacak bitişken bellek parçalarını küçültmenin bir yolu da program adres evrenlerini kesimlere (Segment) ayırmaktır. Kesimler, programlar içinde, içerikleri yönünden mantıksal bütünlüğü bulunan parçalara verilen addır. Programlar, örneğin,

Ana yordamın bulunduğu kesim Alt yordamların bulunduğu kesim Değişken, dizi, dizgi gibi, verilerin topluca tutulduğu kesim Yığıt olarak kullanılan kesim

gibi değişik türde kesimlerden oluşabilir. Kesimlerin birbirleriyle bitişken olarak düşünülmeleri de gerekmez. Kesimlerden oluşan programlar içindeki adresler, kesim kimliği (numarası) ve kesim içi adres olarak, iki birleşenden oluşur.

57

Sayfalı ve Bölümlü bellek yönetimleri birbirlerine çok benzerler. Ancak bu iki yönetim biçimi arasında önemli temel fark:

Programların mantıksal adres evrenleri; Sayfalı bellek yönetiminde mekanik biçimde eşit uzunlukta sayfalara,

Bölümlü bellek yönetiminde ise değişken uzunlukta, mantıksal bütünlüğü taban alan kesimlere ayrılır.

Bölümlü Bellek Yönetimi

58

Sayfalı Görüntü Bellek Yönetimi

Sayfalı bellek yönetiminden farklı olarak diskin bir bölümü de ana bellek alanıymış gibi kullanılır. Görüntü bellek düzeninde tüm program sayfalarının ana bellekte bulunma zorunluluğu yoktur. Görüntü bellek düzeninde sayfalar diskte saklandığından 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

Sayfa Bellekte Belirteci (Sayfanın bellekte olup olmadığını gösterir) Değişim Belirteci (Bellekteki ve diskteki kopya arasında fark olup olmadığını gösterir) Erişim Hakkı

59 60

Sayfalı Görüntü Bellek Yönetimi

Page 11: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

11

61

Adres dönüştürme sürecin de, bellek yöneticisinin gerçekleşmesi gereken işlemler şunlardır: a. Bellekte göreve atanacak boş bir sayfa aramak. b. Bellekte kullanılabilir boş bir sayfa yoksa, yer açmak

üzere ana bellekten çıkarılacak sayfanın seçimini yapmak.

c. Ana bellekten çıkarılacak sayfada günleme yapılmışsa (diskteki kopyasından farklı ise) sayfayı diskteki yerine yazmak.

d. Erişilmek istenen sayfayı ana belleğe yüklemek. e. Yarıda kesilen komutun işletimini yeniden başlatmak.

Sayfalı Görüntü Bellek Yönetimi

62

Ana bellekten sayfa çıkarma algoritmaları; ana bellekte yer kalmadığı durumlarda diske ana bellekteki bir sayfanın geçici olarak aktarılması işlemini (Ana bellek-disk arası gelgit) en aza indirmeyi hedefler.

İlk giren sayfayı çıkarma En erken erişilmiş sayfayı çıkarma En geç erişilecek sayfayı çıkarma

Sayfa Çıkarma Algoritmaları

63

Bellekte uzun süre kalan bir sayfanın, gelecek komut işletimlerinde erişilme olasılığının düşük olacağı varsayımına dayanır.

İlk giren sayfayı çıkarma (FIFO)

64

Yakın geçmişte kullanılmamış sayfayı çıkarma algoritması olarak bilinir.

En erken erişilmiş sayfayı çıkarma (Least Recently Used - LRU)

65

Kuramsal olarak en iyi sonucu verecek algoritmadır. Zira bellekten bir sayfa çıkarmak gerektiğinde, o an en geç erişilecek sayfanın hangisi olduğu tahmin edilecektir.

En geç erişilecek sayfayı çıkarma (Optimal)

66

Bölümlü Görüntü Bellek Yönetimi

Kesim tanım çizelgelerinde Kesim başlangıç (base) Boy (limit) Erişim hakkı Kesim Bellekte Belirteci(0 veya 1) Erişim Belirteci Değişim Belirteci ‘de

bulunmalıdır.

Page 12: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

12

67

Bölümlü Sayfalı Görüntü Bellek Yönetimi

Programların mantıksal adres evrenleri kesimlere, kesimler de sayfalara ayrılır. Bölümlü görüntü bellek yönetiminin temel sakıncasını oluşturan değişken boydaki kesimleri sayfa tabanında ele almak mümkün olur. Bölümlü-sayfalı görüntü bellek yönetiminde mantıksal adresler üç birleşenden oluşur. Bu birleşenler:

Kesim numarası Kesime göreli sayfa numarası Sayfa içi adrestir.

68

Mantıksal adresten fiziksel adrese geçişte iki temel çizelge kullanılır: 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

Bölümlü Sayfalı Görüntü Bellek Yönetimi

Sanal Bellek

Arkaplan

İsteğe bağlı disk belleği

Süreç Oluşturma

Süreç Oluşturma

Çerçeveler Tahsisi

Yarasız İşlemeThrashing)

İşletim Sistemi Örnekler

69

Sanal bellek tekniğinde, işlemin tamamı değil, onun yerine yalnızca o anda çalıştırılacak bölüm belleğe alınır ve ana belleğin kapasitesi artırılır.

Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, sözcük işlemcileri, tablolama izlenceleri gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır

70

Genel Bilgiler

Sanal Bellek– fiziksel belleğin kullanıcı için mantıksal bellekten desteklenmesi.

Program sadece bir kısmını icrası için bellekte olması gerekmektedir.

Mantıksal adres alanı, bu nedenle fiziksel adres alanından çok daha büyük olabilir.

Adres alanlarını çeşitli uygulamalar tarafından paylaşılmasına olanak sağlar.

Daha etkin bir süreç oluşturulmasını sağlar.

Sanal bellek üzerinden uygulanabilir : İsteğe bağlı disk belleği

Talep segmantasyon 71

Sanal Belleğin Fiziksel Bellekten Büyük Olması

72

Page 13: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

13

İsteğe bağlı disk belleği

Gerekli olduğunda belleğe bir sayfa getirmek Daha az I/O gerekli

Daha az bellek gerekli

Hızlı tepki

Daha fazla kullanıcı

Sayfa gereklidir için başvuru geçersiz referans iptal

bellek içinde değil belleğe getirmek

73

Bitişik Disk Alanı için bir Sayfalanmış Bellek transferi

74

Geçerli-Geçersiz Bit

Her sayfa tablosu girdisi ile geçerli-geçersiz bit ilişkilidir (1 bellek içine, 0 bellek dışına)

Başlangıçta geçerli-geçersiz ancak tüm girişleri 0 olarak ayarlanır.

Bir sayfa tablosu anlık örneği.

Adresi çevirisi sırasında, sayfa tablosu girdisi eğer geçerli-geçersiz bit 0 sayfa hatası.

1

1

1

1

0

0

0

Frame # valid-invalid bit

page table 75

Sayfa bazı sayfalar ana bellekte değilse tablosu

76

Sayfa Hatası

Bir sayfa için hiç bir referans varsa, ilk referans yakalar OS sayfa hatası

OS karar vermek için başka bir tabloya bakar:

Yanlış referans hata.

Sadece bellek değil.

Boş çerçeve alın.

Swap sayfa çerçevesi içine.

Sıfırla tablolar, doğrulama bit = 1.

Talimatı yeniden başlatın : En Son Kullanılan

Blok taşıma

Otomatik artırma / eksiltme konumu 77

Bir sayfa hatası İşleme Adımları

78

Page 14: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

14

Hiç boş çerçeve var ise ne olur?

Sayfa yenileme -bazı sayfa bellekte bulmak Ancak çok kullanımda , dışarı takas.

algoritma

performans – sayfa hatalarının en az sayıda neden olacak bir algoritma istiyorum.

Aynı sayfa belleğe defalarca getirilmesi.

79

İsteğe bağlı disk belleği performansı

Sayfa Hatası Oranı 0 p 1.0 eger p = 0 sayfa hatası yok

eger p = 1 , Her başvuru bir arıza olduğunu

Etkili Erişim Süresi(EAT)

EAT = (1 – p) x bellek erişimi

+ p (sayfa hatası yükü

+ [swap sayfa dışına]

+ swap sayfa içine

+ yükü yeniden) 80

Talep Çağrı Örnek

Bellek erişim süresi = 1 mikrosaniye

%50 zamanda sayfa değiştiriliyorsa, bu nedenle takas gerekiyor.

Swap Sayfa Zamanı= 10 msec = 10,000 msec

EAT = (1 – p) x 1 + p (15000)

1 + 15000P (in msec) 81

Süreç Oluşturma

Sanal bellek oluşturma işlemi sırasında diğer yarar sağlar:

- Kopyala-on-yazma

- Hafıza-Haritalı Dosyalar

82

Kopyala-üzerinde-yazma

Kopyala-üzerinde-yazma (COW) ana ve çocuk süreçler hem başlangıçta bellekte aynı sayfaları paylaşmanızı sağlar.

Her iki sürecin ortak bir sayfa değişiklik yaparsa, ancak o sayfa kopyalanır.

COW sadece sayfaları güncellendi kopyalanır gibi daha etkin bir süreç oluşturulmasını sağlar.

Boş sayfa sıfırlanmış-out sayfalık bir havuzdan ayrılır. 83

Memory-Mapped Files (Bellek-Eşlemeli Dosyalar)

(Bellek eşlemeli Dosya I/O ‘ları daima I/O rutin bellek erişimini bir disk engellemeye eşleyerek thread’lere bölünmesine izin verir.)

(Bir dosya ilk talebi bellek kullanılarak okunur. Dosyanın bir sayfa büyüklüğünde kısmı fiziksel bir sayfanın içine dosya sistemi okunur. Sıradan bellek erişir gibi sonraki okuma/yazma için / Dosya kabul edilir.)

(Dosya I/O birimleri yerine read() ,write() gibi sistem çağrıları ile kullanılarak dosya erişimi basitleştirir.)

Ayrıca, çeşitli işlemler bellekte sayfalar paylaşılabilmelerini sağlar ve aynı dosyaları eşleştirmek için olanak sağlar.

84

Page 15: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

15

Bellek-Eşlemeli Dosyalar

85

Sayma Algoritmalar

Her sayfa için yapılmış referans sayısı bir sayaç tutun.

LFU Algoritma: küçük sayısı ile sayfa yerini alır.

MFU Algoritması: küçük sayısı ile sayfa muhtemelen sadece kullanılacak ise henüz getirilmiş ve olduğu argümanı dayalı.

86

Çerçeveler Tahsisi

Her bir işlem için gereken en az sayıda sayfa.

Talimatı: Talimat 6 bayt, 2 sayfa yayılan olabilir.

Ele gelen 2 sayfa.

İşlemek için 2 sayfa.

İki büyük ayırma düzenleri. Sabit tahsisi

Öncelik tahsisi

87

Sabit Tahsisi

Eşit tahsisi– e.g., eğer 100 çerçeve ve 5 proses, Her 20 sayfa verir.

Oransal tahsisi - sürecinin büyüklüğüne göre ayırın.

mS

spa

m

sS

ps

iii

i

ii

for allocation

frames of number total

process of size

5964137

127

564137

10

127

10

64

2

1

2

a

a

s

s

m

i

88

Öncelik Tahsisi

Önceliklerin yerine boyutu kullanarak orantılı ayırma şeması kullanın.

Eğer Pi prosesi genel bir sayfa hatası oluşturuyorsa,

kendi çerçeveleri değiştirilmesi biri için seçin

yedek düşük öncelikli numarası ile bir süreci bir çerçeve seçin.

89

Küresel vs Yerel Tahsisi

Küresel yedek- Sürecinin tüm karelerin kümesinden yerine çerçevesini seçer; bir işlemin başka bir kare çekebilirsiniz.

Yerel değiştirme– Her bir işlem tahsis kare sadece kendi grubundan seçer.

90

Page 16: Bellek BELLEK Yönetimi bileşenden biridir. (MİB · Durgun Bellek Yönetimi Devingen Bellek Bitişken Bellek Yönetimi Parçalı Bellek Yönetimi Gerçek Bellek Yönetimi Sanal

16

yararsız işleme

Bir süreç "yeterli" sayfaları yoksa, sayfa hata oranı çok yüksektir. Bu yol açar:

Düşük CPU kullanımı.

işletim sistemi multiprogramming derecesinin artırılması gerektiğini düşünüyor

Başka bir işlem sistemi eklendi.

yararsız işleme bir proses meşgulse swap içeri ve dışarı olur.

91 92

Ana Belleğin Parçalanma Sorunu

Ana belleğin parçalanması, bitişen alanların görevlere atanan bölümlerle, zaman içinde ufalanmasıdı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ğlanamayan durumlarla karşılaşılabilir.

93

Bitiştirme

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 (DEFRAG) işlemi denir.

94

Yeri Değişir Bölümlü Bellek Yönetimi Programların, ana belleğe, derleme sonrası elde edildikleri biçimde yüklenerek işletilebilmelerini ve işletimleri sırasında, herhangi bir önlem almaya gerek kalmaksızın bir yerden diğer bir yere taşınabilmelerini olanaklı kılmaktadır.

95

Bitiştirme İşlemleri Ne Zaman ve Hangi Sıklıkla Uygulanır

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şte yinelemek; ana belleği 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 ihtiyaç bellek yönetici tarafından saptanır. Bitiştirme işlemi,

işletim sisteminin inisyatifinde otomatik olarak sistem işletmeni uyarılarak başlatılır.