İşletim sistemlerinde, gerçekleştirilen işlemlerin geçici olarak saklandığı merkeze ana bellek (RAM) denir.



Benzer belgeler
İşletim Sistemleri (Operating Systems)

İşletim Sistemlerine Giriş

Sanal Bellek (Virtual Memory)

BELLEK Yönetimi. Ana Bellek Yönetimi. Ana Bellek Yönetimi

İşletim Sistemlerine Giriş

BTP 205 İŞLETİM SİSTEMLERİ

İşletim Sistemlerine Giriş

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

BELLEK YÖNETY NETİMİ. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi Teknikleri

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

Background (Arka Plan)

Bölüm 8: Ana Bellek 8.1

Görüntü Bellek. Ana Bellek. Fiziksel Adres. Belek Uzayı. Bellek hiyerarşisi. Hız Maliyet (+) Ana Bellek. Boyut (+) DISK. Görüntü Adres.

BELLEK YÖNETY. Bellek Yönetimi

İşletim Sistemleri (Operating Systems)

İşletim Sistemlerine Giriş

PROSESLER. Proses. Proses

Bilgisayar İşletim Sistemleri BLG 312

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

YZM 3102 İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri

Bilgisayar İşletim Sistemleri BLG 312

DİSK DEPOLAMA ALANLARI

Windows XP: Virtual Memory / Sanal Bellek Perşembe, 07 Eylül :51 - Son Güncelleme Salı, 12 Eylül :07

İŞLETİM SİSTEMLERİ DERS 9 BELLEK YONETİMİ

PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

İşletim Sistemi. BTEP205 - İşletim Sistemleri

Öğr. Gör. Ümit ATİLA

İşlem Yönetimi (Process Management)

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

Windows Eski Sürümleri Bellek Yapısı

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

İşletim Sistemlerine Giriş 2. Kaynakların Paylaşımı. Öğr.Gör. Dr. Şirin KARADENİZ

Süreç Yönetimi. Logo

İŞLETİM SİSTEMLERİ. (Operating Systems)

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR?

Dosya Saklama Ortamları (Sabit Diskler) Kütük Organizasyonu 1

Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir.

Şekil. 64 Kelimelik Yığıtın Blok Şeması

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

Şekil 2.1 : Şekil 2.2 : Şekil 2.3 :

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri


Mikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin

B-Tree Dosya Sistemi (BTRFS)

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

AĞ TEMELLERI. İSİM SOYİSİM: EMRE BOSTAN BÖLÜM: BİLGİSAYAR PROGRAMCILIĞI ÜNİVERSİTE: NİŞANTAŞI KONU: Konu 5. TCP/IP

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Bilgilerin Uzun Vadeli Saklanması

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

VERİ TABANI YÖNETİM SİSTEMLERİ

Çok işlemli (multitasking) sistemlerde işlemler (process) kısıtlı kaynakları kullanmak zorundadırlar.

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri

Algoritmalar ve Programlama. Algoritma

Bilgisayarım My Computer. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

E-UYGULAMALAR VE DOKÜMAN YÖNETİM SİSTEMİ PROJESİ (EUP)

Bölüm 8: Ana Bellek. Operating System Concepts 9 th Edition. Mehmet Demirci tarafından çevrilmiştir.

Dosyalarda Farklı Yaklaşımlar. Kütük Organizasyonu 1

ELN1001 BİLGİSAYAR PROGRAMLAMA I

(Random-Access Memory)

Bilgisayar İşletim Sistemleri BLG 312

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

VERİTABANI Veritabanı Tasarımı

Yrd. Doç. Dr. Caner ÖZCAN

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

WINDOWS 7. Eğitim ID 98 2/4 (Normal Seviye Kullanıcı) Konu ID Windows 7 Hakkında Genel Bilgi Ek Bilgi -

Bilgisayarım My Computer

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Giriş Çıkış Birimleri:

DERS: MESLEKİ BİLGİSAYAR MODÜL -2: İŞLETİM SİSTEMİNDE MASA ÜSTÜ

Bölüm 9: Sanal Bellek

Bilgisayar Programcılığı

5. HAFTA KBT104 BİLGİSAYAR DONANIMI. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Java Temel Özellikleri

ALGORİTMA VE PROGRAMLAMA II

Göstericiler (Pointers)

Sabit ve Taşınabilir Diskler BÖLÜM-2 Pata Diskler İçin Master-Slave Ayarları Disk Biçimlendirme Harici Diskler Olası Sabit Disk Arızaları RAID

