1. One or more non-transitory computer-readable storage mediums storing one or more sequences of instructions, which when executed by one or more processors, cause: a host operating system managing a set of resources; preventing the host operating system from accessing a portion of said set of resources comprising a set of memory pages belonging to a hypervisor or allocated by the hypervisor to prevent the host operating system from violating the privacy and integrity of said portion of said set of resources, wherein preventing comprises: in response to receiving a request, from a virtual machine, to read one or more memory pages in said set of resources managed by said host operating system, the hypervisor requesting the one or more memory pages from the host operating system, the host operating system providing said one or more memory pages managed by the host operating system to the hypervisor, and after the hypervisor receives said one or more memory pages from the host operating system, the hypervisor using a hardware component that establishes and enforces constraints on what areas of memory the host operating system is allowed to access to protect the one or more memory pages from the host operating system by preventing said host operating system access to an unencrypted version of said one or more memory pages.