IN HARD REAL-TIME SYSTEMS, TASKS HAVE TO BE PERFORMED NOT ONLY CORRECT- LY, BUT ALSO IN A TIMELY FASHION. OTHERWISE, THERE MIGHT BE SEVERE CONSE- QUENCES. TYPICALLY, A HARD REAL-TIME TASK IS CHARACTERIZED BY ITS TIMING CONSTRAINTS, PRECEDENCE CONSTRAINTS, AND RESOURCE REQUIREMENTS. IN A HARD REAL-TIME SYSTEM, TASK SCHEDULING IS THE MOST IMPORTANT PROBLEM, BECAUSE IT IS THE SCHEDULING ALGORITHM THAT ENSURES THAT TASKS MEET THEIR DEADLINES. IN THIS PAPER, WE SURVEY PROPOSED SOLUTIONS FOR SCHEDULING TASKS IN HARD REAL-TIME SYSTEMS. OUR SURVEY INCLUDES STATIC AND DYNAMIC SCHEDULING ALGOR- ITHMS IN THE CONTEXT OF BOTH DISTRIBUTED AND CENTRALIZED SYSTEMS. THIS STUDY OF CURRENT LITERATURE SHOWS THAT EXCEPT FOR A FEW CASES, MOST OF THE PREVIOUS STATIC SCHEDULING APPROACHES ARE INFLEXIBLE AND CANNOT BE EFFI- CIENTLY APPLIED TO DYNAMIC SCHEDULING PROBLEMS. FROM THIS STUDY DYNAMIC SCHEDULING EMERGES AS A CHALLENGING NEW PROBLEM ESPECIALLY FOR DISTRIBUTED HARD REAL-TIME SYSTEMS.