Bilgisayarların Gelişimi

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

BİLGİSAYAR PROGRAMLAMA

Dosyaların Özellikleri (Attribute) Dosya İşlemleri. İki Seviyeli Katalog Sistemleri. Tek Seviyeli Katalog Sistemleri. Hiyerarşik Katalog Sistemleri

BTP 209 SİSTEM ANALİZİ VE TASARIMI

KENDĐ KENDĐNE YOL BULAN ARAÇ

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Çankırı Karatekin Üniversitesi

Veritabanı. Ders 2 VERİTABANI

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

Yedekleme ve Kurtarma Kullanıcı Kılavuzu

ROKAY. Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0

Bilgisayar en yavaş parçası kadar hızlıdır!

Yrd. Doç. Dr. Caner ÖZCAN

BİLGİSAYAR KULLANMA KURSU

Transkript:

Bellek Yönetimi 2 İşletim sistemlerinde, gerçekleştirilen işlemlerin geçici olarak saklandığı merkeze ana bellek (RAM) denir. Ana bellek, giriş-çıkış aygıtlarının kolaylıkla ulaşabildiği bir bilgi deposudur. Merkezi işlem birimi (MİB), işlemleri ana bellekten alır ya da ana belleğe koyar. 1

Bellek Yönetimi 3 Çok görevli sistemlerde, ana belleğin işletim sistemi kullanımı dışında olan kısım, farklı programların kullanımı için değişik parçalara (bitişken alanlara) bölünür. Çekirdek (İşletim Sistemi) Program 1 Program 2. Program n Bellek Yönetimi 4 Ana belleğin işlemler arasında paylaştırılmasına ana bellek yönetimi ya da bellek yönetimi (memory management) adı verilir. İşletim sisteminin bu amaçla oluşturulan kesimine de bellek yöneticisi (memory manager) adı verilir. 2

Bellek Yönetimi 5 Bellek yöneticisinin başlıca görevleri: Belleğin hangi parçalarının kullanımda olduğunu, hangi parçalarının (bitişken alanların) kullanılmadığını izlemek, Süreçlere (işlemlere) bellek tahsis etmek (allocate), tahsis edilen belleği geri almak (deallocate), Bellek ile disk arasındaki yer değiştirme (swap) işlemlerini gerçekleştirmektir. Bellek Yönetimi 6 Yer Değiştirme (Swap) Çalışma zamanında süreçler bellek ile disk arasında sürekli yer değiştirir. Süreçlerin bu şekilde disk ile bellek arasında yer değiştirilmesinin nedeni, belleğin boyutunun yetersiz olmasıdır. Sisteme sunulan iş, o an sistemde işletimde olan işlerden daha öncelikli ise hemen işletime alınması gerekir. Bu durumda, eğer ana bellekte yeterli alan yoksa, daha az öncelikli görevlerin, işletimlerini sonradan tamamlanmak üzere geçici olarak diske taşınması ve boş bellek alanı oluşturulması gerekir. 3

Bellek Yönetimi 7 Yer Değiştirme (Swap) Bu yolla açılan boş bellek alanları yeni görevlerin tanımlanabilmesine ve öncelikli işlerin çalışmasına olanak sağlar. Bellekte boş alan oluşturulunca işlemin buraya taşınmasına belleğe taşıma (swap in) denir. İşletimi tamamlanmamış bir görevin, daha öncelikli görevlere ana bellekte yer açmak üzere geçici olarak diskteki özel alanlara (sanal bellek) taşınmasına diske taşıma (swap out) denir. Bellek Yönetimi 8 4

9 Bellek Yönetimi Yer Değiştirme yöntemi kullanıldığında ve ana bellekte yer açmak gerektiğinde, hangi görevin diske taşınması gerektiğine karar verilmelidir. Bekleyen görevler arasında, bellek alanı elinden alınacak görevi seçmek için aşağıdaki kriterleri göz önünde bulunduran değişik algoritmalar kullanılır. Görev önceliği En uzun kaynak bekleme süresi kalan Ana belleği o ana kadar en çok kullanan Bazı görevler, yerine getirdikleri hizmetlerin önemi nedeniyle sistemden uzaklaştırılamazlar. 10 Bellek Bölümleme (Memory Partitioning) Ana bellek, birden fazla program arasında paylaştırılmalı ve bölünmelidir. Bunu yapabilmek için kullanılan yöntemler: Değişmez Bölümlü Belek Yönetimi Devingen Bölümlü Bellek Yönetimi Sayfalı Bellek Yönetimi Kesimli Bellek Yönetimi 5

