Virtuelt minne i OS: Hva er, etterspørselssøking, fordeler
⚡ Smart oppsummering
Virtuelt minne er en lagringsmekanisme som gir brukeren illusjonen av et stort hovedminne ved å behandle deler av sekundærlagringen som RAM. Den lar prosesser som er større enn fysisk minne kjøre, og implementeres med etterspørselspaging.
Hva er virtuelt minne?
Virtuelt minne er en lagringsmekanisme som gir brukeren en illusjon av å ha et veldig stort hovedminne. Dette gjøres ved å behandle en del av sekundærminnet som hovedminne. I virtuelt minne kan brukeren lagre prosesser med en større størrelse enn det tilgjengelige hovedminnet.
Derfor, i stedet for å laste en lang prosess i hovedminnet, laster OS de forskjellige delene av mer enn én prosess i hovedminnet. Virtuelt minne er stort sett implementert med etterspørselssøking og etterspørselssegmentering.
Hvorfor trenger du virtuelt minne?
Her er grunnene til å bruke virtuelt minne:
- Når datamaskinen din ikke har plass i det fysiske minnet, skriver den det den trenger å huske til harddisken i en vekslingsfil som virtuelt minne.
- Hvis en datamaskin kjører Windows trenger mer minne/RAM enn det som er installert i systemet, bruker den en liten del av harddisken til dette formålet.
Hvordan virtuelt minne fungerer?
I den moderne verden har virtuelt minne blitt ganske vanlig i disse dager. Det brukes når noen sider må lastes inn i hovedminnet for å kjøres, og minnet ikke er tilgjengelig for så mange sider.
Så, i så fall, i stedet for å forhindre at sider kommer inn i hovedminnet, søker operativsystemet etter RAM-plassen som er minimalt brukt i den siste tiden, eller som ikke er referert til, og flytter den til sekundærminnet for å gi plass til de nye sidene i hovedminnet.
La oss forstå administrasjon av virtuelt minne ved hjelp av ett eksempel.
For eksempel
La oss anta at et operativsystem krever 300 MB minne for å lagre alle kjørende programmer. Imidlertid er det for øyeblikket bare 50 MB tilgjengelig fysisk minne lagret på RAM-en.
- Operativsystemet vil deretter sette opp 250 MB virtuelt minne og bruke et program kalt Virtual Memory Manager (VMM) til å administrere disse 250 MB.
- Så i dette tilfellet vil VMM opprette en fil på harddisken som er 250 MB stor for å lagre det ekstra minnet som kreves.
- Operativsystemet vil nå fortsette å adressere minne som om det vurderer 300 MB reelt minne lagret i RAM-en, selv om bare 50 MB plass er tilgjengelig.
- Det er VMM-ens jobb å administrere 300 MB minne, selv om bare 50 MB reell minneplass er tilgjengelig.
Hva er etterspørselssøking?
En etterspørselssøkingsmekanisme er veldig lik en personsøkersystem med bytteping, der prosesser lagres i sekundærminnet og sider bare lastes inn på forespørsel, ikke på forhånd.
Så når det oppstår en kontekstbytte, kopierer operativsystemet aldri noen av sidene i det gamle programmet fra disken eller noen av sidene i det nye programmet til hovedminnet. I stedet vil det begynne å kjøre det nye programmet etter å ha lastet inn den første siden og hente programsidene som det refereres til.
Hvis programmet under programkjøringen refererer til en side som kanskje ikke er tilgjengelig i hovedminnet fordi den ble byttet ut, anser prosessoren det som en ugyldig minnereferanse. Dette er fordi sidefeilen overfører kontrollen tilbake fra programmet til operativsystemet, som krever at siden lagres tilbake i minnet.
Typer sideerstatningsmetoder
Her er noen viktige metoder for sideerstatning:
- FIFO
- Optimal algoritme
- LRU-sideerstatning
FIFO-sideerstatning
FIFO (First-in-first-out) er en enkel implementeringsmetode. I denne metoden velger minnet siden for en erstatning som har vært i den virtuelle adressen til minnet i lengst tid.
Funksjoner
- Hver gang en ny side lastes inn, fjernes den siden som har vært lengst i minnet. Så det er enkelt å bestemme hvilken side som skal fjernes, ettersom identifikasjonsnummeret alltid er foran i FIFO-stakken.
- Den eldste siden i hovedminnet er den som bør velges for erstatning først.
Optimal algoritme
Den optimale sideerstatningsmetoden velger den siden for en erstatning der tiden til neste referanse er lengst.
Funksjoner
- Den optimale algoritmen resulterer i færrest sidefeil. Denne algoritmen er vanskelig å implementere.
- En optimal sideerstatningsalgoritme har den laveste sidefeilraten av alle algoritmer. Denne algoritmen finnes og bør kalles MIN eller OPT.
- Erstatt siden som sannsynligvis ikke vil bli brukt over lengre tid. Den bruker bare tiden når en side må brukes.
LRU-sideerstatning
Den fulle formen for LRU er «Minst nylig brukte side». Denne metoden hjelper operativsystemet med å finne sidebruk over en kort tidsperiode. Denne algoritmen bør implementeres ved å tilknytte en teller til hver side.
Hvordan virker det?
- Siden som ikke har vært brukt lengst i hovedminnet, er den som vil bli valgt for erstatning.
- Enkel å implementere, hold en liste, bytt ut sider ved å se tilbake i tid.
Funksjoner
- LRU-erstatningsmetoden har det høyeste antallet. Denne telleren kalles også et aldringsregister, som spesifiserer alderen og hvor mye de tilknyttede sidene også skal refereres til.
- Siden som ikke har vært brukt lengst i hovedminnet, er den som bør velges for erstatning.
- Den fører også en liste og erstatter sider ved å se tilbake i tid.
Feilfrekvens
Feilfrekvens er frekvensen som et konstruert system eller en komponent svikter med. Det uttrykkes i feil per tidsenhet. Det er betegnet med den greske bokstaven λ (lambda).
Fordeler med virtuelt minne
Her er fordelene/fordelene med å bruke virtuelt minne:
- Virtuelt minne bidrar til å øke hastigheten når bare et bestemt segment av programmet er nødvendig for å utføre programmet.
- Det er veldig nyttig for å implementere et multiprogrammeringsmiljø.
- Den lar deg kjøre flere applikasjoner samtidig.
- Det hjelper deg å passe mange store programmer inn i mindre programmer.
- Vanlige data eller kode kan deles mellom minnet.
- En prosess kan bli enda større enn alt det fysiske minnet.
- Data/kode bør leses fra disk når det er nødvendig.
- Koden kan plasseres hvor som helst i det fysiske minnet uten å måtte flyttes.
- Flere prosesser bør opprettholdes i hovedminnet, noe som øker den effektive bruken av CPU.
- Hver side lagres på en disk inntil den trengs, deretter fjernes den.
- Den lar flere applikasjoner kjøres samtidig.
- Det er ingen spesifikk grense for graden av multiprogrammering.
- Store programmer bør skrives, ettersom det tilgjengelige virtuelle adresserommet er større sammenlignet med fysisk minne.
Ulemper med virtuelt minne
Her er ulempene/ulempene ved å bruke virtuelt minne:
- Programmer kan kjøre tregere hvis systemet bruker virtuelt minne.
- Det tar sannsynligvis mer tid å bytte mellom applikasjoner.
- Den gir mindre harddiskplass til din bruk.
- Det reduserer systemstabiliteten.
- Det lar større applikasjoner kjøre i systemer som ikke tilbyr nok fysisk RAM alene til å kjøre dem.
- Den tilbyr ikke samme ytelse som RAM.
- Det påvirker den generelle ytelsen til et system negativt.
- Den opptar lagringsplass, som ellers kan brukes til langsiktig datalagring.


