Browse Prior Art Database

Method to Inhibit Automatic Task Switching

IP.com Disclosure Number: IPCOM000059764D
Original Publication Date: 1986-Jan-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Levine, FE: AUTHOR [+3]

Abstract

A method is described in which an application program such as DisplayWrite 3 is allowed to inhibit switching of DOS tasks for a period of time. In the "pure DOS" environment, most functions are intended to be single threaded. When a DOS application is requesting data from disk, for example, the application waits until the disk access is completed. In general, DOS is not re-entrant, and no other DOS function can be performed. The general approach for task switching is usually performed by the operating system at well-defined breakpoints between completely independent tasks/applications or within an application upon request. In DisplayWrite 3, the generalized call routine "INVOKE" was used to transfer control from one routine to another. Tasks were automatically switched when the appropriate number of INVOKES were executed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 69% of the total text.

Page 1 of 1

Method to Inhibit Automatic Task Switching

A method is described in which an application program such as DisplayWrite 3 is allowed to inhibit switching of DOS tasks for a period of time. In the "pure DOS" environment, most functions are intended to be single threaded. When a DOS application is requesting data from disk, for example, the application waits until the disk access is completed. In general, DOS is not re-entrant, and no other DOS function can be performed. The general approach for task switching is usually performed by the operating system at well-defined breakpoints between completely independent tasks/applications or within an application upon request. In DisplayWrite 3, the generalized call routine "INVOKE" was used to transfer control from one routine to another. Tasks were automatically switched when the appropriate number of INVOKES were executed. To prevent task switching between routines that must immediately follow each other, the notion of the "immediate inhibit" was developed. In DisplayWrite 3 there is one "common service" that must be accessed prior to any other DOS function call. Immediately after a DOS function call which may have a critical error, the routine ADEANAL must be invoked. ADEANAL must check an internal control block prior to another DOS function call. Switching cannot occur when the routine ADEANAL is invoked. Switching is inhibited, using a counter until control is returned to the routine which invoked ADEANAL. DisplayWrite...