Değişmez Bölümlü Bellek Yönetimi 11 Bu yöntemde ana bellek, işletim sistemi ile birden çok kullanıcı programı arasında paylaşılır. Ana bellek, bitişken, irili ufaklı, birden çok bölüm olarak düzenlenir. Bir iş, işletime alınmadan önce, ana bellekte kendisine, boyuyla uyumlu bir bölüm atanır. İş, kendisine atanan bu bölümü, işletimi tümüyle sonlanana kadar korur. Bölümler, bilgisayar sisteminin işletimi başlamadan önce belirlenen boylarını sistem işletime kapanana kadar korurlar. Değişmez Bölümlü Bellek Yönetimi Değişmez bölümlü bellek yönetiminde bölümler sabit bir büyüklükte olabilir. 12 Toplam büyüklüğü 64M, bölüm boyutları da 8M olan bir bellek yan tarafta görünmektedir. 10 M 16 M 6 M 10M bir işlem istek yolladığında 2 bölüm birleştirilecek ve bu istek kaydedilince 6M lık bir iç parçalanma (internal fragmentation) oluşacaktır. 6

Değişmez Bölümlü Bellek Yönetimi 13 Değişmez bölümlü bellek yönetiminde bölümler farklı büyüklükte olabilir. Toplam büyüklüğü 64M, bölüm boyutları da farklı olan bir ana bellek yan tarafta görünmektedir. 10M bir işlem istek yolladığında en az iç parçalanmanın oluşacağı bölüm bulunacak istek bu bölüme konulacaktır. 10 M 2 M Devingen Bölümlü Bellek Yönetimi Bu yöntemin temel ilkesi, bölümlerin, işlerin görevlere dönüştürülüp sisteme sunuluşları aşamasında, devingen olarak yaratılmasıdır. 14 Bu yöntemde, ana bellekte kullanıcı işlemleri boşluklara bloklar halinde yerleştirilmektedir. Bu yöntemle bir işlem ana belleğe yükleneceği zaman, işlem için gerekli miktarda yeni bir bölüm oluşturularak, işlem oluşturulan yeni bölüme yüklenir. 7

15 Devingen Bölümlü Bellek Yönetimi Yeni bir işlem geldiğinde bu belleğe işlemin yeteceği kadar bir alan ayrılarak konumlandırılmakta ve işletim sistemi boş alanlar ve dolu alanlar ile ilgili bilgileri kayıt altına almaktadır. Bölümlerle ilgili bölüm başlangıç adresi, boyu gibi bilgiler tutulmaktadır. 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. 16 Devingen Bölümlü Bellek Yönetimi Örnek: 64M ana belleğin aşağıdaki dört program için kullanılacağını varsayınız. 8

17 Devingen Bölümlü Bellek Yönetimi Başlangıçta ana belleğin işletim sistemi dışında boş olduğunu varsayınız. Programlar birbirleri ardına gerekli bölümleri oluşturarak ana belleğe yüklenirler. 18 Devingen Bölümlü Bellek Yönetimi Bu durumda P4 işlemi için bellekte yeterli yer yoktur. Yer değiştirme (swap) işlemiyle bir işlem sanal belleğe taşınır. P2 nin yer değiştireceğini varsayalım. 9

19 Devingen Bölümlü Bellek Yönetimi P2 nin yer değiştirmesinden sonra bellekte 14M lık bir bölüm serbest kalır. Bu bölüme P4 yüklenebilir. 20 Devingen Bölümlü Bellek Yönetimi P2 nin çalışması için tekrar ana belleğe yüklenmesi gerektiğini varsayalım. Bu sefer P1 in bekleme durumunda olduğunu ve yer değiştireceğini varsayalım. Yer değiştirme olayından sonra P2 tekrardan ana belleğe yüklenebilir. 10

