Virtuel hukommelse i OS: Hvad er, efterspørgselssøgning, fordele

Hvad er virtuel hukommelse?

Virtuel hukommelse er en lagringsmekanisme, som giver brugeren en illusion af at have en meget stor hovedhukommelse. Det gøres ved at behandle en del af den sekundære hukommelse som hovedhukommelsen. I virtuel hukommelse kan brugeren gemme processer med en større størrelse end den tilgængelige hovedhukommelse.

Derfor, i stedet for at indlæse en lang proces i hovedhukommelsen, indlæser OS de forskellige dele af mere end én proces i hovedhukommelsen. Virtuel hukommelse er for det meste implementeret med efterspørgselssøgning og efterspørgselssegmentering.

Hvorfor har du brug for virtuel hukommelse?

Her er grunde til at bruge virtuel hukommelse:

  • Når din computer ikke har plads i den fysiske hukommelse, skriver den, hvad den skal huske, til harddisken i en swap-fil som virtuel hukommelse.
  • Hvis en computer kører Windows har brug for mere hukommelse/RAM, derefter installeret i systemet, bruger den en lille del af harddisken til dette formål.

Hvordan virker virtuel hukommelse?

I den moderne verden er virtuel hukommelse blevet ret almindelig i disse dage. Det bruges, når nogle sider kræver at blive indlæst i hovedhukommelsen til udførelsen, og hukommelsen er ikke tilgængelig for de mange sider.

Så i det tilfælde, i stedet for at forhindre sider i at komme ind i hovedhukommelsen, søger operativsystemet efter den RAM-plads, der er mindst brugt i den seneste tid, eller som ikke er refereret til den sekundære hukommelse for at gøre plads til de nye sider i hovedhukommelsen.

Lad os forstå håndtering af virtuel hukommelse ved hjælp af et eksempel.

For eksempel

Lad os antage, at et OS kræver 300 MB hukommelse for at gemme alle de kørende programmer. Men der er i øjeblikket kun 50 MB tilgængelig fysisk hukommelse gemt på RAM.

  • OS vil derefter opsætte 250 MB virtuel hukommelse og bruge et program kaldet Virtual Memory Manager (VMM) til at administrere de 250 MB.
  • Så i dette tilfælde vil VMM'en oprette en fil på harddisken, der er 250 MB i størrelse, for at gemme ekstra hukommelse, som er påkrævet.
  • OS vil nu fortsætte med at adressere hukommelsen, da den betragter 300 MB reel hukommelse, der er gemt i RAM'et, selvom der kun er 50 MB ledig plads.
  • Det er VMM'ens opgave at administrere 300 MB hukommelse, selvom der kun er 50 MB reel hukommelse til rådighed.

Hvad er efterspørgselssøgning?

Efterspørgselssøgning

En efterspørgselssøgningsmekanisme minder meget om en personsøgningssystem med swapping, hvor processer gemt i den sekundære hukommelse og sider kun indlæses efter behov, ikke på forhånd.

Så når et kontekstskift opstår, kopierer OS aldrig nogen af ​​det gamle programs sider fra disken eller nogen af ​​det nye programs sider ind i hovedhukommelsen. I stedet vil den begynde at udføre det nye program efter indlæsning af den første side og henter programmets sider, som der henvises til.

Hvis programmet under programafviklingen refererer til en side, der muligvis ikke er tilgængelig i hovedhukommelsen, fordi den blev byttet, så betragter processoren den som en ugyldig hukommelsesreference. Det er fordi sidefejlen og overførslerne sender kontrol tilbage fra programmet til OS, som kræver at gemme siden tilbage i hukommelsen.

Typer af sideerstatningsmetoder

Her er nogle vigtige sideerstatningsmetoder

  • FIFO
  • Optimal algoritme
  • Udskiftning af LRU-side

FIFO Side Erstatning

FIFO (First-in-first-out) er en simpel implementeringsmetode. I denne metode vælger hukommelsen siden for en erstatning, der har været i hukommelsens virtuelle adresse i længst tid.

Funktionalitet

  • Når en ny side indlæses, fjernes den side, der for nylig er kommet i hukommelsen. Så det er nemt at beslutte, hvilken side der skal fjernes, da dens identifikationsnummer altid er ved FIFO-stakken.
  • Den ældste side i hovedhukommelsen er en, der bør vælges til udskiftning først.

Optimal algoritme

Den optimale sideerstatningsmetode vælger den side for en erstatning, hvor tiden til næste reference er længst.

