Jeg har søgt, men fik ikke nogen nøjagtig forskel mellem RAM og en buffer. Hvis begge bruges til midlertidig lagring, hvorfor de navngives forskelligt, mens begge har samme egenskab?
Svar
A buffer bruges normalt kun som midlertidig lagring, mens noget transmitteres eller læses. F.eks. læser du muligvis data fra et eksternt lagringsmedium med langsom respons (f.eks. en CD) og behandler dem kontinuerligt. I denne indstilling , den første proces læser klumper af data fra mediet og skriver det til bufferen efter behov, mens sidstnævnte læser fra bufferen, som om den læser direkte fra lageret. Dette undgår blokeringer ved, at sidstnævnte proces ikke behøver eksklusiv adgang til mediet.
I modsætning hertil er RAM simpelthen det, der bruges som hovedhukommelse til processerne i en almindelig computer. Der kan være flere buffere, ikke kun i RAM, men også i andre hukommelsesenheder. At sige, at RAM bruges til “midlertidig lagring” kan være ret vildledende, da “midlertidig” her faktisk betyder “indtil processen, der bruger den, er inaktiv eller udryddet” (og ikke “, indtil dataene ikke længere er nødvendige”).
Sammenfattende er en buffer et abstrakt koncept (og eksisterer kun virkelig på softwareniveau); RAM er en konkret type lagringsteknologi.
Svar
SSD-drev bruges ofte som buffere. Du kalder ikke et SSD-drev RAM, vil du?
RAM er tilfældig adgangshukommelse. En buffer er en datastruktur, der bruges til at optimere datastrømmen.
Du laver en kategorifejl. Du sammenligner ting, der ikke kan sammenlignes. Det er som at spørge, hvorfor din næse ikke hedder Usain Bolt, når de begge løber.
Svar
Buffer er et koncept. Det er en struktur, der bruges til at holde data for at holde dem “tættere”, mens du “behandler dem igen. Som at buffere en YouTube-video. Mange typer minder bruges som buffere. RAM er bestemt fantastisk til at holde buffere, men for store data kan du også buffer data på en harddisk eller en SSD.
Buffere bruges hovedsageligt til at indeholde data, der er dyre at læse og skrive (dyre med hensyn til tid eller båndbredde osv.), så du vil hellere kun læse en del af det en gang, arbejde på det , skriv det derefter tilbage, når du er færdig. Og RAM er et godt sted at gøre det, medmindre dine data er enorme. Som du ved, går nuværende RAM fra hundredvis af MiB (smartphones) til snesevis af GiB (high-end pc).
RAM er den specifikke hukommelsestype. Masser af software bruger den til at holde buffere, men også til at holde sin egen kode osv.