Devingen Bölümlü Bellek Yönetimi Ana Belleğin Parçalanması Sorunu Ana belleğin parçalanması, bitişken alanların görevlere atanan bölümlerle, zaman içinde ufalanması olarak tanımlanır. 21 Bu sorun, kullanılan bölümler arasına sıkışmış, işletim için bekleyen görevlerin gereksinimini karşılayamayan boş alanların varlığıyla ortaya çıkar. Belleğin parçalanması sonucu, bellekteki boş alanların toplamı, gerekli sığmaları karşılıyor olmasına karşın yeni görevlere yer sağlanamaz durumlarla karşılaşılır. Devingen Bölümlü Bellek Yönetimi 22 Görevlere sağlanan alanların konumlarının işletim sırasında değiştirilememesi parçalanma sorununun temel nedenleridir. Bölüm içi yararlanılamayan boş alanlar iç parçalanma, bölümler arasında kalan boş alanlar ise dış parçalanma olarak adlandırılır. Devingen bölümlü bellek yönetiminde bölümler arasında boş alanlar kalmakta, yani dış parçalanma oluşmaktadır. 11

Bitiştirme (Compaction) 23 Tüm bellek alanına dağılmış durumdaki bölümleri, yerlerini değiştirerek yan yana yerleştirip tek bir bitişken boş alan yaratma işlemine bitiştirme işlemi (compaction) denir. Verilen örnekte, görevlere bellek ataması yapılması ve bir göreve atanan bellek konumunun işletim sırasında değiştirilememesi sonucu bitişkin alanların parçalandığı görülmektedir. Bu sakıncalı durumun yok edilebilmesi için bitiştirme işlemi kullanılabilir. Bitiştirme (Compaction) 24 Bitiştirme işlemiyle tüm kullanılmayan parçalar bir yerde toplanır. Bitiştirme işlemi, işlemciyi meşgul eden, zaman alan ve dolayısıyla bilgisayarı yavaşlatan bir işlemdir. Bitiştirme ihtiyacını azaltmak için farklı yerleştirme algoritmaları kullanılır. 12

Yerleştirme Algoritmaları 25 İşletim sistemi, bellekteki boşlukların bulunduğu listeden işlem için en uygun boşluğu belirlemede 3 başlıca strateji kullanır: İlk Uygun Yer Algoritması (First Fit) Sonraki Uygun Yer Algoritması (Next Fit) En Uygun Yer Algoritması (Best Fit) Yerleştirme Algoritmaları 26 İlk Uygun Yer Algoritması Bir süreç (işlem) bellek isteğinde bulunduğunda, bellek baştan sona taranır ve süreç için gerekli olan bellek boyutunu sağlayan ilk boş alana yerleştirilir. Gerçekleştirmesi kolay ve en hızlı çalışan algoritmadır. 13

Yerleştirme Algoritmaları 27 Sonraki Uygun Yer Algoritması İlk uygun yer algoritması ile aynı mantıkta çalışır, fakat bu algoritma en son bulduğu uygun yer bilgisini saklar. Bir sonraki aramada belleğin en başından değil de, saklamış olduğu noktadan itibaren aramaya başlar. İlk uygun yer algoritmasına göre biraz daha yavaş çalışır. Yerleştirme Algoritmaları 28 En Uygun Yer Algoritması Bu algoritma belleğin başından sonuna kadar tüm boş alanları tarar ve süreç için gerekli olan bellek boyutuna en uygun olan (en yakın boyuttaki) boş bellek alanına süreci yerleştirir. En yavaş algoritma çalışan algoritmadır. Çok küçük ve kullanışsız parçalanmalara sebep olur. 14

Yerleştirme Algoritmaları 29 Örnek 1 Ana bellekteki boş ve dolu bölümlerin yan tarafta göründüğü gibi olduğunu varsayınız. 16M lık bir yerleştirme isteğini ilk uygun, sonraki uygun ve en uygun yer algoritmasına göre belleğe yerleştiriniz. Yerleştirme Algoritmaları 30 İlk uygun yer algoritması 22MB lık bölümü kullanarak 2MB lık dış parçalanma, sonraki uygun yer algoritması son 36MB lik bölümü kullanarak 20MB lik dış parçalanma, en uygun yer algoritması da tüm yerlere bakarak 18M lık bölümü kullanarak, 2M lık dış parçalanma oluşturur. 15

Yerleştirme Algoritmaları Örnek 2 Ana bellekte sırayla aşağıdaki boş bölümlerin olduğunu varsayınız. 31 24K, 20K ve 18K lık bellek kullanım istekleri için sırasıyla hangi boşlukların kullanılacağını ve oluşacak parçalanmaları aşağıdaki algoritmaları kullanarak belirtiniz. İlk Uygun Yer Algoritması Sonraki Uygun Yer Algoritması En Uygun Yer Algoritması Yerleştirme Algoritmaları İlk Uygun Yer Algoritması 32 24 K Boşluk 3 (16K parçalanma) 20 K Boşluk 1 (0K parçalanma) 18 K Boşluk 4 (18K parçalanma) 16

