In the figure shown above, the Application passes the FileSystem layer and directly communicate through page cache.
After I searched in StackOverflow on how does mmap works, the accepted answer says it's done by directly mapping virtual .memory pages with disks.
Then along with the figure above, if the page cache are actually virtual memory pages and both the application and FileSystem visit memory through the virtual memory mechanism?