Funktionalitet

  • Optimal algoritme resulterer i færrest antal sidefejl. Denne algoritme er svær at implementere.
  • En optimal sideerstatningsalgoritmemetode har den laveste sidefejlrate af alle algoritmer. Denne algoritme findes, og som skal kaldes MIN eller OPT.
  • Erstat den side, der ikke kan lide at bruge i længere tid. Den bruger kun den tid, hvor en side skal bruges.

Udskiftning af LRU-side

Den fulde form for LRU er den mindst nyligt brugte side. Denne metode hjælper OS med at finde sidebrug over en kort periode. Denne algoritme bør implementeres ved at associere en tæller med en lige side.

Hvordan virker det?

  • Side, som ikke har været brugt i længst tid i hovedhukommelsen, er den, der vil blive valgt til udskiftning.
  • Let at implementere, hold en liste, udskift sider ved at se tilbage i tiden.

Funktionalitet

  • LRU-udskiftningsmetoden har det højeste antal. Denne tæller kaldes også aldringsregistre, som angiver deres alder og hvor meget deres tilknyttede sider også skal henvises til.
  • Den side, der ikke har været brugt i længst tid i hovedhukommelsen, er den, der skal vælges til udskiftning.
  • Det fører også en liste og erstatter sider ved at se tilbage i tiden.

Fejlprocent

Fejlfrekvens er en frekvens, hvormed et designet system eller komponent fejler. Det udtrykkes i fejl pr. tidsenhed. Det er angivet med det græske bogstav ? (lambda).

Fordele ved virtuel hukommelse

Her er fordele/fordele ved at bruge virtuel hukommelse:

  • Virtuel hukommelse hjælper med at få fart, når kun et bestemt segment af programmet er påkrævet for at udføre programmet.
  • Det er meget nyttigt til at implementere et multiprogrammeringsmiljø.
  • Det giver dig mulighed for at køre flere applikationer på én gang.
  • Det hjælper dig med at passe mange store programmer ind i mindre programmer.
  • Fælles data eller kode kan deles mellem hukommelsen.
  • Processen kan blive endnu større end hele den fysiske hukommelse.
  • Data/kode bør læses fra disken, når det er nødvendigt.
  • Koden kan placeres hvor som helst i den fysiske hukommelse uden at kræve flytning.
  • Flere processer bør vedligeholdes i hovedhukommelsen, hvilket øger den effektive brug af CPU.
  • Hver side gemmes på en disk, indtil den er påkrævet, derefter vil den blive fjernet.
  • Det gør det muligt at køre flere applikationer på samme tid.
  • Der er ingen specifik grænse for graden af ​​multiprogrammering.
  • Store programmer bør skrives, da den tilgængelige virtuelle adresseplads er mere sammenlignet med fysisk hukommelse.

Ulemper ved virtuel hukommelse

Her er ulemper/ulemper ved at bruge virtuel hukommelse:

  • Programmer kan køre langsommere, hvis systemet bruger virtuel hukommelse.
  • Det tager sandsynligvis længere tid at skifte mellem applikationer.
  • Tilbyder mindre harddiskplads til dit brug.
  • Det reducerer systemets stabilitet.
  • Det tillader større applikationer at køre i systemer, der ikke tilbyder nok fysisk RAM alene til at køre dem.
  • Det tilbyder ikke den samme ydeevne som RAM.
  • Det påvirker et systems overordnede ydeevne negativt.
  • Optag lagerpladsen, som ellers kan bruges til langtidslagring af data.

Resumé

  • Virtuel hukommelse er en lagringsmekanisme, som giver brugeren en illusion om at have en meget stor hovedhukommelse.
  • Virtuel hukommelse er nødvendig, når din computer ikke har plads i den fysiske hukommelse
  • En efterspørgselssøgningsmekanisme minder meget om et personsøgningssystem med swapping, hvor processer gemt i den sekundære hukommelse og sider kun indlæses på efterspørgsel, ikke på forhånd.
  • Vigtige metoder til sideerstatning er 1) FIFO 2) Optimal algoritme 3) LRU-sideerstatning.
  • I FIFO-metoden (First-in-first-out) vælger hukommelsen siden for en erstatning, der har været i hukommelsens virtuelle adresse i længst tid.
  • Den optimale sideerstatningsmetode vælger den side for en erstatning, hvor tiden til næste reference er længst.
  • LRU-metoden hjælper OS med at finde sidebrug over en kort periode.
  • Virtuel hukommelse hjælper med at få fart, når kun et bestemt segment af programmet er påkrævet for at udføre programmet.
  • Programmer kan køre langsommere, hvis systemet bruger virtuel hukommelse.