1. A method for optimizing read operations to a storage device in a virtualized computing environment, the method comprising: receiving, by a virtual machine's (VM) operating system, a read system call from an application running in the user space of the VM for a read operation for data on a storage device, wherein the VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment; causing a virtual file system (VFS) supported by the operating system to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation; in response to determining, by the PVFS FE that the data to be read does not exist in the data cache of the PVFS FE, passing, by the PVFS FE, the read operation to a second para-virtualized file system (PVFS BE) supported by the hypervisor, wherein the PVFS FE and the PVFS BE share a portion of the VM memory, and executing, by the PVFS BE, the read operation from a cache of the PVFS BE if the data to be read exists in the data cache of the PVFS BE, or executing, by the PVFS BE, the read operation from the storage device if the data to be read does not exist in the data cache of the PVFS BE; returning, by the PVFS BE, the data to be read to the PVFS FE, via the portion of VM memory shared between the PVFS FE and the PVFS BE; and returning, by the PVFS FE, the data to be read to the VFS.