Memory caches are an integral part of modern memory management. In simple words, a cache is a collection of pages used for specific needs. Most operating systems implement a buffer cache, which is a framework that manages a list of memory blocks for caching persistent storage disk blocks. The buffer cache allows filesystems to minimize disk I/O operations by grouping and deferring disk sync until appropriate time.
The Linux kernel implements a page cache as a mechanism for caching; in simple words, the page cache is a collection of page frames that are dynamically managed for caching disk files and directories, and support virtual memory operations by providing pages for swapping and demand paging. It also handles pages ...