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

  <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>Hukommelseskortet af en proces kan hjælpe med at diagnosticere visse hukommelsesproblemer.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>scootergrisen</mal:name>
      <mal:email/>
      <mal:years>2020-2021</mal:years>
    </mal:credit>
  </info>

  <title>Hvad er et hukommelsesområde?</title>

  <p><gui>Virtuel hukommelse</gui> repræsenterer den samlede <gui>fysiske hukommelse</gui> og <link xref="mem-swap">swapplads</link> i et system. Den gør det muligt for kørende processer at tilgå <em>mere</em> end den fysiske hukommelse, ved at <gui>kortlægge</gui> placeringer i den fysiske hukommelse til filer på disken.</p>

  <p>Når et program startes, så tildeler systemet det et unikt proces-id (PID) og dens <em>instruktioner</em> og <em>data</em> indlæses i hukommelse i <em>sider</em>. Sidetabellen på hver proces kortlægger korrespondancen mellem dens sider i virtuel hukommelse og deres placering i fysisk hukommelse. <gui>Hukommelsesområdet</gui> viser processens samlede forbrug af virtuel hukommelse og kan bruges til at fastslå hvor meget hukommelse det koster at køre en enkelt eller flere instanser af programmet, for at sikre brugen af de korrekte delte biblioteker, for at se resultaterne efter justering af diverse parametre som programmet har til at tune ydelsen, eller til at diagnosticere problemer såsom hukommelseslæk.</p>

  <p>Hvis flere kopier af et program kører, så skal programmets instruktioner (eller <em>tekst</em>) kun indlæses én gang i fysisk hukommelse. Hver gang der startes en ny instans af programmet (som en unik proces med sine egne virtuel hukommelse-sider), så kortlægger dets sidetabel placeringen af teksten i virtuel hukommelse til de instruktioner i den oprindelige placering i rigtig hukommelse. Derudover vises dynamisk delte biblioteker som bruges af processen som særskilte i virtuel hukommelse, men er delte referencer til en enkelt kopi af bibliotekets tekstsegment i rigtig hukommelse. Når der redegøres for den samlede brug af hukommelse af en proces, så er det vigtigt at bemærke at prisen for delte biblioteker som er indlæst i hukommelse kan spredes over alle processer som bruger dem i øjeblikket.</p>

  <p>Når systemet har brug for flere sider med hukommelse end der er tilgængelig, så vil nogle af de eksisterende sider blive <em>“paged out”</em> eller skrevet til <gui>swappladsen</gui>. Tekstsider får flaget skrive-køre i hukommelse og har behøver ikke at blive skrevet til swap eftersom de kan genindlæses fra deres oprindelige placering på disk. Datasider har læse-/skrivetilladelser og hvis de er blevet ændret mens de var i hukommelse, så får de etiketten <em>snavset</em>, og skal byttes ud når det er blevet besluttet. Når en side i swapplads kræves af en kørende proces, så skal den byttes tilbage inden brug, hvilket måske forårsager at en anden side bliver “paged out”.</p>

</page>
