What is the difference between a hard real-time system and a soft real-time system? Give examples of both.