Yerleştirme Algoritmaları Sonraki Uygun Yer Algoritması 33 24 K Boşluk 3 (16K parçalanma) 20 K Boşluk 4 (16K parçalanma) 18 K Boşluk 6 (0K parçalanma) Yerleştirme Algoritmaları En Uygun Yer Algoritması 34 24 K Boşluk 7 (0K parçalanma) 20 K Boşluk 1 (0K parçalanma) 18 K Boşluk 6 (0K parçalanma) 17

Sayfalı Bellek Yönetimi 35 İç ve dış parçalanma sorununun üstesinden gelmek için sayfalı bellek yönetimi (paging) kullanılabilir. Fiziksel bellek üzerindeki aynı uzunluktaki bloklara çerçeve (frame), mantıksal bellek üzerindeki aynı uzunluktaki bloklara ise sayfa (page) denilmektedir. Bir sistemde çerçeve ve sayfa uzunlukları eşittir. Sayfaların uzunlukları donanım tarafından belirlenmektedir. Sayfalı Bellek Yönetimi 36 Sayfalı bellek yönetimi olan sistemlerde bellek adresi iki bölümden oluşmaktadır: sayfa numarası ve sayfa ofseti. Sayfa numarası (p) fiziksel bellekteki her bir sayfanın taban adresini tutan sayfa tablosundaki göstergedir. Sayfa ofseti (d) taban adresi ile birleştirilerek fiziksel bellekte sayfanın içerisindeki yerin belirlenmesinde kullanılır. 18

37 Sayfalı Bellek Yönetimi Her işlem eşit uzunluktaki sayfalara, ana bellek de eşit uzunluktaki çerçevelere ayrılmıştır. İşlemlerin hangi sayfasının hangi çerçevede olduğu bilgisi işlemlerin sayfa tablosunda tutulmaktadır. Yandaki örnekte sayfa 0, çerçeve 1 de, sayfa 1 çerçeve 4 te, sayfa 2 çerçeve 3 te ve sayfa 3 de çerçeve 7 de yer almaktadır. 38 Sayfalı Bellek Yönetimi Mantıksal bellekteki bir adres, sayfa numarası ve sayfa ofsetinden oluşmaktadır. Bu adresin fiziksel bellekteki karşılığının bulunması için sayfa tablosu kullanılır. 19

39 Sayfalı Bellek Yönetimi İşletim sistemi bu yöntemi kullanırken boş çerçevelerin de listesini tutar. 40 Sayfalı Bellek Yönetimi Örnek 4 bayt uzunluğunda sayfalardan oluşan 32 bayt lık bir bellek olduğunu varsayınız. Sayfa tablosu yanda verilmiştir. Buna göre aşağıdaki mantıksal adresler için fiziksel adresleri bulunuz. a) 0 b) 3 c) 4 d) 13 Fiziksel adresi hesaplamak için aşağıdaki formül kullanılabilir: fiziksel adres (FA)=çerçeve numarası (ÇN)*çerçeve boyutu (ÇB)+ofset (O) 20

41 Sayfalı Bellek Yönetimi Örnek İlk olarak mantıksal belleğin çizilmesi gerekir. Ardından sayfa boyutuna göre belleğin bölünmesi ve her bir mantıksal adresin sayfa numarası ve sayfa ofsetinin hesaplanması gerekir. Sayfa numarası, sayfa tablsundan çerçeve numarasını bulmak için kullanılacaktır. 42 Sayfalı Bellek Yönetimi a) 0 sayfa numarası=0 sayfa ofseti=0 0 numaralı sayfanın bulunduğu çerçeve numarası=5 FA=ÇN*ÇB+O FA=5*4+0=20 21

Sayfalı Bellek Yönetimi b) 3 43 sayfa numarası=0 sayfa ofseti=3 0 numaralı sayfanın bulunduğu çerçeve numarası=5 FA=ÇN*ÇB+O FA=5*4+3=23 Sayfalı Bellek Yönetimi c) 4 44 sayfa numarası=1 sayfa ofseti=0 1 numaralı sayfanın bulunduğu çerçeve numarası=6 FA=ÇN*ÇB+O FA=6*4+0=24 22

