Lightweight kernel/user communication for real-time and multimedia applications Conference

Poellabauer, C, Schwan, K, West, R. (2001). Lightweight kernel/user communication for real-time and multimedia applications . 145-154. 10.1145/378344.378365

cited authors

  • Poellabauer, C; Schwan, K; West, R

abstract

  • Operating system enhancements to support real-time and multimedia applications often include specializations and extensions of kernel functionality, as with the kernel HTTP daemon (khttpd) in Linux, for instance. To enable efficient and flexible interactions of such extensions with user-level functionality, we have developed ECalls, a lightweight, bidirectional kernel/user event delivery facility, which not only supports the timely delivery of events, but it also reduces the cost and frequency of kernel/user boundary crossings. ECalls is a communication tool that allows (a) kernel extensions to register their offered services and (b) applications to register their interest in these services. Using ECalls, applications use lightweight system calls to generate events, while kernel extensions raise real-time signals or invoke handler functions (residing in either user or kernel space), or they may use kernel threads to handle events on behalf of applications. ECalls can also influence the CPU scheduler such that a process with pending events is given preference over other processes. To demonstrate its utility, this paper implements an I/O event delivery mechanism using ECalls. This mechanism is shown to improve the performance of two applications: a distributed video player and a web server.

publication date

  • January 1, 2001

Digital Object Identifier (DOI)

start page

  • 145

end page

  • 154