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

  <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>Mapa pamięci procesu może pomóc diagnozować pewne problemy z pamięcią.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Piotr Drąg</mal:name>
      <mal:email>piotrdrag@gmail.com</mal:email>
      <mal:years>2017-2021</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Aviary.pl</mal:name>
      <mal:email>community-poland@mozilla.org</mal:email>
      <mal:years>2017-2021</mal:years>
    </mal:credit>
  </info>

  <title>Czym jest mapa pamięci?</title>

  <p><gui>Pamięć wirtualna</gui> jest reprezentacją połączonej <gui>pamięci fizycznej</gui> i <link xref="mem-swap">przestrzeni wymiany</link> na komputerze. Umożliwia ona działającym procesom na korzystanie z <em>więcej</em> niż istniejącej pamięci fizycznej przez <gui>mapowanie</gui> położeń w pamięci fizycznej do plików na dysku.</p>

  <p>Po uruchomieniu programu system przydziela mu unikalny identyfikator procesu (PID), a jego <em>instrukcje</em> i <em>dane</em> są wczytywane do pamięci w postaci <em>stron</em>. Tablica stron każdego procesu mapuje związek między jego stronami w pamięci wirtualnej a ich położeniem w pamięci fizycznej. <gui>Mapa pamięci</gui> wyświetla całkowitą pamięć wirtualną użytą przez proces, i może być używana do ustalania kosztu pamięci działania jednego lub wielu wystąpień programu, do zapewniania użycia właściwych bibliotek współdzielonych, do wyświetlania wyników dostosowania różnych parametrów wydajności, jakie może mieć program, albo do diagnozowania problemów, takich jak wycieki pamięci.</p>

  <p>Jeśli uruchomionych jest wiele kopii programu, instrukcje (lub <em>tekst</em>) programu musi być wczytany do pamięci fizycznej tylko raz. Za każdym razem, gdy nowe wystąpienie programu jest uruchamiane (jako unikalny proces ze swoimi własnymi stronami pamięci wirtualnej, jego tablica stron mapuje położenie tekstu w pamięci wirtualnej do tych instrukcji w oryginalnej prawdziwej pamięci. Dodatkowo wszelkie biblioteki dynamicznie współdzielone używane przez proces pojawiają się jako odrębne w pamięci wirtualnej, ale są współdzielonymi odniesieniami do jednej kopii segmentu tekstu biblioteki w prawdziwej pamięci. Podczas sprawdzania całkowitego użycia pamięci przez proces warto pamiętać, że koszt bibliotek współdzielonych wczytanych do pamięci może być rozłożony między wszystkimi obecnie używającymi ich procesami.</p>

  <p>Kiedy komputer potrzebuje więcej stron pamięci niż jest dostępnych, to część istniejących stron zostaje usunięta lub zapisana w <gui>przestrzeni wymiany</gui>. Strony tekstu są oznaczane jako do odczytu i wykonania w pamięci i nie muszą być zapisywane w przestrzeni wymiany, ponieważ mogą być ponownie wczytywane z ich oryginalnych położeń na dysku. Strony danych mają uprawnienia do odczytu i zapisu, i jeśli zostały zmodyfikowane w pamięci, to są oznaczane jako <em>brudne</em> i po wyznaczeniu do wymiany muszą zostać usunięte. Kiedy strona w przestrzeni wymiany jest wymagana przez działający proces, to musi zostać ponownie wymieniona przed użyciem, być może powodując usunięcie innej strony.</p>

</page>
