With paravirtualization, the modified OS uses hypercalls to communicate with the hypervisor, rather than relying on binary translations. A hypercall is a system call from the guest OS to the hypervisor, requesting some type of service. The hypervisor responds to the hypercall by performing the requested task on behalf of the guest OS. The hypervisor also provides hypercall interfaces for executing other types of kernel operations, such as interrupt handling, timekeeping and memory management.