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

  <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>Фил Бул</name>
      <email>philbull@gmail.com</email>
      <years>2011</years>
    </credit>

    <credit type="author copyright">
      <name>Мајкл Хил</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> места у физичкој меморији у датотеке на диску.</p>

  <p>Када се програм покрене, систем му додељује јединствени ИБ процеса (ПИД) а његова <em>упутства</em> и <em>подаци</em> се учитавају у меморију у <em>страницама</em>. Табела страница сваког процеса мапира подударност између његових страница у виртуелној меморији и њиховог места у физичкој меморији. <gui>Мапа меморије</gui> приказује укупну употребу виртуелне меморије процеса, и може се користити за одређивање меморијског трошка покретања једног или више примерака програма, како би се осигурала употреба исправних дељених библиотека, видели резултати подешавања различитих параметара за прилагођавање учинка које програм може имати, или за дијагностиковање проблема као што је цурење меморије.</p>

  <p>Ако се извршава више примерака програма, упутства (или <em>текст</em>) програма треба учитати само једном у физичку меморију. Сваки пут када се покрене нови примерак програма (као јединствени процес са сопственим страницама виртуелне меморије), његова табела страница мапира место текста у виртуелној меморији на та упутства у изворном месту стварне меморије. Поред тога, све динамичке дељене библиотеке које процес користи изгледају као засебне у виртуелној меморији, али су дељене референце на један примерак текстуалног сегмента библиотеке у стварној меморији. Приликом обрачуна укупне употребе меморије процеса, важно је напоменути да се трошак дељених библиотека учитаних у меморију може распоредити на све процесе који их тренутно користе.</p>

  <p>Када систему затреба више страница меморије него што је доступно, неке од постојећих страница ће бити <em>избачене</em> или уписане у <gui>разменски простор</gui>. Странице текста су означене за читање и извршавање у меморији и не морају се уписивати у размену јер се могу поново учитати са свог изворног места на диску. Странице података имају овлашћења за читање и писање, а ако су измењене док су у меморији, означавају се као <em>измењене</em>, и када су одређене за размену, морају бити избачене. Када је страница у разменском простору потребна покренутом процесу, она мора бити враћена пре употребе, што можда може довести до избацивања друге странице.</p>

</page>
