A mechanism to drive application level interfaces from operating system service exit routines
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-19
Disclosed is a method which bridges asynchronous operating system callbacks to application-level programming language environments. The mechanism described allows callback logic to execute in an application-level programming language instead of in a system-level language. This reduces the burden on programmers of having to program in a 'foreign' language and keeps the bulk of an application's logic in the application's 'native' language. Operating systems export interfaces known as 'operating system calls' which allow applications to request operating system services. These interfaces are often made available to programs written in high-level languages such as C and C++, allowing calls to the operating system to appear as any other function call. This means that application programs can call the operating system directly without concern for the language in which the operating system service was written or for the environment in which the operating system service needs to execute. Operating systems also define interfaces known as 'application callbacks' which allow the operating system to request application services. If the callback interface is supported with a 'run-time' library to which the application can link, the operating system can call a function written in the application's 'native' language which executes in the application's environment. Figure 1 illustrates the flow of operating system calls and callbacks.