Professional Documents
Culture Documents
Bolum 08
Bolum 08
Bolum 08
Stratejileri
Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
Bölüm 8: Bellek Yönetim Stratejileri
Altyapı
Değiş tokuş (Swapping)
Ardışık Bellek Tahsisi (Contiguous Memory Allocation)
Sayfalama (Paging)
Sayfa Tablosunun Yapısı
Parçalama - Segmentasyon (Segmentation)
Örnek: The Intel Pentium
Operating System Concepts – 8th Edition 8.2 Silberschatz, Galvin and Gagne ©2009
Altyapı
Operating System Concepts – 8th Edition 8.3 Silberschatz, Galvin and Gagne ©2009
Taban (Base) ve Limit Kayıtçıları
Mantıksal adres alanını tanımlamak için bir çift taban (base) ve limit
kayıtçısı kullanılır
İşletim
sistemi
süreç
taban
süreç
süreç
Operating System Concepts – 8th Edition 8.4 Silberschatz, Galvin and Gagne ©2009
Belleğe Veri ve Komutların Bağlanması
Operating System Concepts – 8th Edition 8.5 Silberschatz, Galvin and Gagne ©2009
Bir Kullanıcı Programının Adım Adım
İşlenmesi
kaynak
program
nesne
diğer nesne
modülü
modülleri
Bağlama
editörü
yükleme
yükleme
modülü
sistem
kütüphanesi
zamanı
Dinamik yükleyici
Yüklenen
Sistem
kütüphanesi
dinamik
Bellekteki çalışma
İkili (binary)
bağlama bellek imajı zamanı
Operating System Concepts – 8th Edition 8.6 Silberschatz, Galvin and Gagne ©2009
Mantıksal – Fiziksel Adres Alanı
Operating System Concepts – 8th Edition 8.7 Silberschatz, Galvin and Gagne ©2009
Bellek Yönetim Ünitesi (BYU)
Memory-Management Unit (MMU)
Operating System Concepts – 8th Edition 8.8 Silberschatz, Galvin and Gagne ©2009
Yer Değiştirme Kayıtçısı Kullanarak
Dinamik Yer Değiştirme
Operating System Concepts – 8th Edition 8.9 Silberschatz, Galvin and Gagne ©2009
Dinamik Yükleme (Dynamic Loading)
Operating System Concepts – 8th Edition 8.10 Silberschatz, Galvin and Gagne ©2009
Dinamik Bağlama (Dynamic Linking)
Operating System Concepts – 8th Edition 8.11 Silberschatz, Galvin and Gagne ©2009
Değiş Tokuş (Swapping)
Bir süreç geçici olarak bellekten bir yardımcı belleğe (backing store) ve
daha sonra tekrar belleğe alınarak çalışmasına devam ettirilebilir
Operating System Concepts – 8th Edition 8.12 Silberschatz, Galvin and Gagne ©2009
Değiş tokuşun (Swapping)
Şematik Gösterimi
Operating System Concepts – 8th Edition 8.13 Silberschatz, Galvin and Gagne ©2009
Ardışık Tahsis (Contiguous Allocation)
Operating System Concepts – 8th Edition 8.14 Silberschatz, Galvin and Gagne ©2009
Yer Değiştirme ve Limit Kayıtçıları İçim Donanım
Desteği
Operating System Concepts – 8th Edition 8.15 Silberschatz, Galvin and Gagne ©2009
Ardışık Tahsis (Contiguous Allocation)
(Devam)
process 8 process 10
Operating System Concepts – 8th Edition 8.16 Silberschatz, Galvin and Gagne ©2009
Dinamik Depolama-Tahsis Problemi
Operating System Concepts – 8th Edition 8.17 Silberschatz, Galvin and Gagne ©2009
Parçalanma (Fragmentation)
Operating System Concepts – 8th Edition 8.18 Silberschatz, Galvin and Gagne ©2009
Sayfalama (Paging)
Operating System Concepts – 8th Edition 8.19 Silberschatz, Galvin and Gagne ©2009
Adres Dönüşüm Şeması
CPU tarafından üretilen adresler:
Sayfa ofseti (Page offset) (d) – taban adresi ile birlikte bellek
ünitesine gönderilecek fiziksel bellek adresini tanımlamak için
kullanılır
Operating System Concepts – 8th Edition 8.20 Silberschatz, Galvin and Gagne ©2009
Sayfalama Donanımı
Mantıksal Fiziksel
Adres Adres
Fiziksel
Bellek
Sayfa tablosu
Operating System Concepts – 8th Edition 8.21 Silberschatz, Galvin and Gagne ©2009
Mantıksal ve Fiziksel Belleğin
Sayfalama Modeli
Çerçeve
numarası
Sayfa Tablosu
Mantıksal
Bellek
Fiziksel
Bellek
Operating System Concepts – 8th Edition 8.22 Silberschatz, Galvin and Gagne ©2009
Sayfalama Örneği
0 0
1 1
2 2
Sayfa Tablosu
3 3
Mantıksal
Bellek
4
7
Fiziksel Bellek
Operating System Concepts – 8th Edition 8.24 Silberschatz, Galvin and Gagne ©2009
Sayfa Tablosu Uygulaması
Operating System Concepts – 8th Edition 8.25 Silberschatz, Galvin and Gagne ©2009
İlişkili Bellek (Associative Memory)
Operating System Concepts – 8th Edition 8.26 Silberschatz, Galvin and Gagne ©2009
TLB ile Sayfalama Donanımı
mantıksal
adres
Sayfa Çerçeve
No No
TLB'de
var
fiziksel
adres
TLB'de
yok
Fiziksel
bellek
Sayfa
Tablosu
Operating System Concepts – 8th Edition 8.27 Silberschatz, Galvin and Gagne ©2009
Verimli Erişim Süresi
Bulma oranı =
Verimli Erişim Süresi (Effective Access Time) (EAT)
= (2t + – t)
Operating System Concepts – 8th Edition 8.28 Silberschatz, Galvin and Gagne ©2009
Örnek( TLB)
%80 bulma oranına sahip demek istenen sayfanın TLB'de %80 oranında
bulunabildiğini gösterir. Örneğin TLB'yi aramak 20 nanosaniye, belleğe
erişim de 100 nanosaniye olsun, bu durumda sayfa numarası TLB'de
mevcut ise erişim süresi 120 nanosaniye olur.
Eğer sayfa numarası TLB'de bulunamazsa (20 nanosaniye) bu durumda
önce belleğe sayfa tablosuna ve çerçeve numarasına erişip (100 ns) sonra
da istenen bellek parçasına erişilebilir (100 ns), dolayısıyla toplamda 220 ns
geçer.
Verimli Bellek erişim Süresi= 0.80 x (100+20) + 0.20 x (2*100+20) = 140 ns
Dolayısıyla %40'lık bir yavaşlama olur
Operating System Concepts – 8th Edition 8.29 Silberschatz, Galvin and Gagne ©2009
Bellek Koruma (Memory Protection)
Operating System Concepts – 8th Edition 8.30 Silberschatz, Galvin and Gagne ©2009
Sayfa Tablosundaki Geçerli (Valid) (v) veya
Geçersiz (Invalid (i)) Biti
Sayfa 0
geçerli-
çerçeve no
geçersiz biti
Sayfa 0 Sayfa 1
Sayfa 1 Sayfa 2
Sayfa 2
Sayfa 3
Sayfa 4 Sayfa 3
Sayfa 5 Sayfa 4
sayfa tablosu
Sayfa 5
Operating System Concepts – 8th Edition 8.31 Silberschatz, Galvin and Gagne ©2009
Paylaşılan Sayfalar (Shared Pages)
Operating System Concepts – 8th Edition 8.32 Silberschatz, Galvin and Gagne ©2009
Paylaşılan Sayfalar Örneği
Operating System Concepts – 8th Edition 8.33 Silberschatz, Galvin and Gagne ©2009
Sayfa Tablosu Yapısı
Operating System Concepts – 8th Edition 8.34 Silberschatz, Galvin and Gagne ©2009
Hiyerarşik Sayfa Tabloları
Operating System Concepts – 8th Edition 8.35 Silberschatz, Galvin and Gagne ©2009
Çift-Seviyeli Sayfa Tablosu Şeması
dış sayfa
tablosu
Sayfa
tablosunun
sayfası
Sayfa tablosu
Bellek
Operating System Concepts – 8th Edition 8.36 Silberschatz, Galvin and Gagne ©2009
Çift-Seviyeli Sayfalama Örneği
Mantıksal adres (32-bit bir makinada 1K sayfa boyutu ile) şunlara bölünmüştür:
22 bitlik oluşan sayfa numarası
Ve 10 bitlik sayfa ofseti
Sayfa tablosu sayfalandığından dolayı, sayfa numarası da:
12-bitlik sayfa numarası
10-bitlik sayfa ofsetine bölünmüştür
Dolayısıyla mantıksal adres aşağıdaki gibidir:
12 10 10
pi dış sayfa tablosuna bir endeks, ve p2 dış sayfa tablosundaki sayfalar arasında
yerdeğişimdir
Operating System Concepts – 8th Edition 8.37 Silberschatz, Galvin and Gagne ©2009
Adres-Dönüşüm Şeması
mantıksal adres
dış sayfa
tablosu
sayfa
tablosunun
sayfası
Operating System Concepts – 8th Edition 8.38 Silberschatz, Galvin and Gagne ©2009
Üç-Seviyeli Sayfalama Şeması
Operating System Concepts – 8th Edition 8.39 Silberschatz, Galvin and Gagne ©2009
Hashed Sayfa Tabloları
Operating System Concepts – 8th Edition 8.40 Silberschatz, Galvin and Gagne ©2009
Hashed Sayfa Tablosu
fiziksel
mantıksal adres adres
hash fiziksel
fonksiyonu bellek
hash tablosu
Operating System Concepts – 8th Edition 8.41 Silberschatz, Galvin and Gagne ©2009
Ters Sayfa Tablosu
Operating System Concepts – 8th Edition 8.42 Silberschatz, Galvin and Gagne ©2009
Ters Sayfa Tablosu Mimarisi
mantıksal
adres fiziksel
adres fiziksel
bellek
arama
Sayfa tablosu
Operating System Concepts – 8th Edition 8.43 Silberschatz, Galvin and Gagne ©2009
Segmentasyon (Parçalama)
Operating System Concepts – 8th Edition 8.44 Silberschatz, Galvin and Gagne ©2009
Programın Kullanıcı Görünümü
Alt Yığıt
fonksiyon
Sembol
tablosu
Ana
program
mantıksal adres
Operating System Concepts – 8th Edition 8.45 Silberschatz, Galvin and Gagne ©2009
Segmentasyonun Mantıksal Görünümü
4
1
3 2
4
Kullanıcı alanı
user space Fizikselmemory
physical bellek alanı
space
Operating System Concepts – 8th Edition 8.46 Silberschatz, Galvin and Gagne ©2009
Segmentasyon Mimarisi
Operating System Concepts – 8th Edition 8.47 Silberschatz, Galvin and Gagne ©2009
Segmentasyon Mimarisi
Koruma
Segment tablosundaki her girdi için:
Geçerleme (validation) biti = 0 geçersiz (illegal)
segment
okuma/yazma/çalıştırma (read/write/execute)
yetkileri (privileges)
Koruma bitleri segmentlerle ilişkilendirilir; kod paylaşımı
segment seviyesinde oluşur
Segmentlerin uzunlukları değiştiğinden dolayı, bellek tahsisi
bir dinamik depolama tahsis problemidir
Operating System Concepts – 8th Edition 8.48 Silberschatz, Galvin and Gagne ©2009
Segmentasyon Donanımı
Operating System Concepts – 8th Edition 8.49 Silberschatz, Galvin and Gagne ©2009
Segmentasyon Örneği
segment tablosu
fiziksel bellek
Operating System Concepts – 8th Edition 8.50 Silberschatz, Galvin and Gagne ©2009
Bölüm 8 Son
Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009