I understand that when I press the "a" key on an OS like Windows or Unix, there is no guarantee when the letter a is going to show up on the screen. (And I have learned through experience that encouraging the system with a motivational, "Come on, already! How hard can it be to display that keystroke?" doesn't really help.) I also understand that in some scenarios, say when a Mars lander had to fire its rockets moments before landing, that even a short delay between the radar reporting the altitude and the time the rockets fire can be the difference between a successful landing and a new Martian crater. I understand the need for real-time systems. But how is it that a real-time OS is able to guarantee applications will get the necessary work done on time? Are the applications written differently?
|