From Embedded.com, the second part of the article by Anton Hristozov:
Any operating system strives to provide a framework for convenient and easy application software development. Through the use of multitasking and hardware abstractions, an operating system is useful to a programmer because it isolates dependencies from the particular hardware details through the agency of a Hardware Abstraction Layer (HAL).
One of the uses of a real-time OS (RTOS) is to guarantee determinism for real-time performance. It is equipped with facilities which can help the user to meet their application’s real-time goals. For the OS to be real time it needs to have a special architecture, especially in the scheduler, a main component of the RTOS.
The complete article is available here.