Virtuellt minne i OS: Vad är, efterfrågan personsökning, fördelar
⚡ Smart sammanfattning
Virtuellt minne är en lagringsmekanism som ger användaren illusionen av ett stort huvudminne genom att behandla en del av sekundärlagringen som RAM. Den låter processer som är större än det fysiska minnet köras och implementeras med demand paging.
Vad är virtuellt minne?
Virtuellt minne är en lagringsmekanism som ger användaren en illusion av att ha ett mycket stort huvudminne. Det görs genom att behandla en del av sekundärminnet som huvudminne. I virtuellt minne kan användaren lagra processer med en större storlek än det tillgängliga huvudminnet.
Därför, istället för att ladda en lång process i huvudminnet, laddar operativsystemet de olika delarna av mer än en process i huvudminnet. Virtuellt minne implementeras mestadels med efterfrågesökning och efterfrågesegmentering.
Varför behöver du virtuellt minne?
Här är anledningarna till att använda virtuellt minne:
- När datorn inte har utrymme i det fysiska minnet skriver den det den behöver komma ihåg till hårddisken i en växlingsfil som virtuellt minne.
- Om en dator körs Windows behöver mer minne/RAM än vad som är installerat i systemet, använder den en liten del av hårddisken för detta ändamål.
Hur fungerar virtuellt minne?
I den moderna världen har virtuellt minne blivit ganska vanligt nuförtiden. Det används närhelst vissa sidor behöver laddas in i huvudminnet för att kunna köras, och minnet inte är tillgängligt för så många sidor.
Så, i så fall, istället för att förhindra att sidor kommer in i huvudminnet, söker operativsystemet efter det RAM-utrymme som har använts minimalt på senare tid, eller som inte refereras, och flyttar det till sekundärminnet för att skapa plats för de nya sidorna i huvudminnet.
Låt oss förstå virtuell minneshantering med hjälp av ett exempel.
Till exempel
Låt oss anta att ett operativsystem kräver 300 MB minne för att lagra alla program som körs. Det finns dock för närvarande bara 50 MB tillgängligt fysiskt minne lagrat i RAM-minnet.
- Operativsystemet konfigurerar sedan 250 MB virtuellt minne och använder ett program som heter Virtual Memory Manager (VMM) för att hantera de 250 MB.
- Så i det här fallet skapar VMM en fil på hårddisken som är 250 MB stor för att lagra det extra minne som krävs.
- Operativsystemet kommer nu att fortsätta att adressera minne som om det betraktade 300 MB riktigt minne lagrat i RAM-minnet, även om bara 50 MB utrymme finns tillgängligt.
- Det är VMM:ens uppgift att hantera 300 MB minne även om bara 50 MB faktiskt minnesutrymme är tillgängligt.
Vad är efterfrågan personsökning?
En efterfrågesökningsmekanism är mycket lik en personsökningssystem med byteping, där processer lagras i sekundärminnet och sidor endast laddas på begäran, inte i förväg.
Så när en kontextväxling sker kopierar operativsystemet aldrig någon av det gamla programmets sidor från disken eller någon av det nya programmets sidor till huvudminnet. Istället börjar det köra det nya programmet efter att den första sidan har laddats och hämtar de programsidor som refereras.
Om programmet under programkörningen refererar till en sida som kanske inte är tillgänglig i huvudminnet eftersom den har bytts ut, betraktar processorn det som en ogiltig minnesreferens. Detta beror på att sidfelet överför kontrollen tillbaka från programmet till operativsystemet, som kräver att sidan lagras tillbaka i minnet.
Typer av metoder för sidbyte
Här är några viktiga metoder för att ersätta sidan:
- FIFO
- Optimal algoritm
- LRU Sidbyte
FIFO Sidbyte
FIFO (Först-in-först-ut) är en enkel implementeringsmetod. I den här metoden väljer minnet sidan för en ersättning som har funnits i minnets virtuella adress under längst tid.
Funktioner
- När en ny sida laddas tas den sida som har funnits längst i minnet bort. Det är därför enkelt att avgöra vilken sida som ska tas bort, eftersom dess identifikationsnummer alltid finns längst fram i FIFO-stacken.
- Den äldsta sidan i huvudminnet är den som ska väljas för ersättning först.
Optimal algoritm
Den optimala sidbytesmetoden väljer den sida för en ersättning för vilken tiden till nästa referens är längst.
Funktioner
- Den optimala algoritmen resulterar i det minsta antalet sidfel. Denna algoritm är svår att implementera.
- En optimal algoritm för sidbyte har den lägsta sidfelsfrekvensen av alla algoritmer. Denna algoritm existerar och bör kallas MIN eller OPT.
- Ersätt sidan som sannolikt inte kommer att användas under en längre tid. Den använder bara den tid då en sida behöver användas.
LRU Sidbyte
Den fullständiga formen av LRU är den minst nyligen använda sidan. Denna metod hjälper operativsystemet att hitta sidanvändningen under en kort tidsperiod. Denna algoritm bör implementeras genom att associera en räknare med varje sida.
Hur fungerar det?
- Den sida som inte har använts under längst tid i huvudminnet är den som kommer att ersättas.
- Lätt att implementera, håll en lista, byt ut sidor genom att titta tillbaka i tiden.
Funktioner
- LRU-ersättningsmetoden har det högsta antalet. Denna räknare kallas också ett åldersregister, vilket anger åldern och hur mycket deras tillhörande sidor också ska refereras.
- Den sida som inte har använts under längst tid i huvudminnet är den som ska väljas för ersättning.
- Den för också en lista och ersätter sidor genom att titta tillbaka i tiden.
Felfrekvens
Felfrekvens är frekvensen med vilken ett konstruerat system eller en komponent går sönder. Den uttrycks i fel per tidsenhet. Den betecknas med den grekiska bokstaven λ (lambda).
Fördelar med virtuellt minne
Här är fördelarna/nyttorna med att använda virtuellt minne:
- Virtuellt minne hjälper till att öka hastigheten när endast ett visst segment av programmet krävs för att köra programmet.
- Det är till stor hjälp för att implementera en multiprogrammeringsmiljö.
- Det låter dig köra fler applikationer samtidigt.
- Det hjälper dig att passa in många stora program i mindre program.
- Gemensam data eller kod kan delas mellan minnet.
- En process kan bli ännu större än allt fysiskt minne.
- Data/kod bör läsas från disk närhelst det behövs.
- Koden kan placeras var som helst i det fysiska minnet utan att behöva flytta.
- Fler processer bör behållas i huvudminnet, vilket ökar den effektiva användningen av CPU.
- Varje sida lagras på en disk tills den behövs, därefter tas den bort.
- Det gör att fler applikationer kan köras samtidigt.
- Det finns ingen specifik gräns för graden av multiprogrammering.
- Stora program bör skrivas, eftersom det tillgängliga virtuella adressutrymmet är större jämfört med fysiskt minne.
Nackdelar med virtuellt minne
Här är nackdelarna/nackdelarna med att använda virtuellt minne:
- Applikationer kan köras långsammare om systemet använder virtuellt minne.
- Det tar troligtvis längre tid att växla mellan applikationer.
- Det ger mindre hårddiskutrymme för din användning.
- Det minskar systemets stabilitet.
- Det gör att större applikationer kan köras i system som inte erbjuder tillräckligt med fysiskt RAM-minne för att köra dem.
- Den erbjuder inte samma prestanda som RAM.
- Det påverkar ett systems totala prestanda negativt.
- Den upptar lagringsutrymme, som annars skulle kunna användas för långsiktig datalagring.


