Phone "crash" is a problem with the design of the phone or a specific OS, and not with the embedded OS or RTOS in general. This will starve tasks of lower priority (possibly including a watchdog service), which is probably happening here.
Most built-in RTOS assumes that all processes are defined during deployment by the system developer, and the design is intended to plan all processes as needed. Placing custom or third-party code in such a system may jeopardize its scheduling scheme, as in your example. I would suggest that all such processes should be run with the same low priority as everyone else, so that the scheduler with the cyclic cycle will serve the user application the same way without compromising system services.
Phone operating systems are usually RTOS, but user processes should not be run with higher priority than system processes. It is possible that such processes run higher than the watchdog service in order to protect the system from "incorrect" applications that mimic yours.
Most RTOS uses a priority scheduler (a task with a high priority starts until it finishes, quits, or is interrupted by a task or a higher-priority interrupt). Some also plan to cyclically complete tasks at the same priority level (the task starts until it finishes, exits or spends its time slice and other tasks with the same priority).
Clifford
source share