Although you are correct , your terminology is faulty . Realtime doesn ' t mean what you think and both and neither are real time systems . Real time refers to the ability of the system to perform a task within a set timeframe . Linux out of the box has no guarantees , but if your timeframes are long enough then should do as a component in a soft realtime system . Rtpreempt extensions make realtime systems with ms deadlines achievable . A bare microcontroller can certainly be programmed in a way that fails to handle events in a timely fashion , accidentally doing a printf in interrupt state is a common example , but just doing a bunch of FP math might be enough . A hard realtime system is defined where a missed deadline is fatal , for example a hard drive must be ready to read data when the sector goes under the head . A soft realtime system is one where missing the deadline leads to a graceful worsening of the situation , the GUI on your TV probably falls into this category .