Çalışma seti nedir ve ne için kullanılır?
Çalışma kümesi, fiziksel bellekte bulunan sanal sayfaların bir alt kümesidir .
Windows'da birden çok çalışma kümesi vardır:
İşlem çalışma kümeleri, tek bir işlemde iş parçacıkları tarafından başvurulan sayfaları içerir.
Sistem çalışma kümesi, disk belleği olan havuz ve sistem önbelleği arasında, ödenebilir sistem kodunun yerleşik alt kümesini (çoğunlukla çekirdek ve yüklü sürücüleri içerir) içerir.
Windows alt sistemi, oturum disk belleği havuzu, oturum eşlemeli görünümler ve diğer oturum sürücüleri tarafından ayrılan çekirdek modu oturuma özgü verilerin yerleşik alt kümelerini içeren oturum çalışma kümeleri .
Özünde, çok sayıda disk belleği önlemek için ne kadar fiziksel belleğin kullanılabileceğine karar vermek için bir çalışma seti kullanılır. Bir sayfa hatası oluştuğunda, çalışma setinin sınırları ve sistemdeki boş bellek miktarı incelenir. Gerekirse, bellek yöneticisi bir işlemin çalışma kümesi maksimum değerine büyümesine izin verir. Bellek sıkıysa, Windows bir sayfa hatası oluştuğunda çalışma kümesindeki sayfaları değiştirir.
Windows, değiştirilmiş sayfaları diske yazarak belleği kullanılabilir tutmaya çalışacaktır. Bellek azalırsa, çalışma kümesi yöneticisi, sistemin kullanabileceği kullanılabilir fiziksel RAM belleği miktarını artırmak için çoğu çalışma kümesini kırpmaya çalışır. Daha fazla sayfa içeren işlemlere bakılma eğilimi daha yüksektir.
Bir işlem için varsayılan çalışma kümesi en az 50 sayfadan oluşur ve en fazla 345 sayfa içerir. Sınırlar değiştirilebilir, ancak çoğu kullanım durumunda varsayılanlar yeterli olacaktır, ayrıca maksimum çalışma seti boyutunun önyükleme zamanında hesaplanan sistem genelindeki maksimum değeri aşamaz.
Windows, bir işlem için sanal çalışma kümesi sayfaları tarafından kullanılan toplam, en yüksek ve özel fiziksel RAM miktarını bildirir . Özel, işlemler arasında paylaşılmayan belleği gösterir.
Taahhüt ücreti nedir ve ne için kullanılır?
Bir işlemin sanal adres alanındaki sayfalar ücretsiz, ayrılmış veya taahhüt edilmiştir. Başvurular adres alanı ayırabilir ve daha sonra buna bağlı kalabilir ; kendisini ayırmak bellek veya sayfa dosya alanı gerektirmez, temel olarak sayfa taahhütlerini erteleyerek belleği azaltmak için yapılır.
Taranan sayfalar, erişildiğinde fiziksel bellekteki geçerli sayfalara sonuçlanan sayfalardır; bunlar özeldir ve paylaşılabilir veya bir bölümün görünümü ile eşleştirilir. Bir bölüm Paylaşılan Bellek veya Eşlenmiş Dosyalar olabilir ; Dolayısıyla, taahhüt edilen sayfalar eşlenen bir dosyanın bir kısmıyla eşlenirse, erişildiklerinde diskten getirilmeleri gerekebilir.
Bilinen en yaygın eşlenen dosya Sayfa Dosyası'dır. Halen bir işlem tarafından kullanılmakta olan ancak diske yazılması gereken değiştirilmiş sayfaları saklar. Bunu daha agresif bir şekilde yaparak, daha önce I / O yazmalarına gerek kalmadan bellek daha kolay boşaltılabilir.
Bellek yöneticisi, özel taahhüt ücretini genel olarak ve işlem başına olarak sayfa dosyası kotası olarak izler. Bu değerler daha sonra sayfa dosyasına ne sıklıkta yazılacağını belirlemek için kullanılır. Hafızanın boşaltılmasının çalışma seti mekanizması tarafından yapıldığını lütfen unutmayın ...
Artık bir şey bellekte olmadığında, sayfa dosyasından yüklenir.
Windows raporları, bir işlemin destek deposu olmayan toplam bellek miktarı olarak ücretlendirilir ; aslında sayfa dosyasında hala bulunmayan fiziksel RAM miktarlarını toplar ve eşlenen diğer dosyaları bundan çıkarır.
Bir destek deposu, verilerin bir yedeğine sahip olan depolamadır; örneğin, bir görüntüyü belleğe eşlerseniz, görüntü hem bellekte hem de diskinizde olur; bu nedenle, yüksek bellek koşullarında gerektiğinde her zaman diskten erişebileceğiniz göz önüne alındığında, bu görüntüyü bellek kullanımı olarak hesaplamak mantıklı değildir.
Bellek yığınları nedir ve ne için kullanılırlar?
Disk belleği ve disk belleği olmayan havuz olarak bilinir ...
Çekirdekteki sistem iş parçacıkları, işlemler gibi bir adres alanına sahip değildir; bu nedenle, işletim sisteminin bellek yığınlarında herhangi bir dinamik depolama alanı ayırmaları gerekir ; bu, çoğunlukla disk belleği olan veya disk belleği olmayan havuz tarafından oluşturulur.
Disk belleği havuzu, sisteme girip sistemden çıkarılabilen sanal bellekten oluşur. Belleğe düşük dağıtım düzeyinde (daha yüksek bir öncelik) erişmesi gerekmeyen aygıt sürücüleri , disk belleği olan havuzları özgürce kullanabilir.
Disk belleği olmayan havuz, fiziksel bellekte her zaman kalması garanti edilen ve böylece bir sayfa hatası oluşmadan herhangi bir zamanda erişilebilen sanal bellekten oluşur . Belleğe daha düşük bir gönderim düzeyinde erişmesi gereken aygıt sürücüleri, G / Ç çağrıları bu noktada kullanılamadığından, verilere erişilebilmesini sağlamak için disk belleği olmayan havuzu kullanmalıdır ZORUNLU, bu düzeyde temel olarak kritik kod vardır ...
Bu havuzlar minimum ve maksimum boyuta sahiptir, bunların mevcut RAM'in küçük bir oranı olduğu belirlenmiştir. Büyüyebilmelerine rağmen, mevcut RAM'in belirli bir başlangıcını aşmayacaklarını lütfen unutmayın. Disk belleği olmayan havuz, yalnızca daha kritik bir bellek olması nedeniyle oldukça sağlam olsa da, disk belleği olan havuz sayfa dosyasına uzanır.
Bu, kullanıcılar sayfa dosyalarını devre dışı bıraktığında en çok gözlenen sorunlardan biridir. Diğer kararlılık ve performans sorunları arasında , sayfa dosyasını devre dışı bırakıp bırakmadığınızı kontrol etmeye değer.
- Kaynak : Anlaşılabilir bir metne yeniden yazılan Windows Internals kitabından alıntılar .