Multi/Many-core systems are envisioned to satisfy the ever increasing performance requirements of complex applications in various domains such as embedded and high performance computing (HPC). Such systems need to cater for increasingly dynamic workloads, requiring efficient dynamic resource allocation strategies in order to satisfy hard or soft real-time constraints. This article provides an extensive survey of hard and soft real-time dynamic resource allocation strategies proposed over the last two decades and highlights the emerging trends for multi/many-core systems. The survey covers a taxonomy of the resource allocation strategies and considers their various optimization objectives, which have been used to provide comprehensive comparison. The strategies employ various principles such as market and biological concepts to perform the optimizations. The trend followed by the resource allocation strategies, open research challenges, and likely emerging research directions have also been provided.