<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" style="task" id="memory-map-what" xml:lang="tr">

  <info>
    <revision pkgversion="3.11" date="2014-01-28" status="candidate"/>
    <link type="guide" xref="index#memory" group="memory"/>

    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>

    <credit type="author copyright">
      <name>Phil Bull</name>
      <email>philbull@gmail.com</email>
      <years>2011</years>
    </credit>

    <credit type="author copyright">
      <name>Michael Hill</name>
      <email>mdhillca@gmail.com</email>
      <years>2011, 2014</years>
    </credit>

    <desc>Sürecin bellek eşlemi, belirli bellek sorunlarını saptamaya yardımcı olabilir.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Sabri Ünal</mal:name>
      <mal:email>libreajans@gmail.com</mal:email>
      <mal:years>2021-2023.</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Emin Tufan Çetin</mal:name>
      <mal:email>etcetin@gmail.com</mal:email>
      <mal:years>2021-2023.</mal:years>
    </mal:credit>
  </info>

  <title>Bellek eşlemi nedir?</title>

  <p><gui>Sanal bellek</gui>, sistemdeki <gui>fiziksel bellek</gui> ve <link xref="mem-swap">takas alanının</link> birleşik temsilidir. Fiziksel bellekteki konumları diskteki dosyalara eşleyerek çalışan süreçlerin var olan fiziksel bellekten daha <em>fazlasına</em> erişmesini sağlar.</p>

  <p>Bir program başlatıldığında, sistem ona benzersiz bir süreç kimliği (PID) atar ve programın <em>yönergeleri</em> ve <em>verileri</em> <em>sayfalar</em> halinde belleğe yüklenir. Her sürecin sayfa tablosu, sanal bellekteki sayfaları ile fiziksel bellekteki konumları arasındaki örtüşmeyi eşleştirir. <gui>Bellek haritası</gui> sürecin toplam sanal bellek kullanımını gösterir ve programın tek veya birden çok örneğini çalıştırmanın bellek yükünü belirlemek, doğru paylaşılan kütüphanelerin kullanıldığından emin olmak, programın sahip olabileceği türlü başarım ayarlama parametrelerini ayarlamanın sonuçlarını görmek veya bellek sızıntıları gibi sorunları saptamada kullanılabilir.</p>

  <p>Bir programın birden çok kopyası çalışıyorsa, programın yönergelerinin (veya <em>metninin</em>) fiziksel belleğe yalnızca bir kez yüklenmesi gerekir. Programın yeni bir örneği her başlatıldığında (kendi sanal bellek sayfalarına sahip benzersiz bir süreç olarak), sayfa tablosu metnin sanal bellekteki konumunu özgün gerçek bellek konumundaki bu yönergelerle eşleştirir. Buna ek olarak, süreç tarafından kullanılan tüm dinamik paylaşımlı kütüphaneler sanal bellekte ayrık olarak görünür, ancak gerçek bellekteki kütüphanenin metin segmentinin tek bir kopyasına paylaşılan atıflardır. Bir sürecin toplam bellek kullanımı hesaplanırken, belleğe yüklenen paylaşımlı kütüphanelerin yüklerinin o anda bunları kullanan tüm süreçlere yayılabileceğine dikkat etmek önemlidir.</p>

  <p>Sistem var olandan daha çok bellek sayfasına gereksindiğinde, var olan sayfalardan bazıları <em>dışarı alınır</em> veya <gui>takas alanına</gui> yazılır. Metin sayfaları bellekte okuma-yürütme olarak imlenir ve diskteki özgün konumlarından yeniden yüklenebildikleri için takas alanına yazılmaları gerekmez. Veri sayfalarının okuma-yazma izinleri vardır ve bellekteyken değiştirilirlerse <em>bozuk</em> olarak etiketlenirler ve takas için belirlendiklerinde dışarı alınmaları gerekir. Takas alanındaki bir sayfaya çalışan bir süreç tarafından gereksinildiğinde, kullanılmadan önce geri takas edilmesi gerekir, bu da belki de başka bir sayfanın dışarı alınmasına neden olur.</p>

</page>
