Vad är virtuellt minne?
Virtuellt minne är en lagringsmekanism som ger användaren en illusion om att ha ett mycket stort huvudminne. Det görs genom att behandla en del av det sekundära minnet som huvudminnet. I virtuellt minne kan användaren lagra processer med större storlek än tillgängligt huvudminne.
Därför laddar operativsystemet istället för att ladda en lång process i huvudminnet de olika delarna av mer än en process i huvudminnet. Virtuellt minne implementeras oftast med efterfrågesökning och efterfrågesegmentering.
I den här handboken för operativsystem lär du dig:
- Vad är virtuellt minne?
- Hur fungerar virtuellt minne?
- Vad är Demand Paging?
- Typer av sidersättningsmetoder
- FIFO-sidbyte
- Optimal algoritm
- LRU-sidbyte
- Fördelar med virtuellt minne
- Nackdelar med virtuellt minne
Varför behöver du virtuellt minne?
Här finns skäl till att använda virtuellt minne:
- När din dator inte har plats i det fysiska minnet skriver den vad den behöver komma ihåg till hårddisken i en swap-fil som virtuellt minne.
- Om en dator som kör Windows behöver mer minne / RAM och sedan installeras 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 idag. Den används när vissa sidor behöver laddas i huvudminnet för körning, och minnet är inte tillgängligt för de många sidorna.
I det fallet, i stället för att förhindra att sidor kommer in i huvudminnet, söker operativsystemet efter RAM-utrymme som har använts minst den senaste tiden eller som inte refereras till sekundärminnet för att göra platsen 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 på RAM-minnet.
- OS kommer sedan att ställa in 250 MB virtuellt minne och använda 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 extra minne som krävs.
- Operativsystemet kommer nu att fortsätta adressera minne eftersom det tar hänsyn till 300 MB verkligt minne lagrat i RAM, även om endast 50 MB utrymme är tillgängligt.
- Det är VMM: s jobb att hantera 300 MB minne även om bara 50 MB tillgängligt minne finns tillgängligt.
Vad är Demand Paging?
En personsökningsmekanism för efterfrågan liknar mycket ett personsökningssystem med byte där processer som lagras i sekundärminnet och sidorna laddas endast på begäran, inte i förväg.
Så när en kontextväxling inträffar 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 programmets sidor, som refereras till.
Om programmet refererar till en sida som kanske inte är tillgänglig i huvudminnet eftersom den byttes ut under programkörningen, anser processorn det som en ogiltig minnesreferens. Det beror på att sidfelet och överföringarna skickar tillbaka kontrollen från programmet till operativsystemet, vilket kräver att sidan sparas tillbaka i minnet.
Typer av sidersättningsmetoder
Här är några viktiga sidbytesmetoder
- FIFO
- Optimal algoritm
- LRU-sidbyte
FIFO-sidbyte
FIFO (First-in-first-out) är en enkel implementeringsmetod. I den här metoden väljer minnet sidan för en ersättning som har varit i minnets virtuella adress under längst tid.
Funktioner:
- När en ny sida laddas, tas sidan nyligen i minnet bort. Så det är lätt att bestämma vilken sida som måste tas bort eftersom dess identifikationsnummer alltid finns i FIFO-stacken.
- Den äldsta sidan i huvudminnet är en som bör väljas för att ersättas först.
Optimal algoritm
Den optimala sidbytesmetoden väljer den sidan för en ersättning där tiden till nästa referens är längst.
Funktioner:
- Optimal algoritm resulterar i det minsta antalet sidfel. Denna algoritm är svår att implementera.
- En optimal algoritmmetod för sidbyte har den lägsta sidfelsfrekvensen för alla algoritmer. Denna algoritm finns och som bör kallas MIN eller OPT.
- Byt ut sidan som inte används för 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 sidan Minst nyligen använda. Denna metod hjälper OS att hitta sidanvändning under en kort tidsperiod. Denna algoritm bör implementeras genom att koppla en räknare till en jämn sida.
Hur fungerar det?
- Sidan, som inte har använts så länge i huvudminnet, är den som kommer att väljas för utbyte.
- Lätt att implementera, hålla en lista, byta sidor genom att se tillbaka i tiden.
Funktioner:
- LRU-ersättningsmetoden har det högsta antalet. Denna räknare kallas också åldringsregister, som anger deras ålder och hur mycket deras associerade sidor också ska refereras till.
- Den sida som inte har använts så länge i huvudminnet är den som ska väljas för utbyte.
- Det håller också en lista och ersätter sidor genom att titta tillbaka i tiden.
Felhastighet
Felhastighet är en frekvens med vilken ett designat system eller en komponent misslyckas. Det uttrycks i fel per tidsenhet. Det betecknas med den grekiska bokstaven λ (lambda).
Fördelar med virtuellt minne
Här är fördelar / fördelar med att använda virtuellt minne:
- Virtuellt minne hjälper till att få fart när endast ett visst segment av programmet krävs för att programmet ska kunna köras.
- Det är till stor hjälp vid implementering av en multiprogrammeringsmiljö.
- Det låter dig köra fler applikationer samtidigt.
- Det hjälper dig att passa många stora program i mindre program.
- Vanlig data eller kod kan delas mellan minnet.
- Processen kan bli ännu större än allt fysiskt minne.
- Data / kod bör läsas från hårddisken när så krävs.
- Koden kan placeras var som helst i det fysiska minnet utan att omplacering krävs.
- Fler processer bör bibehållas i huvudminnet, vilket ökar den effektiva användningen av CPU.
- Varje sida lagras på en disk tills den krävs efter det, den kommer att tas 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 tillgängligt virtuellt adressutrymme är mer jämfört med fysiskt minne.
Nackdelar med virtuellt minne
Här är nackdelar / nackdelar med att använda virtuellt minne:
- Program kan gå långsammare om systemet använder virtuellt minne.
- Det tar sannolikt mer tid att växla mellan applikationer.
- Erbjuder 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 har tillräckligt med fysiskt RAM-minne för att köra dem.
- Det erbjuder inte samma prestanda som RAM.
- Det påverkar systemets totala prestanda negativt.
- Uppta lagringsutrymmet, som annars kan användas för långvarig datalagring.
Sammanfattning:
- Virtuellt minne är en lagringsmekanism som ger användaren en illusion om att ha ett mycket stort huvudminne.
- Virtuellt minne behövs när din dator inte har plats i det fysiska minnet
- En personsökningsmekanism för efterfrågan liknar mycket ett personsökningssystem med byte där processer som lagras i sekundärminnet och sidorna laddas endast på begäran, inte i förväg.
- Viktiga sidbytesmetoder är 1) FIFO 2) Optimal algoritm 3) LRU-sidbyte.
- I FIFO-metoden (First-in-first-out) väljer minnet sidan för en ersättning som har varit i minnets virtuella adress under längst tid.
- Den optimala sidbytesmetoden väljer den sidan för en ersättning där tiden till nästa referens är längst.
- LRU-metoden hjälper OS att hitta sidanvändning under en kort tidsperiod.
- Virtuellt minne hjälper till att få fart när endast ett visst segment av programmet krävs för att programmet ska kunna köras.
- Program kan gå långsammare om systemet använder virtuellt minne.