Does real-time computing always require a real-time operating system?
Is it possible to run real-time applications on general purpose (usual) OSes?
I would argue that real-time computing requires a real-time operating system.
Real-time applications function on the principle of guarantees, and it is absolutely necessary for the operating system to be capable of providing guarantees about the system calls, scheduling, and hardware in order for an application to provide additional guarantees built on top of those.
As to a general-purpose OS actually working for a real-time application, that depends on your deadlines. If the application has hard real-time limits (industry software, guidance systems, other high-grade/dangerous equipment controller software), then no. Those have to be running on a RTOS in order to provide the guarantees of safety that they need. For RT applications with softer limits, those that it would be nice to meet, but it's not the end of the world if they slip, you might be able to get away with a general-purpose OS that is dedicated to the task and raising the application to the appropriate priority. However, it's important to note that while this may work for 99% of the use cases, it is still not real-time system, and it is no longer a real-time application because it cannot uphold the guarantees in all situations.
(Note, while I use 'general purpose' to strictly mean 'not real-time' in the above, there is nothing inherently excluding a RTOS from being used as a general operating system, or for a general-purpose system from having some system calls and priorities which have real-time contracts. As long as the application is only making use of the OS which it can guarantee to operate within a specific time limit, then it is running in real-time for our purposes)