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

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

    <license xmlns="http://projectmallard.org/1.0/" href="http://creativecommons.org/licenses/by-sa/3.0/">

  <p>This work is licensed under a
  <link href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
  Attribution-ShareAlike 3.0 Unported License</link>.</p>

</license>

    <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>Преглеждане на картата на паметта на даден процес.</desc>
  </info>

  <title>Работа с карти на паметта</title>

  <p><gui>Виртуалната памет</gui> представлява комбинираната <gui>физическа памет</gui> и <link xref="mem-swap">пейджинг пространство</link> в дадена система. То позволява на работещите процеси да имат достъп до <em>повече</em> от съществуващата физическа памет чрез <gui>задаване</gui> на места във физическата памет към файлове на диска. Когато системата се нуждае от повече страници памет, отколкото са налични, някои от съществуващите страници ще бъдат <em>прехвърлени</em> или записани в пейджинг пространството.</p>

  <p><gui>Картата на паметта</gui> показва общата виртуална памет, използвана от процеса, и може да се използва за определяне на разходите за памет при стартиране на един или няколко процеси на програмата, за да се гарантира използването на правилните споделени библиотеки, за да се видят резултатите от нагласянето на различни параметри за настройка на производителността на програмата или за поправяне на проблеми като изтичане на памет.</p>

  <p>За показване на <link xref="memory-map-what">картата на паметта</link> на даден процес:</p>

  <steps>
    <item><p>Натиснете върху раздела <gui>Процеси</gui>.</p></item>
    <item><p>Натиснете с десния бутон на мишката върху желания процес в <gui>списъка на процесите</gui>.</p></item>
    <item><p>Натиснете <gui>Карти на паметта</gui>.</p></item>
  </steps>

<section id="read">
  <title>Разчитане на карта с памет</title>

  <list>
    <item>
      <p>Адресите се показват в шестнайсетична бройна система.</p>
    </item>
    <item>
      <p>Размерите са представени в <link xref="units">IEC двоични представки</link>.</p>
    </item>
    <item>
      <p>По време на изпълнение процесът може динамично да заделя повече памет в област, наречена <em>динамична памет</em>, и да съхранява аргументи и променливи в друга област, наречена <em>стек</em>.</p>
    </item>
    <item>
      <p>Самата програма и всяка от споделените библиотеки имат по три записа — един за текстовия сегмент за четене и изпълнение, един за сегмента с данни за четене и запис и един за сегмента с данни само за четене. И двата сегмента за данни трябва да бъдат прехвърлени при работа с пейджинг памет.</p>
    </item>
  </list>

<table shade="rows" ui:expanded="false">
<title>Свойства</title>
  <tr>
	  <td><p>Име на файл</p></td>
	  <td><p>Местоположението на споделена библиотека, която в момента се използва от процеса. Ако това поле е празно, информацията за паметта в този ред описва паметта, която е собственост на процеса, чието име е показано над таблицата с картата на паметта.</p></td>
  </tr>
  <tr>
	  <td><p>Начало на ВП</p></td>
	  <td><p>Адресът, от който започва сегментът от паметта. Начало на ВП, Край на ВП и Отместване на ВП заедно определят местоположението на диска, към което е зададена споделената библиотека.</p></td>
  </tr>
  <tr>
	  <td><p>Край на ВП</p></td>
	  <td><p>Адресът, на който завършва сегментът от паметта.</p></td>
  </tr>
  <tr>
	  <td><p>ВП Размер</p></td>
	  <td><p>Размерът на сегмента от паметта.</p></td>
  </tr>
  <tr>
	  <td><p>Флагове</p></td>
	  <td><p>Следните флагове описват различните видове достъп до сегменти от паметта, които процесът може да има:</p>
    <terms>
      <item>
        <title><gui>p</gui></title>
        <p>Сегментът от паметта е несподелен за процеса и не е достъпен за други процеси.</p>
      </item>
      <item>
        <title><gui>r</gui></title>
        <p>Процесът има достъп да чете от сегмента на паметта.</p>
      </item>
      <item>
        <title><gui>s</gui></title>
        <p>Сегментът от паметта се споделя с други процеси.</p>
      </item>
      <item>
        <title><gui>w</gui></title>
        <p>Процесът има достъп за запис в сегмента от паметта.</p>
      </item>
      <item>
        <title><gui>x</gui></title>
        <p>Процесът има достъп да изпълнява инструкции, които се съдържат в сегмента от паметта.</p>
      </item>
    </terms>
    </td>
  </tr>
  <tr>
	  <td><p>Отместване на ВП</p></td>
	  <td><p>Местоположението на адреса в сегмента на паметта, измерено от „Начало на ВП“.</p></td>
  </tr>
  <tr>
	  <td><p>Несподелена, Споделена, Чиста, Променена</p></td>
<!--	  <td><p>Text pages are flagged read-execute in memory and don't need to
  be written to swap since they can be re-loaded from their original location
  on disk. Data pages have read-write permissions, and if modified when in
  memory, they are labeled <em>dirty</em>, and when designated for swapping,
  must be paged out.</p></td>
-->
          <td><list><item><p><em>несподелените</em> страници се достъпват от един процес</p></item>
          <item><p><em>споделените</em> страници се достъпват от повече от един процес</p></item>
          <item><p><em>чистите</em> страници все още не са променяни, докато са в паметта, и могат да бъдат отхвърлени, когато са предназначени за подмяна.</p></item>
          <item><p><em>променените</em> страници са били променени, докато са били в паметта, и трябва да бъдат записани на диска, когато са предназначени за подмяна.</p></item></list></td>
  </tr>
  <tr>
	  <td><p>Устройство</p></td>
	  <td><p>Основният и второстепенният номер на устройството, на което се намира името на файла на споделената библиотека. Заедно те определят един дял в системата.</p></td>
  </tr>
  <tr>
	  <td><p>I-възел</p></td>
	  <td><p>I-възелът на устройството, от което местоположението на споделената библиотека е заредено в паметта. I-възелът е структурата, която файловата система използва за съхранение на даден файл, и номерът, който му е зададен, е уникален.</p></td>
  </tr>
</table>

</section>
</page>
