Sunuyu indir
1
Bellek Yönetimi
2
Bellek Yönetimi Belleğin birden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir.
3
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.
5
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
6
Bellek Yönetim Birimi
7
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
8
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
9
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
10
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
11
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)
12
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.
13
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
14
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
15
Yerleştirme Algoritmaları (Dinamik Bölmeleme (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
16
Yerleştirme Algoritmaları (2)
İlk-Sığan Algoritması (First-fit) – En hızlı – Prosesler baş bölgelere yığılır ⇒ boş yer ararken üst üste taranır
17
Yerleştirme Algoritmaları (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
18
Yerleştirme Algoritmaları (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.
19
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
20
Buddy Sistem Örneği
21
Buddy Yönteminin Ağaç ile Temsili
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.