Hard real-time: OS only makes promises it can keep. (Precludes fancy virtual memory, etc). OS makes sure job gets enough CPU time to complete its task before its deadline. Rather inefficient (since OS uses worst-case estimates).
Soft real-time: OS gives highest priority to tasks approaching their deadlines. May be used for multimedia display, etc.