In this paper, main scheduling algorithms for hard real-time systems (RTSs) have been investigated that include both uni and multi processors schemes. It provides the summary of schedulability analysis and well-known attributes. This paper composed of two parts; first part surveyed the basic hard RTS scheduling algorithms that guarantee the on-time completion of the tasks. Second part contains the different heuristic and partitioned approaches for some specific factors of real-time systems such as energy consumption, dependability, performance, scheduling feasibility and utilization of memory resource. Finally, the analysis and evaluation of the mentioned methods are shown based on the schedulability of task sets and efficiency.