Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bellek Yönetimi. Belleğin birden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir.

Benzer bir sunumlar


... konulu sunumlar: "Bellek Yönetimi. Belleğin birden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir."— Sunum transkripti:

1 Bellek Yönetimi

2 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.

4

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) 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) 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) 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) 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


"Bellek Yönetimi. Belleğin birden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir." indir ppt

Benzer bir sunumlar


Google Reklamları