The type of software that performs those functions is a hypervisor.