There are two kinds of real-time systems : The needs of real-time software are often addressed in the context of real-time operating systems , and synchronous programming languages , which provide frameworks on which to build real-time application software .