Virtuellt minne i OS: Vad är, efterfrågan personsökning, fördelar

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 huvudminnet. 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 skälen till att använda virtuellt minne:

  • Närhelst din dator inte har utrymme 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 körs 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 nuförtiden. Den används när vissa sidor behöver laddas i huvudminnet för körning, och minnet inte är tillgängligt för dessa många sidor.

Så i så fall, istället för att förhindra sidor från att komma in i huvudminnet, söker operativsystemet efter det RAM-utrymme som har använts minst på senare tid eller som inte refereras till det sekundära minnet för att göra utrymmet 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 OS kräver 300 MB minne för att lagra alla program som körs. Men det finns 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 kallas Virtual Memory Manager (VMM) för att hantera dessa 250 MB.
  • Så i det här fallet kommer VMM att skapa en fil på hårddisken som är 250 MB stor för att lagra extra minne som krävs.
  • OS kommer nu att gå vidare till att adressera minnet eftersom det tar hänsyn till 300 MB verkligt minne lagrat i RAM-minnet, även om endast 50 MB utrymme är tillgängligt.
  • Det är VMM:s uppgift att hantera 300 MB minne även om bara 50 MB verkligt minnesutrymme är tillgängligt.

Vad är efterfrågan personsökning?

Begär personsökning

En efterfrågesökningsmekanism är mycket lik en personsökningssystem med swapping där processer lagrade i sekundärminnet och sidor laddas endast på begäran, inte i förväg.

Så när en kontextväxling inträffar kopierar OS aldrig några av det gamla programmets sidor från disken eller någon av det nya programmets sidor till huvudminnet. Istället kommer den att börja köra det nya programmet efter att den första sidan har laddats och hämtar programmets sidor, som det refereras till.

Under programexekveringen, om programmet refererar till en sida som kanske inte är tillgänglig i huvudminnet eftersom den byttes ut, betraktar processorn det som en ogiltig minnesreferens. Det beror på att sidfelet och överföringarna skickar tillbaka kontroll 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 sidbytesmetoder

  • 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.

Egenskaper

  • När en ny sida laddas tas sidan som nyligen kommit in 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 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.

Egenskaper

  • Optimal algoritm ger det minsta antalet sidfel. Denna algoritm är svår att implementera.
  • En optimal sidbytesalgoritm har den lägsta sidfelfrekvensen av alla algoritmer. Denna algoritm finns och som bör kallas MIN eller OPT.
  • Byt ut sidan som inte vill 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 OS att hitta sidanvändning under en kort tidsperiod. Denna algoritm bör implementeras genom att associera en räknare med en jämn sida.

Hur fungerar det?

  • Sida, som inte har använts under längst tid i huvudminnet, är den som kommer att väljas för ersättning.
  • Lätt att implementera, håll en lista, byt ut sidor genom att titta tillbaka i tiden.

Egenskaper

  • LRU-ersättningsmetoden har det högsta antalet. Denna räknare kallas även åldringsregister, som anger deras ålder 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 en frekvens med vilken ett designat system eller en komponent misslyckas. Det uttrycks i misslyckanden 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 ö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.
  • Processen kan bli ännu större än hela det fysiska minnet.
  • Data/kod ska läsas från disken när 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 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 det tillgängliga virtuella adressutrymmet är mer 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 troligen längre 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 erbjuder tillräckligt med fysiskt RAM enbart för att köra dem.
  • Den erbjuder inte samma prestanda som RAM.
  • Det påverkar ett systems totala prestanda negativt.
  • Uppta lagringsutrymmet, som annars kan användas för långtidslagring av data.

Sammanfattning

  • Virtuellt minne är en lagringsmekanism som ger användaren en illusion av att ha ett mycket stort huvudminne.
  • Virtuellt minne behövs när din dator inte har utrymme i det fysiska minnet
  • En efterfrågesökningsmekanism påminner mycket om ett personsökningssystem med swapping där processer lagrade i sekundärminnet och sidor laddas endast på begäran, inte i förväg.
  • Viktiga metoder för sidbyte ä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 funnits i den virtuella adressen till minnet under längst tid.
  • Den optimala sidbytesmetoden väljer den sida för en ersättning för vilken 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 öka hastigheten när endast ett visst segment av programmet krävs för att köra programmet.
  • Applikationer kan köras långsammare om systemet använder virtuellt minne.