Virtueel geheugen in besturingssysteem: wat is, vraagoproep, voordelen

Wat is virtueel geheugen?

Virtueel geheugen is een opslagmechanisme dat de gebruiker de illusie geeft een zeer groot hoofdgeheugen te hebben. Dit wordt gedaan door een deel van het secundaire geheugen als het hoofdgeheugen te behandelen. In virtueel geheugen kan de gebruiker processen opslaan die groter zijn dan het beschikbare hoofdgeheugen.

Daarom laadt het besturingssysteem, in plaats van één lang proces in het hoofdgeheugen, de verschillende delen van meer dan één proces in het hoofdgeheugen. Virtueel geheugen wordt meestal geïmplementeerd met vraagoproep en vraagsegmentatie.

In deze zelfstudie over het besturingssysteem leert u:

Waarom virtueel geheugen nodig?

Hier zijn redenen om virtueel geheugen te gebruiken:

  • Wanneer uw computer geen ruimte heeft in het fysieke geheugen, schrijft hij wat hij moet onthouden naar de harde schijf in een wisselbestand als virtueel geheugen.
  • Als een computer met Windows meer geheugen/RAM nodig heeft en vervolgens in het systeem is geïnstalleerd, gebruikt deze hiervoor een klein deel van de harde schijf.

Hoe werkt virtueel geheugen?

In de moderne wereld is virtueel geheugen tegenwoordig heel gewoon geworden. Het wordt gebruikt wanneer sommige pagina's in het hoofdgeheugen moeten worden geladen voor de uitvoering, en het geheugen is niet beschikbaar voor die vele pagina's.

Dus in dat geval, in plaats van te voorkomen dat pagina's in het hoofdgeheugen worden ingevoerd, zoekt het besturingssysteem naar de RAM-ruimte die de afgelopen tijd minimaal is gebruikt of waarnaar niet wordt verwezen in het secundaire geheugen om ruimte te maken voor de nieuwe pagina's in het hoofdgeheugen.

Laten we het beheer van virtueel geheugen begrijpen aan de hand van één voorbeeld.

Bijvoorbeeld:

Laten we aannemen dat een besturingssysteem 300 MB geheugen nodig heeft om alle actieve programma's op te slaan. Er is momenteel echter slechts 50 MB beschikbaar fysiek geheugen opgeslagen in het RAM-geheugen.

  • Het besturingssysteem stelt vervolgens 250 MB virtueel geheugen in en gebruikt een programma genaamd Virtual Memory Manager (VMM) om die 250 MB te beheren.
  • In dit geval maakt de VMM dus een bestand op de harde schijf van 250 MB groot om extra geheugen op te slaan dat nodig is.
  • Het besturingssysteem gaat nu verder met het adresseren van geheugen omdat het 300 MB echt geheugen in het RAM-geheugen beschouwt, zelfs als er slechts 50 MB ruimte beschikbaar is.
  • Het is de taak van de VMM om 300 MB geheugen te beheren, zelfs als er slechts 50 MB echte geheugenruimte beschikbaar is.

Wat is vraagoproep?

Een vraagoproepmechanisme lijkt veel op een oproepsysteem met swapping waarbij processen die zijn opgeslagen in het secundaire geheugen en pagina's alleen op verzoek worden geladen, niet van tevoren.

Dus als er een contextwisseling plaatsvindt, kopieert het besturingssysteem nooit de pagina's van het oude programma van de schijf of de pagina's van het nieuwe programma naar het hoofdgeheugen. In plaats daarvan start het met het uitvoeren van het nieuwe programma na het laden van de eerste pagina en haalt het de programmapagina's op waarnaar wordt verwezen.

Als het programma tijdens de uitvoering van het programma verwijst naar een pagina die mogelijk niet beschikbaar is in het hoofdgeheugen omdat deze is verwisseld, beschouwt de processor deze als een ongeldige geheugenreferentie. Dat komt omdat de paginafout en overdrachten de besturing terugsturen van het programma naar het besturingssysteem, dat vraagt ​​om de pagina terug in het geheugen op te slaan.

Soorten paginavervangingsmethoden

Hier zijn enkele belangrijke methoden voor het vervangen van pagina's:

  • FIFO
  • Optimaal algoritme
  • LRU-pagina vervangen

FIFO-pagina vervangen

FIFO (First-in-first-out) is een eenvoudige implementatiemethode. Bij deze methode selecteert het geheugen de pagina voor een vervanging die zich het langst in het virtuele adres van het geheugen bevindt.

Functies:

  • Telkens wanneer een nieuwe pagina wordt geladen, wordt de pagina die onlangs in het geheugen is gekomen verwijderd. Het is dus gemakkelijk om te beslissen welke pagina moet worden verwijderd, aangezien het identificatienummer zich altijd op de FIFO-stack bevindt.
  • De oudste pagina in het hoofdgeheugen is er een die als eerste moet worden geselecteerd voor vervanging.

Optimaal algoritme

De optimale methode voor het vervangen van pagina's selecteert die pagina voor vervanging waarvoor de tijd tot de volgende verwijzing het langst is.

