Re: What is the difference between pre-fetching, cacheing, and bufferi
=?Utf-8?B?YjExXw==?= added these comments in the current
discussion du jour ...
> What is the difference between pre-fetching, cacheing, and
> buffering?
>
My defs are likely out-of-date and are certainly not technically
rigorous, but here goes:
1) Pre-fetching is when the O/S attempts to anticipate the next
sectors/blocks/segments of a file or files to read from next
based on what it has been asked to "fetch" so far. This works
quite well when the file in question is quite large or the O/S
"knows" that an EXE will need DLLs, etc.
2) Caching is the process of storing often-used information
either in memory where it can be retrieved very quickly or to a
contingous block of HDD space that has been set up to quickly
write and read from by the O/S. Obviously, the more memory you
have, all other things being equal but they seldom are, the
greater chance of caching to memory. As to HDD "caching", one
might consider c:\pagefile.sys to be such a system.
3) Buffering means to use some very high-speed storage, such as
memory, to balance the slower speed of an output device to the
very high speed of the CPU. The term was first used in the days
of reel-to-reel magnetic tape and the multi-disc removable
platters of early hard drives. Someplace had to be found to
temporarily store the information until the tape, disk, or even a
line printer, could process it. In my early mainframe days,
buffering was usually done to the primative core memory of the
day but was also used to store lower priority data to a temp file
on a hard disk platter someplace for later processing.
Hope this helps and I also hope somebody comes along whose both
more up-to-date than me and also more technically proficient!
--
HP, aka Jerry
"Surely you jest - and don't call me Shirley!" - from the movie
"Airplane!"