The power consumption of peripheral devices is a significant portion of the overall energy usage of a mobile platform. To take advantage of idle times, most devices offer the ability to transition into low power states. However, the amount of energy saved by utilizing these sleep states depends on the lengths and number of idle periods experienced by the device. This paper describes a new process scheduling algorithm which accumulates device usage information in the form of device windows to make power a first class resource: it attempts to increase the burstiness of both device accesses and idle periods, and it provides enhanced behavior for timeout-based sleep mechanisms. An initial implementation based on the default Linux scheduler demonstrates the algorithm’s and approach’s ability to reduce the average power consumption of devices by increasing device sleep times and reducing transition overheads.