How memory usage affects I/O
As we’ve seen, VFS serves as an entry point for our I/O requests and includes different types of caches, the most important of which is the page cache. The purpose of page cache is to improve I/O performance and minimize the expense of I/O as generated by swapping and file system operations, thus avoiding unnecessary trips to the underlying physical disks. Although we haven’t explored it in these pages, it is important to have an idea about how the kernel goes about managing its memory management subsystem. The memory management subsystem is also referred to as the virtual memory manager (VMM). Some of the responsibilities of the virtual memory manager include the following:
- Managing the allocation of physical memory for all the user space and kernel space applications
- Implementation of virtual memory and demand paging
- The mapping of files into processes address space
- Freeing up memory in case of shortage, either by pruning...