Battery lifetime enhancement is a critical design parameter for mobile computing devices. Maximizing battery lifetime is a particularly difficult problem due to the non-linearity of the battery behavior and its dependence on the characteristics of the discharge profile. In this paper we address the problem of dynamic task scheduling with voltage scaling in a battery-powered DVS system. The objective is to maximize the battery performance measured in terms of charge consumption during execution of the tasks. We present a new battery-aware dynamic task scheduling algorithm, darEDF, based on an efficient slack utilization scheme that employs dynamic speed setting of tasks in run queue. We compare darEDF with three state of the art energy-efficient algorithms, IpfpsEDF, IppsEDF, IpSEH, with respect to battery performance and energy consumption. We show that darEDF has better performance than IpSEH (which has close to optimal energy value), and has lower run-time complexity.