Understanding type-1 hypervisor architecture. How are calls to hardware made?


When using a type-1 hypervisor, I want to understand few things better.

  1. Does the hypervisor give direct control of the requested hardware to the guest. Things like allocation of number of cpu cores, memory etc. Or the hypervisor sits between the guest/virtual os and hardware and takes the responsibility of translating the call to underlying hardware.

  2. How are unique resources like keyboard / display made available to the guest. Is it just contextual, based on which OS is active gets to use these resources like with Guest running on VirtualBox/VMware running on Host. (I never got to see a type-1 hypervisor in action, so this crazy question.)