ROS is not real-time OS. After reading the architecture of ROS, I am unable to realize why is ROS not real-time? What part of the architecture or what design decision is causing that?
Check out this website, http://www.control.com/thread/1026205354 you'll find your answer. The reason I directed you to this website is because ROS is an Operating System to provide Real-Time like operation but not truly. You can also call it as Pseudo-RTOS.
ROS isn't even an operating system, it's a framework and it's usually built on top of Ubuntu. First and foremost, it provides a clean way to write several modular programs with inputs and outputs and stitch them together at runtime.
There's no reason you can't run ROS inside a RTOS (however, it was developed on Ubuntu, so it will take effort to get it running on anything else.)