Slayt 1 - EEMB DERSLER

Transkript

Slayt 1 - EEMB DERSLER
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.
BELLEK Yönetimi
Hafta 13
1
Ana Bellek Yönetimi
2
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.
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.
3
4
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.
ROM, RAM, PROM, EPROM,
EEPROM, FLASH MEMORY, VE
ÖNBELLEK;
OLARAK SAYILABILIR.
5
6
1
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) tazelenmesiyani elektronik yüklerle yeniden yüklenmesigerekir.
Statik RAM elektrik olduğu sürece içinde veri
bitlerini saklayan bir RAM’dir.
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.
7
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.
8
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.
9
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.
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.
11
12
2
Ö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.
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.
13
14
Geleneksel Bellek (Conventional
Memory):
• DOS’un ana belleğidir (base memory olarak da
bilinir). 0 – 640 KB arası hafıza bölgesidir. MSDOS uygulamaları burada çalışır. Bütün PC’
lerde 640K sınırı söz konusudur.
15
Üst Bellek ve Genişletilmiş Bellek
1024 KB - 4
GB
Uzatılmışbellek alanı
Ayrılmış bellek olarak da bilinen bu alan 640
KB ile 1 MB arasındaki hafıza bölgesidir.
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 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.
3
Uzatılmış Bellek (Extended Memory):
Ü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
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.
İş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
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.
Uzatılmış Bellek
Uzatılmış bellek
1024 KB alanı
- 4 GB Yüksek bellek
alanı
*XMS
(extended
memory
specification)
*1 MB üzeri bellek
*Windows kullanır.
*HIMEM.SYS
kontrol eder.
640Üst bellek alanı
1024 KB
0-640
Geleneksel bellek
KB
(Temel bellek)
Ana bellekte ayrıca iletim sistemi
bulunmakta ve bilgisayar kapanana
kadar sürekli bellekte
bulunmaktadır.
24
4
Bir işletim sisteminin bellek
yönetiminin yararları şunlardır:
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.
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
Ana Bellek Yönetimi
Bellek Yönetim Yöntemleri
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.
1) Tek Programlama Yöntemi,
2)Çoklu Programlama,
27
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 belekte çalışma esnasında
yalnızca bir tek işlem/program bulunur.
Ana
Bellek
İŞLETİM SİTEMİ
İŞLEM
BOŞ
5
Bellek Yönetim Türlerinin
Sınıflandırılması
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.
Bellek Yönetimi
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
32
Tek ve Bitişken Bellek Yönetimi
Değişmez Bölümlü 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.
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.
33
Değişmez Bölümlü Bellek Yönetimi
34
Değişken 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ı
35
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)
36
6
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,…)
37
Fiziksel ve mantıksal belleğin
sayfalama modelleri
Sayfalama (Paging)
Çerçeve
numarası
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.
0
1 sayfa 0
sayfa 0
sayfa 1
0 1
1 4
2
3 sayfa 2
2 3
sayfa 2
sayfa 3
Mantıksal Bellek
3 7
Sayfa
Tablosu
4 sayfa 1
5
6
7 sayfa 3
Fiziksel Bellek
Sayfalama örneği; 4 byte uzunluğunda sayfalardan
Sayfalama
Mantıksal
Address
MİB
p
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.
Fiziksel
Address
d
f
d
f
p
f
Fiziksel Bellek
Sayfa Tablosu
7
Sayfalama örneği; 4 byte uzunluğunda sayfalardan
Sayfalama örneği; 4 byte uzunluğunda sayfalardan
oluşan 32 byte’lık bir bellek olduğunu düşünelim.
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.
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.
8
Bölümleme (Segmentation)
Bölümleme
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 ö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;
Bölümlemenin sayfalama ile birlikte
kullanılması
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ümler kendi içerisinde sayfalara
ayrılmaktadır.
Mantıksal adres üç parçadan oluşmaktadır;
bölüm, sayfa ve ofset adresi.
Bölüm
numarası
Sayfa
numarası
Sayfadaki ofset
numarası
9
Sayfalı Bellek Yönetimi
Sayfalı Bellek Yönetimi
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.
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.
55
Bölümlü Bellek Yönetimi
56
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,
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;
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.
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.
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ı Görüntü 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
10
Sayfalı Görüntü Bellek Yönetimi
Sayfa Çıkarma Algoritmaları
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.
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
61
İlk giren sayfayı çıkarma
(FIFO)
62
En erken erişilmiş sayfayı çıkarma
(Least Recently Used - LRU)
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.
Yakın geçmişte kullanılmamış sayfayı çıkarma
algoritması olarak bilinir.
63
En geç erişilecek sayfayı çıkarma
(Optimal)
64
Bölümlü Görüntü Bellek Yönetimi
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.
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.
65
66
11
Bölümlü Sayfalı Görüntü Bellek
Yönetimi
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.
67
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
68
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
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
69
Genel Bilgiler
70
Sanal Belleğin Fiziksel Bellekten Büyük Olması
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
72
12
İsteğe bağlı disk belleği
Bitişik Disk Alanı için bir Sayfalanmış Bellek transferi
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
74
Sayfa bazı sayfalar ana bellekte değilse tablosu
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 Frame
tüm # valid-invalid bit
1
girişleri 0 olarak ayarlanır.
1
1
Bir sayfa tablosu anlık örneği.
1
0

