Virtueel geheugen in OS: wat is, oproepoproep, voordelen

Wat is virtueel geheugen?

Virtueel geheugen is een opslagmechanisme dat de gebruiker de illusie geeft een zeer groot hoofdgeheugen te hebben. Het wordt gedaan door een deel van het secundaire geheugen als het hoofdgeheugen te beschouwen. In virtueel geheugen kan de gebruiker processen opslaan met een grotere omvang dan het beschikbare hoofdgeheugen.

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

In deze handleiding voor het besturingssysteem leert u:

  • Wat is virtueel geheugen?
  • Hoe virtueel geheugen werkt?
  • Wat is Paging op aanvraag?
  • Typen methoden voor het vervangen van pagina's
  • FIFO-pagina vervangen
  • Optimaal algoritme
  • Vervanging LRU-pagina
  • Voordelen van virtueel geheugen
  • Nadelen van virtueel geheugen

Waarom virtueel geheugen nodig?

Hier zijn redenen om virtueel geheugen te gebruiken:

  • Als 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 het hiervoor een klein deel van de harde schijf.

Hoe virtueel geheugen werkt?

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 terechtkomen, zoekt het besturingssysteem naar de RAM-ruimte die de laatste 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.

Laten we het beheer van virtueel geheugen begrijpen met behulp van een 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.

  • Het besturingssysteem zal dan 250 MB virtueel geheugen opzetten en een programma genaamd Virtual Memory Manager (VMM) gebruiken om die 250 MB te beheren.
  • In dit geval zal de VMM dus een bestand op de harde schijf aanmaken dat 250 MB groot is om extra geheugen op te slaan dat nodig is.
  • Het besturingssysteem gaat nu verder met het adresseren van geheugen aangezien 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 Paging op aanvraag?

Een paging-mechanisme op vraag 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, niet van tevoren.

Dus als er een contextwisseling plaatsvindt, kopieert het besturingssysteem nooit een van de oude programma-pagina's van de schijf of een van de nieuwe programma-pagina's naar het hoofdgeheugen. In plaats daarvan begint het met het uitvoeren van het nieuwe programma na het laden van de eerste pagina en haalt het de pagina's van het programma 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 dit als een ongeldige geheugenreferentie. Dat komt omdat de paginafout en overdrachten de besturing terugsturen van het programma naar het besturingssysteem, dat vereist dat de pagina weer in het geheugen wordt opgeslagen.

Soorten methoden voor het vervangen van pagina's

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

  • FIFO
  • Optimaal algoritme
  • Vervanging LRU-pagina

FIFO-pagina vervangen

FIFO (First-in-first-out) is een eenvoudige implementatiemethode. Bij deze methode selecteert het geheugen de pagina voor een 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, aangezien het identificatienummer altijd op de FIFO-stack staat.
  • De oudste pagina in het hoofdgeheugen is er een die als eerste moet worden geselecteerd om te worden vervangen.

Optimaal algoritme

De optimale methode voor het vervangen van pagina's selecteert die pagina voor een 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 algoritmemethode voor paginavervanging heeft het laagste paginafoutpercentage van alle algoritmen. Dit algoritme bestaat en zou MIN of OPT moeten heten.
  • Vervang de pagina die u voor een langere tijd niet wilt gebruiken. Het gebruikt alleen de tijd waarop een pagina moet worden gebruikt.

Vervanging LRU-pagina

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

Hoe werkt het?

  • De pagina, die het langst niet is gebruikt in het hoofdgeheugen, wordt geselecteerd voor vervanging.
  • Eenvoudig te implementeren, een lijst bij te houden, pagina's te 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 te kijken in de tijd.

Foutpercentage

Het foutpercentage is een frequentie waarmee een ontworpen systeem of onderdeel defect raakt. Het wordt uitgedrukt in mislukkingen per tijdseenheid. Het wordt aangeduid met de Griekse letter λ (lambda).

Voordelen van virtueel geheugen

Hier zijn de voor- / 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 multiprogrammeringsomgeving.
  • 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 worden gedeeld tussen het geheugen.
  • Het proces kan zelfs groter worden dan het hele fysieke geheugen.
  • Gegevens / code moeten van schijf worden gelezen wanneer dat nodig is.
  • De code kan overal in het fysieke geheugen worden geplaatst zonder dat verplaatsing nodig is.
  • Er zouden meer processen in het hoofdgeheugen moeten worden gehandhaafd, 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 aan de mate van multiprogrammering.
  • Grote programma's moeten worden geschreven, aangezien 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 stabiliteit van het systeem.
  • Hierdoor kunnen grotere applicaties worden uitgevoerd op systemen die niet voldoende fysiek RAM alleen 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.

Overzicht:

  • 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 paging-mechanisme op vraag 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, 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 een vervanging waarvoor de tijd tot de volgende verwijzing het langst is.
  • De LRU-methode helpt het besturingssysteem om het paginagebruik in korte tijd 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.

Interessante artikelen...