Scratch-pad memory has been employed as a partial or entire replacement for cache memory due to its better energy efficiency. In this paper, the authors propose scratch-pad memory management techniques for priority-based preemptive multitask systems. Their techniques are applicable to a real-time environment. The three methods which they propose, i.e., spatial, temporal, and hybrid methods, bring about effective usage of the scratch-pad memory space, and achieve energy reduction in the instruction memory subsystems. They formulate each method as an integer programming problem that simultaneously determines partitioning of scratch-pad memory space for the tasks and allocation of program code to scratch-pad memory space for each task.