Desktop hardware abstraction