Browse Prior Art Database

A mechanism to drive application level interfaces from operating system service exit routines

IP.com Disclosure Number: IPCOM000014547D
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-19
Document File: 3 page(s) / 57K

Publishing Venue

IBM

Abstract

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.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 3

  A mechanism to drive application level interfaces from operating system service exit routines

  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.

Application

call

callback

Operating

System

Figure 1

Many existing callback interfaces, such as those in the OS/390* operating system, are not supported with application level run-time libraries. This requires applications to take special measures to export interfaces that adhere to the operating system's requirements for its call interface and execution environment. On OS/390, such callbacks are referred to as 'exit routines'. Exit routines are typically invoked as Service Request Block (SRB) routines are as Program Call (PC) routines. Application programmers typically cannot code SRB or PC routines in their application's native language; instead, they must use a lower level, 'system' language such as S/390* Assembler or PL/X. Besides having to code part of their application's logic in a foreign

1

[This page contains 2 pictures or other non-text objects]

Page 2 of 3

language and having to deal with details of operating system level interfaces, the application programmer must define protocols through which the exit routine and the rest of the application proper can communicate.

Described is a mechanism which masks exit routine based callbacks, providing applications with the illusion that they are exporting application level callbacks to the operating system directly. In other words, callbacks can be implemented in the application's native language and executed in the application's native environment. To accomplish this, a l...