Browse Prior Art Database

Pre-emptive Dispatching Under CMS in VM/ESA Operating System

IP.com Disclosure Number: IPCOM000121454D
Original Publication Date: 1991-Sep-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 2 page(s) / 60K

Publishing Venue

IBM

Related People

Fecteau, G: AUTHOR [+3]

Abstract

Disclosed is a method that allows applications running under VM/ESA* operating system to implement a pre-emptive dispatching mechanism.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Pre-emptive Dispatching Under CMS in VM/ESA Operating System

      Disclosed is a method that allows applications running
under VM/ESA* operating system to implement a pre-emptive dispatching
mechanism.

      In a non-multitasking operating system, such as CMS in VM/ESA,
'multitasking' at the application level is achieved through
non-preemptive dispatching schemes. SQL/DS* DBMS running under CMS in
VM/ESA is an example of such an implementation.

      Under this scheme, the application maintains several 'tasks'.
When a task decides that it should give up control, it invokes the
Dispatcher mechanism which decides which task should execute next and
passes control to the new task. This approach to dispatching is non-
preemptive in that the dispatcher cannot switch control between tasks
unless a particular task is willing to give up the control.

      To implement a pre-emptive dispatching scheme, an interrupt
handling mechanism is used as follows:

      An interrupt can occur at any point during task's execution
(unless the interrupts are disabled).  As soon as the interrupt
occurs, application's interrupt handler is invoked to service the
interrupt.  In order to perform a task switch, the interrupt handler
must save the state of the task that was executing at the time the
interrupt had occurred, and to change the registers and the PSW in
EXTUAREA control block (EXTUAREA is the name of the CMS macro
describing the layout of the area containing the state of the machine
at the time of the interrupt.) to have the same values as they would
have had if the task had invoked th...