Anbefalet, 2021

Redaktørens Valg

Forskel mellem Virtual og Cache Memory i OS

Hukommelse er en hardwareenhed, der bruges til at gemme oplysningerne midlertidigt eller permanent. I denne artikel har jeg diskuteret forskellene mellem virtuel og cache-hukommelse. En cache-hukommelse er en højhastighedshukommelse, som bruges til at reducere adgangstiden for data. På den anden side er virtuel hukommelse ikke ligefrem en fysisk hukommelse, det er en teknik, der udvider kapaciteten af ​​hovedhukommelsen ud over dens grænse.

Den væsentligste forskel mellem virtuel hukommelse og cachehukommelsen er, at en virtuel hukommelse gør det muligt for en bruger at udføre programmer, der er større end hovedhukommelsen, mens cacheminnet muliggør hurtigere adgang til de data, der for nylig er blevet brugt. Vi vil diskutere nogle flere forskelle ved hjælp af sammenligning diagrammet vist nedenfor.

Sammenligningstabel

Grundlag for sammenligningVirtuel hukommelseCached Memory
GrundlæggendeVirtual memory udvider kapaciteten til hovedhukommelsen til brugeren.Cache-hukommelse sætter hastigheden på CPU'ens dataadgang til rådighed.
NaturVirtual hukommelse er teknik.Cache-hukommelse er en lagerenhed.
FungereVirtuel hukommelse tillader udførelse af programmet, der er større end hovedhukommelsen.Cache-hukommelsen gemmer kopier af originale data, der er blevet brugt for nylig.
HukommelsesstyringVirtuel hukommelse styres af operativsystemet.Cache-hukommelsen styres fuldt ud af hardwaren.
StørrelseDen virtuelle hukommelse er langt større end den cachelagrede hukommelse.Cache-hukommelsen har afgrænset størrelse.
KortlægningVirtuel hukommelse kræver kortlægningsstrukturer for at kortlægge virtuel adresse til fysisk adresse.Der kræves ingen kortlægningsstrukturer som sådan i en cache-hukommelse.

Definition af virtuel hukommelse

Virtuel hukommelse er ikke ligefrem en fysisk hukommelse af en computer i stedet for det er en teknik, der muliggør udførelsen af ​​et stort program, der måske ikke er helt placeret i hovedhukommelsen . Det gør det muligt for programmøren at udføre programmerne større end hovedhukommelsen.

Lad os nu forstå, hvordan fungerer den virtuelle hukommelse? Programmet har sin virtuelle hukommelsesadresse, som er opdelt i en række sider . Hovedhukommelsen er også opdelt i en række sider . Nu, som vi kan se, er den virtuelle adresse til et program større end den tilgængelige hovedhukommelse. Så hukommelseskort bruges til at kortlægge den virtuelle adresse til hovedhukommelsen.

Side 0, 1, 2, bliver kortlagt i hovedhukommelsen, og hovedhukommelsen fyldes op. Nu, når side 3 i virtuel hukommelse kræver plads i hovedhukommelsen, bliver den ældste placerede side, dvs. side 0, overført til harddisken og evakuerer stedet til side 3 i hovedhukommelsen, og processen fortsætter. Hvis siden 0 igen er nødvendig, bliver den ældste placerede side på det tidspunkt overført til harddisken, hvilket gør stedet til side 0.

Hvis de to programmer har brug for de samme data, der er placeret i hovedhukommelsen, tillader hukommelseskortningsenheden begge programmer at dele det samme adresserum i hovedhukommelsen, hvor de delte data er gemt. Dette gør det nemt at dele filer.

Fordelene ved virtuel hukommelse er:

  • Programmerne er ikke længere begrænset af grænsen for hovedhukommelsen.
  • Virtual hukommelse øger graden af ​​multiprogrammering.
  • Øger CPU-udnyttelsen.
  • Jo mindre I / O-enhed vil kræve at indlæse eller bytte programmer i hukommelsen.

Men der er en ulempe ved virtuel hukommelse, ved at placere flere sider af et program på harddisken vil det sænke ydeevnen, da adgang til data fra harddisken tager mere tid i forhold til adgang til data fra hovedhukommelsen.

Definition af cachehukommelse

I modsætning til virtuel hukommelse er Cache en lagerenhed implementeret på selve processoren . Den bærer kopier af originale data, der er blevet brugt for nylig. De originale data kan placeres i hovedhukommelsen eller en sekundær hukommelse. Cacheminnet fastgør adgangshastigheden for data, men hvordan? Lad os forstå.

Vi kan sige, at CPU'ens adgangshastighed er begrænset til adgangshastigheden for hovedhukommelsen . Når et program skal udføres af processoren, hentes det fra hovedhukommelsen. Hvis en kopi af programmet allerede er til stede i cachen implementeret på processoren. Processen vil kunne få adgang til disse data hurtigere, hvilket vil resultere i hurtigere udførelse.

Nøgleforskelle mellem virtuel og cache-hukommelse

  1. Virtuel hukommelse udvider hovedhukommelsens kapacitet stort set for brugeren. Cacheminnet gør dog adgangen til data hurtigere til CPU.
  2. Cache er en hukommelseslagringsenhed , mens den virtuelle hukommelse er en teknik .
  3. Virtuel hukommelse muliggør henrettelser af programmet, der er større end hovedhukommelsen. På de andre hænder gemmer cachehukommelsen de kopier af originaldata, der blev brugt for nylig.
  4. Virtual memory management udføres af operativsystemet . På den anden side udføres cache-hukommelsesstyring af hardware .
  5. Den virtuelle hukommelse er langt større end den cachelagrede hukommelse i størrelse.
  6. Virtuel hukommelsesteknik kræver, at kortlægningsstrukturerne skal kortlægge virtuel adresse til fysisk adresse, mens cacheminnet ikke kræver nogen kortlægningsstrukturer.

Konklusion:

Den virtuelle hukommelse er en teknik til at udvide hovedhukommelsens kapacitet stort set til brugerne. Cacheminnet er en lagerenhed, der lagrer de nyligt tilgængelige data, som gør det muligt for CPU'en at få adgang til det hurtigere.

Top