0
0
page table
75
Adresi çevirisi sırasında, sayfa tablosu girdisi
Hatası
eğer geçerli-geçersiz bit Sayfa
0  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
76
Bir sayfa hatası İşleme Adımları
78
13
İsteğe bağlı disk belleği performansı
Hiç boş çerçeve var ise ne olur?
Sayfa yenileme -bazı sayfa bellekte
bulmak Ancak çok kullanımda , dışarı
takas.
Sayfa Hatası Oranı 0  p  1.0
eger p = 0 sayfa hatası yok
eger p = 1 , Her başvuru bir arıza olduğunu
algoritma
performans – sayfa hatalarının en az sayıda
neden olacak bir algoritma istiyorum.
Aynı sayfa belleğe defalarca getirilmesi.
79
Talep Çağrı Örnek
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
Süreç Oluşturma
Bellek erişim süresi = 1 mikrosaniye
Sanal bellek oluşturma işlemi sırasında
diğer yarar sağlar:
%50 zamanda sayfa değiştiriliyorsa, bu
nedenle takas gerekiyor.
- Kopyala-on-yazma
Swap Sayfa Zamanı= 10 msec = 10,000
msec
EAT = (1 – p) x 1 + p (15000)
1 + 15000P
(in msec)
- Hafıza-Haritalı Dosyalar
81
82
Memory-Mapped Files
(Bellek-Eşlemeli Dosyalar)
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
(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
14
Sayma Algoritmalar
Bellek-Eşlemeli Dosyalar
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ı.
85
86
Sabit Tahsisi
Ç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.
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.
si  size of process pi
S   si
m  total number of frames
si
m
S
m  64
si  10
ai  allocation for pi 
İki büyük ayırma düzenleri.
Sabit tahsisi
Öncelik tahsisi
s2  127
10
 64  5
137
127
a2 
 64  59
137
a1 
87
88
Küresel vs Yerel Tahsisi
Öncelik Tahsisi
Önceliklerin yerine boyutu kullanarak
orantılı ayırma şeması kullanın.
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.
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
90
15
yararsız işleme
Ana Belleğin Parçalanma Sorunu
Bir süreç "yeterli" sayfaları yoksa, sayfa
hata oranı çok yüksektir. Bu yol açar:
Ana belleğin parçalanması,
bitişen alanların görevlere
atanan bölümlerle, zaman
içinde ufalanmasıdır.
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
Bitiştirme
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.
92
Yeri Değişir Bölümlü Bellek Yönetimi
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.
93
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.
94
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.
95
16

Benzer belgeler