Hello!
1. First, what do you mean by "real-time".
Real time does not mean anything. In some circumstances, a 4-bit microcontroller running at 100 kHz can be
real-time and in other circumstances, a 64 bit quad core at 3 GHz might not be real-time.
In the first case, for instance, if you want to do a temperature logger for meteorological applications, that logs
the temperature once per hour and transmits it over a 9600 bps modem, then the 4 bit device is real-time
(i.e. it has more power than it needs to do what it has to do).
In the second case, if you want to predict meteorological data 5 days from the current state, then a 64 bit
quad core is not real-time (i.e. it has not enough power to do the job).
2. Real-time depends on the power you have vs what you want to do (see above)
3. OS, as replied above is an operating system. The word itself, like real-time, cannot be clearly defined.
Basically it's a piece of software providing the basic environment to make your hardware parts work
together. In an embedded system, it can be very sketchy. If you choose to use an operating system, you
have to be sure of what you do. It's not necessarily more efficient to use one. Most likely to be less
efficient. In many cases, a simple list of task in a loop (round robin) can make the job very efficiently,
without having to manage the CPU registers.
Dora.