On the RTKER client, there are three threads -
The rtker client with the application (ethernet device driver, networking stack, mpeg decoder) runs without crashing for hours.
The rtker has sufficiently rich API. We could port the entire networking stack and mpeg decoder without much of difficulty
To demonstrate the utility of scheduling API, we exploited the fact that decoding thread was the most CPU intensive thread consuming about 60% of the CPU time. The remaining threads took neglible amount of time. In the rtker client we added four threads which executed for one second each at every tenth second. The time left after decoding is sufficient to cater to the CPU needs of the four threads. In our framework of the scheduler, we made slight changes to the round robin scheduler so that it uniformally gave the decoding thread 60% of the CPU time. With this slightly modified scheduler, mpeg display worked as good as before without any jitters.
On an OS like Linux, with a fixed scheduler, the same modified application showed jitters. The fours threads which woke up at every tenth second caused caused the decoding thread to get aproximately 20% time for some time and causing jitters in display then. It is also not easy to remove the jitters in display by just changing the scheduler to another one. RTKER's scheduling API allowed us to easily code the scheduler in a highly application specific way such that there are no jitters in display.
We ported the the ethernet device driver.