21
Bellek Yönetimi

Bellek Yönetimi

  • Upload
    dana

  • View
    89

  • Download
    5

Embed Size (px)

DESCRIPTION

Bellek Yönetimi. Bellek Yönetimi. B elleğin b irden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir. Nasıl olmalı?. Bellekteki herhangi bir işlemi başka bir yere aktarabilmelidir. ( Relocation ) - PowerPoint PPT Presentation

Citation preview

Page 1: Bellek Yönetimi

Bellek Yönetimi

Page 2: Bellek Yönetimi

Bellek Yönetimi

• Belleğin birden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir.

Page 3: Bellek Yönetimi

Nasıl olmalı?• Bellekteki herhangi bir işlemi başka bir yere

aktarabilmelidir. (Relocation)• Birden fazla işlem veya kullanıcı olduğunda bir kullanıcının

diğer kullanıcını alanlarına girmeleri önlenmelidir. (Koruma)• Kullanıcılar arası kaynak paylaşımını sağlamalıdır.

(Paylaşma)• Belleğin mantıksal alanlara bölünmesini sağlayarak bilgiye

erişimi kolaylaştırmalıdır.• Belleğin yetmediği durumlarda fiziksel başka bellek

alanlarını yani hard diskleri/flash bellekleri kullanabilmelidir.

Page 4: Bellek Yönetimi
Page 5: Bellek Yönetimi

Adres Türleri

• Fiziksel Adres: Bellek üzerindeki gerçek adres• Mantıksal Adres: İşlemci üretir• Göreceli Adres: Adres bir referans noktasına

göre ifade edilir. (Genelde proses başlangıç adresi+değer)

Bellek Yönetim Birimi: Mantıksal adres->Fiziksel adres

Page 6: Bellek Yönetimi

Bellek Yönetim Birimi

Page 7: Bellek Yönetimi

Proses Yükleme Türleri

• Mutlak Yükleme: Her zaman aynı sabit adres• Yeniden Yerleşebilir Yükleme: Adres=başlangıç

noktası+sabit adres• Dinamik Yükleme: Adres yükleme aşamasında

dinamik olarak atanır

Page 8: Bellek Yönetimi

Yeniden Yerleştirme

• Takas (Swap) İşlemi: önce RAM->ROM sonra ROM->RAM

• Bitiştirme (DEFRAG/Sıkıştırma) İşlemi: Kaydırarak boşlukları doldur.

Bu işlemler sonrası fiziksel adres değişir; ama mantıksal adresler değişmeyebilir

Page 9: Bellek Yönetimi

Bellek Adres Kayıtlıkları (Registerler)

• Taban Kayıtlığı– prosesin başlangıç adresi

• Sınır Kayıtlığı– prosesin son adresi

• Bu değerler saklayıcılara proses belleğe yüklendiğinde yazılır

Page 10: Bellek Yönetimi

Bellek Bölümleme (Tahsisi)

• Bölmeleme (Partitioning)– Sabit– Dinamik

• Basit sayfalama (Paging)• Basit segmanlama (Segmentation)• Sayfalamalı görüntü bellek (Virtual Memory)• Segmanlamalı görüntü bellek

Page 11: Bellek Yönetimi

Sabit Bölümleme

• Eşit Parçalara Bölme– boş bölmeye, boyu bölme boyundan küçük ya da eşit prosesler yüklenebilir– tüm bölmeler doluysa proseslerden biri bellekten atılır– program bölmeye sığmayabilir Program kod ⇒dosyalarına bölünür, çalışacak kısım çalışanın üzerine yazılır (overlay)

Page 12: Bellek Yönetimi

Sabit Bölmeleme (2)

• Bellek kullanımı etkin değil:– Her program ne kadar boyu küçük de olsa tam bir bölmeyi elinde tutar iç parçalanma (internal ⇒fragmentation)– Eşit boyda olmayan bölmeler kullanılması sorunu bir derece çözer• Maksimum aktif proses sayısı sınırlı• İşletim sistemi tarafından gerçeklenmesi kolay• Getirdiği ek yük az.

Page 13: Bellek Yönetimi

Yerleştirme Algoritmaları (Sabit Bölümleme)

• Bölme boyları eşit– prosesin hangi bölmeye yerleştirileceği fark etmez• Bölme boyları eşit değil– her prosesi sığacağı en küçük bölmeye– her bölme için kuyruk– bölme içi boş kalan yer miktarını en aza indirmek

Page 14: Bellek Yönetimi

Dinamik Bölmeleme (1)

• Bölme sayısı ve bölme boyları sabit değil• Proseslere sadece gerektiği kadar bellek atanır• Kullanılmayan boş yerler yine de oluşur (dış parçalanma)• Tüm boş alanın bir blok halinde olması için

sıkıştırma kullanılır• Hangi boş bloğa hangi prosese atanacağına

işletim sistemi karar verir

Page 15: Bellek Yönetimi

Yerleştirme Algoritmaları (Dinamik Bölmeleme (1)

1. En-İyi-Sığan Algoritması (Best-Fit)– Boyu istenene en yakın olan boşluk seçilir– Olası en küçük bölme bulunduğundan artan boş alan az sıkıştırmanın daha sık yapılanması ⇒gerekir

Page 16: Bellek Yönetimi

Yerleştirme Algoritmaları (2)

2. İlk-Sığan Algoritması (First-fit)– En hızlı– Prosesler baş bölgelere yığılır boş yer ⇒ararken üst üste taranır

Page 17: Bellek Yönetimi

Yerleştirme Algoritmaları (3)

3. Bir-Sonraki-Sığan Algoritması (Next-fit)– Son yerleştirilen yerden itibaren ilk sığan yeri bulur– Genellikle atamalar belleğin son kısımlarında yer alan büyük boşluklardan olur– En büyük boşluklar küçük parçalara bölünmüş

olur– Sıkıştırma gerekir

Page 18: Bellek Yönetimi

Yerleştirme Algoritmaları (4)

4. En Kötü Uyan Algoritması (Worst-fit)– Listeden araştırma yapıldıktan sonra en büyük

boşluğun seçilerek işlemin yerleştirilmesidir.

Page 19: Bellek Yönetimi

5. “Buddy” Yöntemi

• Tüm boş alan 2U boyutunda tek bir alan olarak ele alınır– s boyutundaki bir istek eğer 2U-1 < s <= 2U ise tüm

blok atanır– Aksi halde blok 2U-1 boyutunda iki eş bloğa

bölünür (buddy)– s’den büyük veya eşit en küçük birim blok

oluşturulana kadar işlem devam eder

Page 20: Bellek Yönetimi

Buddy Sistem Örneği

Page 21: Bellek Yönetimi

Buddy Yönteminin Ağaç ile Temsili