New multimedia applications e.g. teleconferencing, video-on-demand, Internet telephony, etc. are revolutionizing every aspect of our life. These applications demand real-time performance, better digital signal processing, elaborate multimedia communication protocols, and faster networks and platforms. Traditionally the embedded software to support multimedia applications is developed in a custom way. The software is fine-tuned in several iterations to get the needed real-time performance. This approach has several drawbacks: tedious design which is even more difficult for multiprocessors; lack of flexibility, as a minor change in specification may necessitate a total redesign; slower response to asynchronous events, degrading the system's real-time performance. In contrast, a kernel or an operating system approach allows a more..