Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bellek Yönetimi Process H 2 KB

Benzer bir sunumlar


... konulu sunumlar: "Bellek Yönetimi Process H 2 KB"— Sunum transkripti:

1 Bellek Yönetimi Process H 2 KB
İşletim sistemi yeni bir prosesi bellekteki boş olan yerlerden birine yerleştirir. NASIL? Process C 1 KB Process E 8 KB (computation heavy) Process D 8 KB (I/O heavy) Process E 1 KB Process F 2 KB Process B 1 KB Process G 2 KB Process A 1 KB Bellek (18 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 6 KB 6 KB 6 KB 12 KB 14 KB 14 KB 14 KB 14 KB 19 KB 19 KB 19 KB 19 KB 11 KB 11 KB 11 KB 11 KB 13 KB 13 KB 13 KB 13 KB

3 Örnek Bellek büyüklüğü: 35 birim İşletim sistemi: 10 birim
Geliş zamanı İşlemci zamanı Bellek ihtiyacı P1 P2 P3 P4 P5 P6 P7 5 3 12 10 2 16 18 6 25 9 8 29 7

4 Çöp Toplama 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 6 KB 48 KB 48 KB 76 KB 14 KB 19 KB 76 KB 64 KB 19 KB 10 KB 64 KB 11 KB 51 KB 10 KB 13 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 Bellek Sayfa 1 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 8 KB Sayfa 2 16 KB Sayfa 3 24 KB Sayfa 4 32 KB Sayfa 5 40 KB Sayfa 6 48 KB Sayfa 7 Proses 52 KB

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 Proses E Process A 1024 D-1 Proses D E-1 F-1 D-2 D-3 E-4 D-4 E-5 D-5 E-2 D-6 E-6 E-3 D-7 E-7 Process B 1024 D-8 F-2 E-8 Proses F G-1 Proses G G-2 H-1 Proses H H-2

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

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 1 1 4 Ana bellek aynı anda 4 sayfa tutabilir 2 2 2 3 3 3 4 5 5

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 1 2 3 4 1 1 1 2 5 5 2 3 4 1 2 2 2 5 3 3 3 4 1 2 5 5 5 3 4 4 SAYFA SAYISI ARTTIĞINDA HATA SAYISI DA ARTIYOR.. Ana bellekte aynı anda 4 sayfa tutulabilir 1 1 1 2 3 4 5 1 2 2 2 2 3 4 5 1 2 3 3 3 3 4 5 1 2 3 4 4 4 4 5 1 2 3 4 5

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 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Ana bellekte aynı anda 4 sayfa tutulabilir 1 4 4 1 2 2 3 4 5 2 3 4 1 2 5 1 2 3 3 4 1 2 5 1 2 3 4 4 1 2 5 1 2 3 4 5

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

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) Page 0 Page 1 Page 2 Page 3 Page 4 . . Bellek haritası Page n Sanal bellek Ana bellek 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 Proses A Götür Proses B Getir Ana bellek

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 1 Sayfa no Sayfa no Sayfa no 1 Sayfa no Page Table

17 Sayfa Tablosu/Sayfa Hatası
1 1 2 3 4 5 6 7 A B C D E F G H 1 2 3 4 5 6 7 4 4 A 6 1 6 C A B 9 1 C D E . F G 9 F Sanal bellek Sayfa tablosu H Ana bellek 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=1

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

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 H 2 KB" indir ppt

Benzer bir sunumlar


Google Reklamları