1 / 21

Bellek Yönetimi

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 )

dana
Download Presentation

Bellek Yönetimi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bellek Yönetimi

  2. Bellek Yönetimi • Belleğinbirden 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. 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

  5. Bellek Yönetim Birimi

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

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

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

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

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

  11. 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 (internalfragmentation) – 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.

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

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

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

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

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

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

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

  19. Buddy Sistem Örneği

  20. Buddy Yönteminin Ağaç ile Temsili

More Related