With the advanced technology in VLSI circuit designs, many modern processors now provide dynamic voltage scaling (DVS) support. The lower the speed is, the lower the supply voltage requires, and the less the power consumes. This dissertation explores energy-efficient scheduling for hard real-time systems and the maximization of the system reward for real-time systems under a specified energy constraint on DVS processors. Distinct from many previous work, this dissertation aims at the provision of approximated solutions with worst-case guarantees. In addition to the worst-case analysis of the developed algorithms, extensive experiments were done to evaluate the effectiveness of the algorithms, compared to existing algorithms. The experimental results are very encouraging. When speed switching is not allowed in the middle of a job execution, a polynomial-time $(1+epsilon)$-approximation algorithm is presented to minimize the energy consumption of periodic real-time tasks in uniprocessor systems with a user-specified tolerable error $epsilon$. It provides trade-offs between the user's tolerable error and the runtime complexity, including the time complexity and the space complexity. When leakage power consumption is considered, we develop procrastination scheduling strategies to reduce the energy consumption by turning processors into the dormant mode. Approximation bounds are derived for rate-monotonic and earliest-deadline-first scheduling algorithms. When periodic real-time task executions are considered in homogeneous multiprocessor systems with ideal processors, we develop algorithms with resource augmentation on processor speeds. A $1.13$-approximation algorithm is developed for systems with negligible leakage power consumption, and $2$-approximation algorithms are developed for systems with non-negligible leakage power consumption. Energy-constrained scheduling is then explored with reward maximization in uniprocessor systems. When speed switching can be done at any time with an identical power consumption function, a greedy algorithm is proposed with a $0.5$-approximation ratio. A dynamic programming approach is then proposed with a $(1-epsilon)$-approximation ratio, where the running time is polynomial in $frac{1}{epsilon}$ with a user-specified tolerable error $epsilon$ to derived solutions. When tasks have different power consumption functions or voltage scaling could be done only at a task arrival or termination time, a frac{1}{3}$-approximation algorithm is developed based on linear programming.