Çöp Toplama Tekniği Eser Aygün.

Slides:



Advertisements
Benzer bir sunumlar
BULUT BİLİŞİM GÜVENLİK VE KULLANIM STANDARDI M. Raşit ÖZDAŞ Huzeyfe ÖNAL Zümrüt MÜFTÜOĞLU Ekim 2013.
Advertisements

Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
KULLANILABİLİRLİK.  ‘Bir kapıyı açmasını öğrenemeyen insan bu dünyada ne diye yaşar bilmem ki…’ Aziz Nesin ‘ İSTANBUL’UN HALLERİ’
Çıkış katmanındaki j. nöron ile gizli katmandaki i. nörona ilişkin ağırlığın güncellenmesi Ağırlığın güncellenmesi Hangi yöntem? “en dik iniş “ (steepest.
Hat Dengeleme.
AKRAN DESTEKLİ ÖĞRENME
2 Yatırım Karlılık Analizleri Finansal Analizler Basit Yöntemler İndirgenmiş Yöntemler Karlılık Yöntemi Geri Ödeme Süresi Yöntemi Net Bugünkü Değer Yöntemi.
Bilimsel bilgi Diğer bilgi türlerinden farklı
Bu yaklaşımda, kullanıcıların bilişsel ve fiziksel davranışları modellenmeye çalışılır. Ayrıca, kullanıcı davranışlarının bu modele uyup uymadığı ya da.
Öznur DUMAN ELGÜL ZEKA. ERGENLİK DÖNEMİNDEKİ DEĞİŞİMLER Duygu değişimlerinin hızı ve üst düzeyde yaşandığını önceden bilmek bu duygular yaşandığında.
SUNUCU İŞLETİM SİSTEMİ Öğr. Gör. Ümit ATİLA.  1980’li yıllardan günümüze geldikçe, bilgi toplumuna yönelişte teknolojik rota, telekomünikasyon ve iletişim.
Ağ Anahtarı (Switch) Çeşitleri
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Hopfield Ağı Ayrık zamanSürekli zaman Denge noktasının kararlılığı Lyapunov Anlamında kararlılık Lineer olmayan sistemin kararlılığı Tam Kararlılık Dinamik.
AKIL (ZİHİN) HARİTASI.
Zihinsel engellilerin sınıflandırılması
DONANIM VE YAZILIM.
NİSAN Eğitim-Öğretim yılında ilk olarak başlanmıştır. Şuan 94 üniversite ile protokol anlaşması mevcut.
İNSAN BİLGİSAYAR ETKİLEŞİMİ: BİLİŞSEL BOYUT III. İBE alanında etkileşimi anlamaya çalışan uzmanlar, özellikle şema ve zihinsel modeller üzerinde yoğunlaşırlar.
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
İÇİNDEKİLER GRID COMPUTING NEDİR? NASIL ÇALIŞIR? GRID COMPUTING YAPISI
Bağlama ve Kapsam Kavramları
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
ÇOK BOYUTLU SİNYAL İŞLEME
AĞAÇLANDIRMA VE GENÇLEÇTİRME ÇALIŞMALARININ BİYOLOJİK ÇEŞİTLİLİĞE ETKİSİ İsmail KÜÇÜKKAYA Orm. Yük. Müh.
YÖNLENDİRME. Yönlendirme ● Statik ● Dinamik ● Kaynakta yönlendirme ● Hop by hop yönlendirme.
Pazarlama İlkeleri.
KONULAR BÖLÜM: Kesirler, Ondalık Kesirler, Yüzde
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
İŞLETİM SİSTEMLERİ ISE 206 Dr. Tuğrul TAŞCI.
EMRE ŞİMŞEK E-Anket.
DERS 9: Değerlendirmede Tekli ve Çoklu Fırsat Yaklaşımları
İŞ SAĞLIĞI ve GÜVENLİĞİ EĞİTİMİ
ARAÇ GEREÇLERİN EĞİTİMDEKİ YERİ VE ÖNEMİ
Problem Çözme ve Algoritmalar
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı
Uçak Bileti Değiştirme
STORAGE BÜŞRA KARADENİZ
Seminer Dersi Sunumu Sunum Adı Öğrenci Ad ve Soyadı Ay Yıl
Swİtch çeşİtlerİ – GÖKÇE TENEKECİ.
Nesneye Dayalı Kavramlar Uygulama 2
İŞBİRLİKLİ ÖĞRENME YAKLAŞIMI
ÇUMRA İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ
3.hafta METODLAR.
Bölüm 7 İfadeler ve atamalar.
Hazırlık Sınıfı Hazırlık Sınıfı 1. Kurs Olarak Uygulama
Bu konudaki her şeyi okuyun Microsoft SharePoint Haberler
NİŞANTAŞI ÜNİVERSİTESİ
B+-Ağaçları.
NİŞANTAŞI ÜNİVERSİTESİ
Evren-Örneklem, Örnekleme Yöntemleri 2
ELEKTRİK DEVRE TEMELLERİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Koşullu Durumlar.
NİŞANTAŞI ÜNİVERSİTESİ
Değerler ve Değişkenler
İşlemciler.
BELLEK.
EGE ÜNİVERSİTESİ HEMŞİRELİK FAKÜLTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
MODÜL 5.1 arabuluculuk AŞAMALARININ GÖZDEN GEÇİRİLMESİ
Bilimsel Araştırma Yöntemleri
Bilimsel araştırma türleri (Deneysel Desenler)
2. HAFTA Bilimsel Araştırma Temel Kavramlar.
Sunum transkripti:

Çöp Toplama Tekniği Eser Aygün

Bellek Ayırma Yöntemleri Statik bellek ayırma Belleğin düzenlenişi derleme anında belirlenir. Çalışma anında yeni nesne eklenemez ve mevcut nesnelerin boyu değiştirilemez. Yığında bellek ayırma Bellek “son giren ilk çıkar” mantığıyla yönetilir. Alt programlar sadece boyu derleme anında belirlenebilen nesneler döndürebilirler. Dinamik (“heap” üzerinde) bellek ayırma Bellek çalışma anında ihtiyaca göre düzenlenir. Elle yönetimi zordur: Bellek sızıntıları ve geçersiz işaretçiler. Otomatik bellek yönetimi: Çöp toplama. 22.04.2019 Eser Aygün

Bellek Sızıntısı, Geçersiz İşaretçi (Memory Leak, Dangling Pointer) class Node { int value; Node *next; }; ... Node *p = new Node(); Node *q = new Node(); Node *r = new Node(); p->next = q; q->next = r;  r = NULL; delete q; ... 22.04.2019 Eser Aygün

Bellek Sızıntısı, Geçersiz İşaretçi (Memory Leak, Dangling Pointer) class Node { int value; Node *next; }; ... Node *p = new Node(); Node *q = new Node(); Node *r = new Node(); p->next = q; q->next = r; r = NULL;  delete q; ... 22.04.2019 Eser Aygün

Bellek Sızıntısı, Geçersiz İşaretçi (Memory Leak, Dangling Pointer) class Node { int value; Node *next; }; ... Node *p = new Node(); Node *q = new Node(); Node *r = new Node(); p->next = q; q->next = r; r = NULL; delete q;  ... 22.04.2019 Eser Aygün

Çöp Toplama Yöntemleri Yerleşmiş çöp toplama yöntemleri: Başvuru sayma yöntemi İşaretle-süpür yöntemi Kopyalama yöntemi Bunlara getirilen farklı yaklaşımlar: Kuşak yaklaşımı Azar azar toplama yaklaşımı 22.04.2019 Eser Aygün

Başvuru Sayma Yöntemi (Reference Counting) [Collins1960] Her nesne için bir başvuru sayısı tutulur. Yeni bir nesne için yer ayırıldığında başvuru sayısı 1 yapılır. Nesneye yapılan her yeni başvuruda başvuru sayısı bir artırılır. Nesneye yapılan başvurulardan biri silindiğinde başvuru sayısı bir azaltılır. Başvuru sayısı 0 olduğunda, nesne için ayrılan alan geri verilir. 22.04.2019 Eser Aygün

Başvuru Sayma Yöntemi Örnek 22.04.2019 Eser Aygün

Başvuru Sayma Yöntemi Örnek (2) 22.04.2019 Eser Aygün

Başvuru Sayma Yöntemi Çevrim İçeren Veri Yapıları 22.04.2019 Eser Aygün

Başvuru Sayma Yöntemi Olumlu Yönleri Bellek yönetim yükü tüm programa eşit olarak dağılır. İşlemler çöp toplamak için askıya alınmaz. Uzayda yöreselliği bozmaz. Başvuru sayısı sıfır olan bir nesne başka sayfalara ulaşmaya gerek kalmadan silinir. Sayfa hatası ihtimalini düşürür. Bir nesne işe yaramaz hâle geldiği anda, ayrılan alan geri verilir. 22.04.2019 Eser Aygün

Başvuru Sayma Yöntemi Olumsuz Yönleri İşlem yükü getirir. İşaretçiler üzerindeki tüm atama ve parametre geçirme işlemlerinde eski ve yeni hedeflerin başvuru sayıları güncellenir. Derleyiciye sıkı sıkıya bağlıdır. Her nesne için fazladan bir alan tutmak gerekir. Çevrim içeren veri yapıları için başka çözümler düşünmek gerekir. 22.04.2019 Eser Aygün

İşaretle-Süpür Yöntemi (Mark and Sweep) [McCarthy1960] Kullanılabilir alan tükenenene kadar işe yaramaz nesneler erişilemez olarak kalırlar. Alan tükendiğinde işlemler kesilir ve çöp toplama işlemi başlar. Kökten başlanarak ulaşılabilen tüm nesneler belirlenir. Geriye kalanlara ait alanlar geri verilir. Yeterince alan açıldıysa işlemlere kaldıkları yerden devam edilir. 22.04.2019 Eser Aygün

İşaretle-Süpür Yöntemi Örnek 22.04.2019 Eser Aygün

İşaretle-Süpür Yöntemi Olumlu Yönleri Çevrim içeren veri yapılarını özel olarak ele almak gerekmez. Algoritmanın doğal işleyişi çevrimleri yakalamada yeterli olur. İşaretçi güncellemelerinde fazladan işlem yükü oluşmaz. 22.04.2019 Eser Aygün

İşaretle-Süpür Yöntemi Olumsuz Yönleri Gerçek zamanlı sistemlere uygun değildir. Dur kalklı bir algoritmadır. Çöp toplayıcı çalışırken işlemler durdurulur. En kötü durumda çalışma süresi “heap” boyuyla orantılıdır. ... etkin ya da işe yaramaz nesnelerin boyuyla değil. Belleği dağıtmaya meyillidir. İşaretle-sıkıştır (mark and compact). Bellekte her zaman fazladan alan olmasını gerektirir. Aksi hâlde çöp toplama sıklığı artar. Asıl işlemlere ayrılan zaman azalır. 22.04.2019 Eser Aygün

Kopyalama Yöntemi (Copying) [Minsky1963] “Heap” eşit iki uzaya bölünür: Etkin veriyi içeren uzay Eskimiş veriyi içeren uzay Çöp toplayıcı iki uzayın görevlerini değiştirmekle işe başlar. Ardından eski (kaynak) uzaydaki etkin nesneleri yeni (hedef) uzaya kopyalar. İşlem bittiğinde etkin veri hedef uzaya yerleştirilmiş olur. 22.04.2019 Eser Aygün

Kopyalama Yöntemi Örnek 22.04.2019 Eser Aygün

Kopyalama Yöntemi Olumlu Yönleri Alan ayırma maliyeti oldukça düşüktür. Yeni ayrılan alan her zaman boş alanın başından yapılır. Alanın sonuna ulaşıldığını anlamak için basit bir karşılaştırma yapmak yeter. Bellekte dağılma olmaz. Etkin veri her seferinde uzayın başına sıkıştırılır. En kötü durumda çalışma süresi etkin nesnelerin boyuyla orantılıdır. 22.04.2019 Eser Aygün

Kopyalama Yöntemi Olumsuz Yönleri Sayfa hatası ihtimalini artırır. Aynı miktarda alan için iki kat geniş adres uzayı gerekir. Eskimiş verinin tutulduğu uzay kullanılmadığı sürede diske yazılırsa, verinin ne kadar sıkışık olduğundan bağımsız olarak kopyalamada sayfa hataları oluşur. 22.04.2019 Eser Aygün

Kuşak Yaklaşımı (Generational Collection) Bir çöp toplayıcının tek görevi işe yaramayan alanın geri verilmesi değildir. Kötü tasarlanmış bir toplayıcı sanal bellek ve cep bellekle kötü etkileşir. Nesnelerin küçük bir kısmı çok uzun ömürlü olurken, büyük bir kısmı hemen ölür. Taramalı yöntemler uzun ömürlü nesneler yüzünden önemli vakit kaybeder. Her seferinde “heap” alanının sadece bir bölümünü toplayarak bekleme süreleri azaltılabilir. 22.04.2019 Eser Aygün

Kuşak Yaklaşımı Nesneler yaşlarına göre kuşak denilen bölgelere ayrılır. Farklı kuşaklar farkı sıklıkta toplanır. Genç kuşaklar sık sık toplanırken, yaşlılar nadiren toplanır, hatta hiç toplanmazlar. Birkaç toplama boyunca hayatta kalan nesneler bir üst kuşağa terfi ettirilir. 22.04.2019 Eser Aygün

Kuşak Yaklaşımı Kopyalama Yöntemiyle Karşılaştırma 22.04.2019 Eser Aygün

Kuşak Yaklaşımı Kopyalama Yöntemiyle Karşılaştırma 22.04.2019 Eser Aygün

Azar Azar Toplama Yaklaşımı (Incremental Collection) Gerçek zamanlı sistemlerde çöp toplama gecikmeleri nasıl düşürülebilir? Dur kalk yerine azar azar toplama yapılır. Toplama işlemi programdaki işlemlerle değişmeli olarak yürütülür. Programa yeterli bellek sağlandığından emin olunmalı. Belleğe erişim senkronize olmalı. 22.04.2019 Eser Aygün

Azar Azar Toplama Yaklaşımı Şimdiye kadar sadece yazılıma dayanan hiçbir çöp toplama yöntemi tatmin edici gerçek zaman başarıları elde edemedi. Okuma/yazma engelleri maliyetli. Nilsen ve Schmidt donanım çözümü önerdiler. Sistem yolu üzerinden işlemciye bağlanan ayrı bir bellek modülü. Gömülü Java sistemleri. 22.04.2019 Eser Aygün

Cep Bellek Başarısı Doğrudan cepler yerine iki ya da dört yollu çağrışımlı cepler, büyük cepler, büyük bloklar başarıyı artırıyor. Kuşak yaklaşımında en genç kuşağın büyüklüğünü cep boyu kadar yapmak öneriliyor. En genç kuşak, en sık erişilen kuşaktır. 22.04.2019 Eser Aygün

Önemli Sistemlerde Kullanılan Yöntemler Eiffel, Haskell, Java, Python: Kuşak yaklaşımı .NET İşaretle-sıkıştır yöntemi 22.04.2019 Eser Aygün

Neden Çöplerimizi Hep Başkası Toplamıyor? Hem zaman, hem alan açısından maliyetli. Sürekli büyüyen veri yapılarına çözüm getirmiyor. Oldukça sık rastlanan bir durum. Sistem kaynakları söz konusu olduğunda tehlikeli. Henüz toplanmamış çöp kaynaklar arkada çalışan diğer işleri engelleyebilir. Bazı kaynaklar çok kısıtlı sayıda olabilir. Bunların işleri bittiği anda sonlandırılması gerekir. Kaynaklar arasında bağımlılıklar olabilir. Hangi sırada sonlandırılacaklarına karar verilmesi gerekir. 22.04.2019 Eser Aygün

Kaynaklar [Jones1996] Garbage Collection [Collins1960] A method for overlapping and erasure of lists, Communications of the ACM [McCarthy1960] Recursive functions of symbolic expressions and their computation by machine, Communications of the ACM [Minsky1963] A Lisp garbage collector algorithm using serial secondary storage. Technical Report Memo 58, Project MAC, MIT http://en.wikipedia.org/wiki/Garbage_collection_(computer_science) 22.04.2019 Eser Aygün

Sorular

Teşekkürler