Functies:

  • Optimaal algoritme resulteert in het minste aantal paginafouten. Dit algoritme is moeilijk te implementeren.
  • Een optimale paginavervangingsalgoritmemethode heeft het laagste paginafoutpercentage van alle algoritmen. Dit algoritme bestaat en zou MIN of OPT moeten heten.
  • Vervang de pagina die u niet langer wilt gebruiken. Het gebruikt alleen de tijd dat een pagina moet worden gebruikt.

LRU-pagina vervangen

De volledige vorm van LRU is de minst recent gebruikte pagina. Deze methode helpt het besturingssysteem om paginagebruik in een korte periode te vinden. Dit algoritme moet worden geïmplementeerd door een teller te associëren met een even pagina.

Hoe werkt het?

  • Pagina, die de langste tijd niet is gebruikt in het hoofdgeheugen, wordt geselecteerd voor vervanging.
  • Eenvoudig te implementeren, een lijst bijhouden, pagina's vervangen door terug te kijken in de tijd.

Functies:

  • De LRU-vervangingsmethode heeft het hoogste aantal. Deze teller wordt ook ouderdomsregisters genoemd, die aangeven hoe oud ze zijn en hoeveel er naar hun bijbehorende pagina's moet worden verwezen.
  • De pagina die het langst niet is gebruikt in het hoofdgeheugen, moet worden geselecteerd voor vervanging.
  • Het houdt ook een lijst bij en vervangt pagina's door terug te kijken in de tijd.

Foutpercentage

Foutfrequentie is een frequentie waarmee een ontworpen systeem of onderdeel faalt. Het wordt uitgedrukt in storingen per tijdseenheid. Het wordt aangeduid met de Griekse letter ? (lamda).

Voordelen van virtueel geheugen

Hier zijn de voordelen/voordelen van het gebruik van virtueel geheugen:

  • Virtueel geheugen helpt om snelheid te winnen wanneer slechts een bepaald segment van het programma nodig is voor de uitvoering van het programma.
  • Het is erg handig bij het implementeren van een multiprogrammeeromgeving.
  • Hiermee kunt u meer toepassingen tegelijk uitvoeren.
  • Het helpt u om veel grote programma's in kleinere programma's te passen.
  • Gemeenschappelijke gegevens of code kunnen worden gedeeld tussen geheugen.
  • Het proces kan zelfs groter worden dan al het fysieke geheugen.
  • Gegevens / code moeten indien nodig van schijf worden gelezen.
  • De code kan overal in het fysieke geheugen worden geplaatst zonder dat verplaatsing nodig is.
  • Er moeten meer processen in het hoofdgeheugen worden onderhouden, wat het effectieve gebruik van de CPU verhoogt.
  • Elke pagina wordt op een schijf opgeslagen totdat deze nodig is, daarna wordt deze verwijderd.
  • Hierdoor kunnen meer applicaties tegelijkertijd worden uitgevoerd.
  • Er is geen specifieke limiet voor de mate van multiprogrammering.
  • Er moeten grote programma's worden geschreven, omdat de beschikbare virtuele adresruimte meer is in vergelijking met fysiek geheugen.

Nadelen van virtueel geheugen

Hier zijn de nadelen/nadelen van het gebruik van virtueel geheugen:

  • Toepassingen kunnen langzamer werken als het systeem virtueel geheugen gebruikt.
  • Het kost waarschijnlijk meer tijd om tussen applicaties te schakelen.
  • Biedt minder ruimte op de harde schijf voor uw gebruik.
  • Het vermindert de systeemstabiliteit.
  • Hiermee kunnen grotere applicaties worden uitgevoerd in systemen die niet alleen voldoende fysiek RAM-geheugen bieden om ze uit te voeren.
  • Het biedt niet dezelfde prestaties als RAM.
  • Het heeft een negatieve invloed op de algehele prestaties van een systeem.
  • Neem de opslagruimte in beslag, die anders kan worden gebruikt voor langdurige gegevensopslag.

Samenvatting:

  • Virtueel geheugen is een opslagmechanisme dat de gebruiker de illusie geeft een heel groot hoofdgeheugen te hebben.
  • Virtueel geheugen is nodig wanneer uw computer geen ruimte heeft in het fysieke geheugen
  • Een vraagoproepmechanisme lijkt veel op een oproepsysteem met swapping waarbij processen die zijn opgeslagen in het secundaire geheugen en pagina's alleen op verzoek worden geladen, niet van tevoren.
  • Belangrijke methoden voor het vervangen van pagina's zijn 1) FIFO 2) Optimaal algoritme 3) LRU-paginavervanging.
  • In de FIFO-methode (First-in-first-out) selecteert het geheugen de pagina voor een vervanging die zich het langst in het virtuele adres van het geheugen bevindt.
  • De optimale methode voor het vervangen van pagina's selecteert die pagina voor vervanging waarvoor de tijd tot de volgende verwijzing het langst is.
  • De LRU-methode helpt het besturingssysteem om paginagebruik in een korte tijdsperiode te vinden.
  • Virtueel geheugen helpt om snelheid te winnen wanneer slechts een bepaald segment van het programma nodig is voor de uitvoering van het programma.
  • Toepassingen kunnen langzamer werken als het systeem virtueel geheugen gebruikt.