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 te laden, de verschillende delen van meer dan één proces in het hoofdgeheugen. Virtueel geheugen wordt meestal geïmplementeerd met vraagpaging en vraagsegmentatie.

Waarom virtueel geheugen nodig?

Hier volgen enkele redenen om virtueel geheugen te gebruiken:

  • Wanneer uw computer geen ruimte in het fysieke geheugen heeft, 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 dan in het systeem is geïnstalleerd, gebruikt hij hiervoor een klein deel van de harde schijf.

Hoe virtueel geheugen werkt?

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

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

Laten we het begrijpen virtueel geheugenbeheer met behulp van één voorbeeld.

Bij voorbeeld

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 zal dan 250 MB virtueel geheugen instellen en een programma genaamd Virtual Memory Manager (VMM) gebruiken om die 250 MB te beheren.
  • In dit geval maakt de VMM dus een bestand op de harde schijf van 250 MB groot om het benodigde extra geheugen op te slaan.
  • Het besturingssysteem gaat nu verder met het aanpakken van het geheugen, omdat het rekening houdt met 300 MB echt geheugen dat in het RAM is opgeslagen, 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 vraagpaging?

Vraagoproep

Een vraagoproepmechanisme lijkt sterk op een paging-systeem met swapping waarbij processen die zijn opgeslagen in het secundaire geheugen en pagina's alleen op verzoek worden geladen, en niet vooraf.

Dus wanneer er een contextwisseling plaatsvindt, kopieert het besturingssysteem nooit een van de pagina's van het oude programma van de schijf of een van de pagina's van het nieuwe programma naar het hoofdgeheugen. In plaats daarvan zal het beginnen met het uitvoeren van het nieuwe programma nadat de eerste pagina is geladen en worden de pagina's van het programma opgehaald 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 de overdrachten de controle terugsturen van het programma naar het besturingssysteem, dat eist dat de pagina weer in het geheugen wordt opgeslagen.

Soorten methoden voor paginavervanging

Hier volgen enkele belangrijke methoden voor het vervangen van pagina's

  • FIFO
  • Optimaal algoritme
  • Vervanging van LRU-pagina

Vervanging van FIFO-pagina

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

Kenmerken

  • 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, omdat het identificatienummer altijd op de FIFO-stapel staat.
  • De oudste pagina in het hoofdgeheugen moet als eerste 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.

Kenmerken

  • 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.

Vervanging van LRU-pagina

De volledige vorm van LRU is de pagina Minst recent gebruikt. Deze methode helpt het besturingssysteem om paginagebruik gedurende een korte periode te vinden. Dit algoritme moet worden geïmplementeerd door een teller aan een even pagina te koppelen.

Hoe werkt het?

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

Kenmerken

  • De LRU-vervangingsmethode heeft het hoogste aantal. Deze teller wordt ook wel verouderingsregisters genoemd, die hun leeftijd specificeren en hoeveel er ook naar de 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 in de tijd te kijken.

Foutpercentage

Foutpercentage is de frequentie waarmee een ontworpen systeem of onderdeel faalt. Het wordt uitgedrukt in mislukkingen per tijdseenheid. Het wordt aangegeven met de Griekse letter ? (lambda).

Voordelen van virtueel geheugen

Hier zijn de voor- en voordelen van het gebruik van virtueel geheugen:

  • Virtueel geheugen helpt snelheid te winnen wanneer slechts een bepaald segment van het programma nodig is voor de uitvoering van het programma.
  • Het is zeer nuttig bij het implementeren van een multiprogrammeeromgeving.
  • Hiermee kunt u meer applicaties tegelijk uitvoeren.
  • Het helpt u om veel grote programma's in kleinere programma's te passen.
  • Gemeenschappelijke gegevens of code kunnen tussen het geheugen worden gedeeld.
  • Het proces kan zelfs groter worden dan het hele 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 bijgehouden, waardoor het effectieve gebruik van de CPU toeneemt.
  • 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 op de mate van multiprogrammering.
  • Er moeten grote programma's worden geschreven, omdat de beschikbare virtuele adresruimte groter is dan het fysieke geheugen.

Nadelen van virtueel geheugen

Hier volgen 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.
  • Het zorgt ervoor dat grotere applicaties kunnen worden uitgevoerd op systemen die niet 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 gegevensopslag op lange termijn.

Samengevat

  • Virtueel geheugen is een opslagmechanisme dat de gebruiker de illusie geeft een zeer groot hoofdgeheugen te hebben.
  • Virtueel geheugen is nodig wanneer uw computer geen ruimte heeft in het fysieke geheugen
  • Een vraagoproepmechanisme lijkt sterk op een oproepsysteem met swapping, waarbij processen die zijn opgeslagen in het secundaire geheugen en pagina's alleen op verzoek worden geladen, en niet vooraf.
  • Belangrijke methoden voor paginavervanging zijn 1) FIFO 2) Optimaal algoritme 3) LRU-paginavervanging.
  • Bij de FIFO-methode (First-in-first-out) selecteert het geheugen de pagina voor vervanging die het langst in het virtuele adres van het geheugen heeft gestaan.
  • 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 gedurende een korte periode te vinden.
  • Virtueel geheugen helpt 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.