Sayfalı Bellek Yönetimi d) 13 45 sayfa numarası=3 sayfa ofseti=1 3 numaralı sayfanın bulunduğu çerçeve numarası=2 FA=ÇN*ÇB+O FA=2*4+1=9 Kesimli Bellek Yönetimi 46 Kesimli bellek yönetiminde (segmentation) mantıksal adres alanı sayfalar yerine kesimlerden (bölümlerden) oluşmaktadır. Bir adres, hem kesim (bölüm) numarası (s) hem de kesim içerisindeki adresi belirten ofset numarasından (d) meydana gelmektedir. 23

47 Kesimli Bellek Yönetimi Mantıksal adreslerin fiziksel adreslere dönüştürülmesi için kesim tablosuna ihtiyaç vardır. Kesim tablosu, her kesimin başlangıç (taban) adresi ve uzunluğu bilgisini tutmaktadır. Böylece her kesimin başlama ve bitiş (tavan adresi) noktaları hesaplanabilir. 48 Kesimli Bellek Yönetimi Bir mantıksal adresin ofset değeri, taban ve tavan değerleri arasında olmalıdır. Eğer ofset değeri fazla olursa mantıksal adresin kesimi aşması bellek erişim hatası (segment fault) oluşur. Eğer ofset değeri belirtilen sınırlar arasında ise kesim taban değeri ile ofset adresi toplanarak, fiziksel adres oluşturulmaktadır. Fiziksel Adres (FA) = Kesim Taban Adresi (TA) + Ofset (d) 24

49 Kesimli Bellek Yönetimi Mantıksal adres alanının yanda göründüğü gibi olduğunu varsayınız. Kesim tablosu bu bilgiler kullanılarak elde edilebilir. Fiziksel bellek de kesim tablosu kullanılarak oluşturulabilir. 50 Kesimli Bellek Yönetimi Örnek Kesim tablosunun yandaki gibi olduğunu varsayınız. Aşağıdaki mantıksal adreslerin (kesim no, ofset) fiziksel adres karşılıklarını bulunuz. a) (0, 198) b) (2, 156) c) (1, 530) d) (3, 455) e) (0, 252) Kesim No Taban Adresi Uzunluk 0 660 248 1 1752 422 2 222 198 3 996 604 Fiziksel adresi hesaplamak için aşağıdaki formül kullanılabilir: Fiziksel Adres (FA) = Kesim Taban Adresi (TA) + Ofset (d) 25

Kesimli Bellek Yönetimi Mantıksal adres Fiziksel adres Kesim No Taban Adresi Uzunluk 51 İlk olarak her mantıksal adresin hangi kesimde olduğu kesim tablosu kullanılarak bulunmalı ve ofset değeri bu kesimin uzunluğu ile karşılaştırılmalıdır. Eğer ofset küçükse fiziksel adres hesaplanmalı, değilse bellek erişim hatası oluşturulmalıdır. 0 660 248 1 1752 422 2 222 198 3 996 604 a) (0, 198) 198 < 248 660 + 198 = 858 b) (2, 156) 156 < 198 222 + 156 = 378 c) (1, 530) 530 422 bellek erişim hatası d) (3, 455) 455 < 604 996 + 455 = 1451 e) (0, 252) 252 248 bellek erişim hatası 52 Sayfalı ve Kesimli Bellek Yönetimleri Arasındaki Farklar Kesimli bellek yönetiminin amacı adres alanının mantıksal olarak dilimlenmesidir. Sayfalı bellek yönetiminde ise bellek fiziksel olarak dilimlenip oluşturulur. Sayfalar makine donanımına bağlı olarak sabit boyuttadır. Bölümler ise değişken boyuttadır. 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 kesim ve ofset numarasında bir sınır aşması söz konusu değildir. Bu durumda bellek erişim hatası oluşur. 26

53 Kesimlemenin Sayfalama ile Birlikte Kullanılması Kesimli bellek yönetimi ile sayfalı bellek yönetimi birlikte kullanılabilir. Bu yöntemde bölümler (kesim) kendi içerisinde sayfalara ayrılmaktadır. Mantıksal adres üç parçadan oluşmaktadır: kesim numarası, sayfa numarası ve ofset adresi. Kesim numarası Sayfa numarası Sayfadaki ofset numarası 54 Kesimlemenin Sayfalama ile Birlikte Kullanılması Fiziksel adres hesaplanırken kesim tablosu, sayfa tablosu ve ofsete ihtiyaç vardır. Kesim no Sayfa no Sayfadaki ofset no Kesim Tablosu Sayfa Tablosu Ofset 27

55 28