I understand that a buffer is a location in RAM which is used by the kernel in order to cope with I/O operation between devices that operate at different speeds. Specifically, for the kernel, each block on the disk is associated with a buffer hence, a disk block (collection of disk sectors)is placed in RAM by the kernel.
I also understand that a cache/caching is "a method" for keeping frequent accessed information in memory in order to speed up performance. If not mistaken, the location of cache might vary. For instance, an application might "cache" data on RAM, or a device might have a dedicated memory chip for caching. Please correct me if i am wrong.
Since these two terms describe two different things, why are they used together as one, The "buffer cache" in Linux?
Does this means that the kernel "caches" the buffers?
If yes, the buffers are already in RAM, caching the buffer will require to place them again in RAM, which is actually the same thing.