Virtual Hardware for Operating Systems