Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bellek Yönetimi Process C 1 KB Process D 8 KB (I/O heavy) Process H 2 KB Process B 1 KB Process A 1 KB Process F 2 KB Process G 2 KB Process E 8 KB (computation.

Benzer bir sunumlar


... konulu sunumlar: "Bellek Yönetimi Process C 1 KB Process D 8 KB (I/O heavy) Process H 2 KB Process B 1 KB Process A 1 KB Process F 2 KB Process G 2 KB Process E 8 KB (computation."— Sunum transkripti:

1 Bellek Yönetimi Process C 1 KB Process D 8 KB (I/O heavy) Process H 2 KB Process B 1 KB Process A 1 KB Process F 2 KB Process G 2 KB Process E 8 KB (computation heavy) Bellek (18 KB) İşletim sistemi yeni bir prosesi bellekteki boş olan yerlerden birine yerleştirir. NASIL? Process E 1 KB

2 Bitişik Yerleşim İlk uyan (First-fit): Listeden işlem için yeterli büyüklükte olan ilk boşluğun seçilerek işlemin yerleştirilmesidir. En iyi uyan (Best-fit): Listeden işleme uygun büyüklükteki boşlukların aranarak bulunması ve bunların içinden en küçüğünün seçilerek işlemin yerleştirilmesidir. En kötü uyan (Worst-fit): Listeden araştırma yapıldıktan sonra en büyük boşluğun seçilerek işlemin yerleştirilmesidir. 6 KB 14 KB 19 KB 11 KB 13 KB 6 KB 14 KB 19 KB 11 KB 13 KB 6 KB 14 KB 19 KB 11 KB 13 KB 6 KB 14 KB 19 KB 11 KB 13 KB 12 KB

3 Örnek Bellek büyüklüğü:35 birim İşletim sistemi:10 birim Geliş zamanı İşlemci zamanı Bellek ihtiyacı P1P2P3P4P5P6P

4 Çöp Toplama 6 KB 14 KB 19 KB 11 KB 13 KB Zaman içinde prosesler belleğe girip çıktığında bellek te bir çok kullanılan alan ve kullanılmayan alan rastgele dağılır Kullanılmayan bir çok küçük alan yeni gelen prosesler için kendi baslarına yeterli olmayabilir Bir çok kullanılan alan belleğin bir tarafına kullanılmayan alanlar da diğer tarafına işletim sistemi tarafından toplanır Bu işleme çöp toplama operasyonu (garbage collection) denir 48 KB 76 KB 19 KB 64 KB 10 KB 76 KB 64 KB 48 KB 10 KB 51 KB

5 Çöp Toplama Çöp toplama işlemi bellekteki tüm proseslerin işlemci tarafından okunup tekrar belleğe yazılması işlemi olduğu için işlemcinin effektif kullanılma zamanını negatif olarak etkiler Tercih edilen bir operasyon değildir ancak zaman zaman çalıştırılması gerekir

6 Sayfalama (Paging) Bellek önceden tanımlanmış sabit büyüklükteki bloklara bölünür (örneğin 8 KB) İşletim sistemi prosesleri de ayni büyüklükteki bloklar topluluğu olarak idare eder Proses 52 KB 8 KB 16 KB 24 KB 32 KB 40 KB 48 KB Sayfa 1 Sayfa 2 Sayfa 3 Sayfa 4 Sayfa 5 Sayfa 6 Sayfa 7 Bu modelde prosesin tüm sayfalarının aynı anda bellekte olma gerekliliği yoktur Bir prosesi çalıştırmak için gerekli komut bellekte değilse sayfalama hatası olur ve komutun bulunduğu sayfanın belleğe getirilmesi gerekir Bellek

7 Sayfalama Küçük veya Büyük Blok Büyüklüğü Bir prosesin komutları sabit parçalara bölündüğünde son sayfada ki komut sayısı blok büyüklüğünden az olabilir bu durumda o bloktaki kullanılmayan alan ziyan edilmiş olur. Blok büyüklüğü ne kadar fazla olursa ziyan edilen alan olasılığı o kadar artar. İşletim sistemi her bir prosesin sayfaları için veri tutması gerekir. Bir prosesçe kullanılan blok sayısı ne kadar artarsa o kadar veri tutulması ve idare edilmesi gerekir.

8 A B C D E F G H sırasıyla Process C 1024 Process B 1024 Process A 1024 F-1 F-2 G-1 G-2 H-1 H-2 E-1 E-2 E-3 E-4 E-5 E-6 E-7 E-8 D-1 D-2D-3 D-4 D-5 D-6 D-7 D-8 Proses D Proses E Proses F Proses G Proses H

9 Proses/Sayfa Tablosu ABCDEFGHABCDEFGH İlk Son LLT LLT for A LLT for B LLT for C LLT for D LLT for E LLT for F LLT for G LLT for H

10 Sayfa Yenileme Algoritmaları Amaç sayfa hatalarını asgariye indirmek Mümkün olduğu kadar hızlı çalışmalı ve mümkün olduğunca az kaynak kullanmalı Optimal Algoritma –En uzun süre kullanılmayacak olan sayfayı bellekten çıkar AMA BUNU BİLMİYORUZ –Çözüm olarak önerilen algoritmaların ne kadar iyi çalıştıklarını ölçmek için kullanılır 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Ana bellek aynı anda 4 sayfa tutabilir

11 İlk Giren İlk Çıkar Algoritması 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Ana bellekte aynı anda 3 sayfa tutulabilir Ana bellekte aynı anda 4 sayfa tutulabilir SAYFA SAYISI ARTTIĞINDA HATA SAYISI DA ARTIYOR..

12 (Least Recently Used (LRU)) Her sayfa için bir sayaç kullanılır. Bir sayfaya referans geldiğinde sistem saati bu alana yazılır Ana bellekten sayacı en küçük olan sayfayı çıkar Ana bellekte aynı anda 4 sayfa tutulabilir , 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

13 , 2, 5, 4, 1, 3, 5, 4, 2, 1, 3,

14 Sanal Bellek Kullanıcın kullandığı bellek adreslerini fiziksel adreslerden ayırmaya yarayan bir kavram –Herhangi bir anda programın sadece gerekli parçasının bellekde olması o programın çalıştırılabilmesi için yeterli –Sanal adres alanı fiziksel adres alanından çok daha büyük olabilir –Değişik proseslerin adresleri aynı olabilir Sanal bellek iki değişik şekilde gerçekleştirilebilir: –İstek güdümlü sayfa aktarımı (demand paging) –İstek güdümlü segment aktarımı (Demand segmentation) Sanal bellek Page 0 Page 1 Page 2 Page 3 Page 4 Page n Ana bellek Bellek haritası Disk

15 İstek güdümlü sayfa aktarımı Bir sayfayı sadece lazım olduğu zaman ana belleğe getir –Daha az I/O gerektirir –Daha az ana bellek kullanılır –Daha çok kullanıcı desteklenebilir Bir sayfaya ihtiyaç var … o sayfaya referans et –Yanlış bir referans ise… başarısızlıkla bitir –Ana bellekte değil… Ana belleğe getir Ana bellek Proses A Proses B Getir Götür

16 Geçerli/Geçersiz Biti Her bir sayfa tablosu elemanı için geçerli/geçersiz biti kullan (1: ana bellektey; 0: ana bellekte değil) Başlangıçta geçerli/geçersiz bitlerini 0 la Adres çevirimi operasyonunda eğer geçerli/geçersiz biti 0 ise sayfa ana bellekte değil iş kesmesi oluştur Sayfa ana belleğe yazılınca geçerli/geçersiz bitini 1 yap Geçerli/geçersiz biti Sayfa no Page Table

17 Sayfa Tablosu/Sayfa Hatası Sanal bellek AB CDE FG H Ana bellek Sayfa tablosu ABCDEFGHABCDEFGH A 9 C F Yeni bir sayfaya yapılacak ilk referans işletim sistemi tarafından bir iş kesilmesi operasyonuna sebep olacaktır İşletim sistemi tabloya bakıp karar verir: Yanlış bir referans ise… başarısızlıkla bitirir ana bellekde değilse ana belleğe getirir Ana bellekte boş bir sayfa bul Sayfayı diskden oku belleğe yaz Tablodaki geçerli bit=

18 Sayfa Hatası Prosesi H sayfasını yükle 1. Referans Sayfa tablosu Trap İşletim Sistemi AB CDE FG H 3. Sayfa diskde A C F Ana bellek 4. Sayfayı ana belleğe getir 5. Sayfa tablosunu güncelleştir 6. Restart instruction

19 Ana bellekte boş bir sayfa yoksa? Page replacement- find some page in memory but not really in use and swap it out Note: Page replacement completes seperation between logical and physical memory.. Large virtual memory can be provided on a smaller physical memory Find the location of the desired page on disk Find a free frame –If there is a free frame, use it –If there is no free frame, use a page replacement algorithm to select a victim frame Read the desired page into the (newly) free frame, update the page and frame tables Restart the process


"Bellek Yönetimi Process C 1 KB Process D 8 KB (I/O heavy) Process H 2 KB Process B 1 KB Process A 1 KB Process F 2 KB Process G 2 KB Process E 8 KB (computation." indir ppt

Benzer bir sunumlar


Google Reklamları