Bellek Yönetimi Process H 2 KB

Slides:



Advertisements
Benzer bir sunumlar
el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Advertisements

Yrd. Doç. Dr. Mustafa Akkol
İşlemci Zaman Planlaması
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
Değişkenler ve bellek Değişkenler
DOĞAL SAYILAR.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Öğr.Gör. Dr. Şirin KARADENİZ
Atlayarak Sayalım Birer sayalım
Ana Bellek Yönetimi Bir bilgisayar sisteminin en önemli donanımsal kaynaklarından biri olan ana belleğin, görevler arasında paylaştırılması ana belleğin.
Diferansiyel Denklemler
4 Kontrol Yapıları: 1.Bölüm.
Proses Kontrolü.
Algoritmalar DERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları
Bölüm 9: Sanal Bellek.
Bellek Yönetimi.
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Yrd. Doç. Dr. Sevinç İlhan Omurca OS Bolum 10
4. KONTROL VE DÖNGÜ KOMUTLARI
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Prof. Dr. Leyla Küçükahmet
Chapter 9: Bellek Yönetimi
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
TOPLAMA İŞLEMİNDE VERİLMEYEN TOPLANANI BULMA
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
Örnek Bİr VerİtabanI TasarImI
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
ZAMBAK 1 SORU BANKASI UĞUR CESUR 1 ZAMBAK 1 SORU BANKASI ÖZEL SORULARI Hazırlayan: UĞUR CESUR.
TÜRKİYE KAMU HASTANELERİ KURUMU
CEIT 101 Teorik Vasfi Tuğun - Konu 2 -.
Algoritmalar DERS 4 Çabuk sıralama Böl ve fethet Bölüntüler
YAPAY ZEKA ve UZMAN SİSTEMLER
Tam sayılarda bölme ve çarpma işlemi
BÖLÜM 9 Bellek Yönetimi.
ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT)
HABTEKUS' HABTEKUS'08 3.
Bölüm 2 – Kontrol Yapıları
4 X x X X X
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Yard. Doç. Dr. Mustafa Akkol
Metin’in yaşı kardeşinin yaşının 3 katı kadardır
1 DEĞİŞMEYİN !!!
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
DOĞAL SAYILAR VE TAM SAYILAR
Chapter 11: Exception Handling
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
Sistem Çağrıları Proses Kontrol Çağrıları Bellek Yönetim Çağrıları
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
Polar koordinatlar Küresel sistemlerde küresel polar koordinatlar
Proje Konuları.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
BÖLÜM 9 Bellek Yönetimi.
Diferansiyel Denklemler
Bölüm 7: Ana Bellek.
İşletim Sistemleri Operation Systems Fon müziği.
Bölüm 10: Sanal Bellek Arkaplan İsteğe bağlı disk belleği
BELLEK YÖNETİMİ Memory Management
BİLGİSAYAR MİMARİLERİ 6.Hafta: Sanal Bellek
BÖLÜM 9 Bellek Yönetimi.
Yrd. Doç. Dr. Sevinç İlhan Omurca OS Bolum 10
KUYRUK (QUEUE).
Bellek Yönetimi(Memory management)
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
İSTATİSTİK II Hipotez Testleri 1.
Sunum transkripti:

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)

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

Ö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

Çö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

Çö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

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

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.

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

İ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

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

İ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

(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

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

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

İ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

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

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

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

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