What is the key function of the balloon driver in the memory ballooning technique?

A.
To demand memory from guest OS and later relinquish it under the control of the hypervisor
B.
To demand memory from the hypervisor and later relinquish it under the control of the virtual
machine
C.
To extend memory using a swap file under the control of the hypervisor
D.
To extend memory using a swap file under the control of the virtual machine