Indhold: Buffering Vs Caching
- Sammenligningstabel
- Definition
- Nøgleforskelle
- Konklusion
Sammenligningstabel
Grundlag for sammenligning | Buffering | Caching |
---|---|---|
Grundlæggende | Buffering svarer til hastigheden mellem afsenderen og modtageren af datastrømmen. | Caching fastgør adgangshastigheden for de gentagne gange anvendte data. |
butikker | Buffer gemmer den originale kopi af data. | Cache lagrer kopien af originaldata. |
Beliggenhed | Buffer er et område i primær hukommelse (RAM). | Cache er implementeret på processoren, det kan også implementeres på RAM og disk. |
Definition af buffering
Buffering er et område i hovedminne (RAM), der midlertidigt gemmer dataene, når det overføres mellem to enheder eller mellem en enhed og en applikation. Buffering hjælper med at tilpasse hastigheden mellem afsenderen og modtageren af datastrømmen. Hvis afsenderens transmissionshastighed er langsommere end modtageren, oprettes der en buffer i modtagerens hovedhukommelse, og den akkumulerer de modtagne bytes fra afsenderen. Når alle bytes af data er ankommet, giver den data til, at modtageren kan fungere.
Buffering hjælper også, når afsender og modtager har forskellige dataoverførselsstørrelser. I computernetværk anvendes buffere til fragmentering og reassembling af data. På afsendersiden fragmenteres de store data i små pakker og sendes over netværket. På modtagersiden oprettes der en buffer, der samler alle datapakkerne og genmonterer dem for at skabe en stor data igen.
Buffering understøtter også kopisemantik til en applikation I / O. Kopiering Semantik kan forklares med et eksempel: Antag, at et program har en buffer med data, der skal skrives til harddisken. For det kaldes programmet skrive () systemopkald. Antag nu, at applikationen ændrer bufferdata før systemopkald. I dette tilfælde leverer kopiens semantik versionen af data på systemopkaldstidspunktet.
Buffere implementeres i tre kapaciteter.
Nulkapacitet: Her er den maksimale bufferhukommelsesstørrelse nul. Det kan ikke indeholde nogen data, så afsenderen skal blokeres, indtil modtageren modtager dataene.
Bundet kapacitet: Her er bufferhukommelsesstørrelsen begrænset. Ved max kan afsenderen sende n blok af data. Hvis bufferhukommelsen er fuld, er afsenderen blokeret, indtil pladsen er tilgængelig i hukommelsen.
Ubundet kapacitet: her er bufferhukommelsen muligvis uendelig. Ethvert antal datablokke kan sendes. Afsenderen er aldrig blokeret.
Definition af caching
Cache er en hukommelse, der er implementeret i processoren, der lagrer kopien af originaldata . Ideen bag caching er, at de nyligt tilgængelige diskblokke skal gemmes i cachehukommelsen, således at når brugeren igen skal have adgang til de samme diskblokke, kan den håndteres lokalt via cachehukommelse og undgår netværkstrafikken.
Cachestørrelsen er begrænset, da den kun indeholder de nyligt brugte data. Når du ændrer cachefilen, kan du også se den ændring i den oprindelige fil også. Hvis de data, du har brug for, ikke er i cachehukommelsen, kopieres data fra kilde til den cachelagrede hukommelse for at gøre den tilgængelig for brugeren, når den anmoder om disse data næste gang.
Cacherdataene kan også opbevares på disk i stedet for RAM, da det har en fordel, at diskcachen er pålidelig. Hvis systemet går i stykker, er de cachelagrede data stadig tilgængelige på Disk. Men data ville gå tabt i flygtige hukommelser som RAM. Men en fordel ved at gemme de cachelagrede data i RAM er, at den hurtigt kunne nås.
Nøgleforskelle mellem buffering og caching i OS
- Hovedforskellen mellem buffer og cache er, at bufferhukommelsen bruges til at klare den forskellige hastighed mellem afsenderen og modtageren af datastrømmen, mens cachen er en hukommelse, der lagrer dataene, så adgangshastigheden kan fastgøres til gentagne gange anvendte data .
- Bufferen bærer altid de originale data, der skal sendes til modtageren. Men cache bærer kopien af originale data .
- Bufferen implementeres altid i hovedhukommelsen (RAM), men cachen kan implementeres både i RAM og i Disk .
Konklusion:
Buffering og caching lagrer begge data midlertidigt, men begge bruges til forskellige formål. Hvor buffer matcher hastigheden mellem to kommunikationsenheder, og cachen fastgør adgangen til data, der gentages besøgt.