Browse Prior Art Database

Resource Sharing in a Multitasking Environment

IP.com Disclosure Number: IPCOM000080285D
Original Publication Date: 1973-Nov-01
Included in the Prior Art Database: 2005-Feb-27
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Adams, FR: AUTHOR [+4]

Abstract

Computer system resources are shared in a nonsequential priority, by initiating the sharing process (referred to as polling) in the program with the resource to be shared. This process is useful for multitasking systems where the computer's instruction set has no Supervision Calls (SVC) or other privileged instructions, no preempt/resume capability, and the supervisory software provides only minimal resource management. The supervisor is unaware of resource dispositions or I/O operations which may have been initiated by a given program segment. Thus, it is not possible for a Supervisory Program, at its convenience, to capture a running program segment and save all of its status for later restoration.

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

Page 1 of 2

Resource Sharing in a Multitasking Environment

Computer system resources are shared in a nonsequential priority, by initiating the sharing process (referred to as polling) in the program with the resource to be shared. This process is useful for multitasking systems where the computer's instruction set has no Supervision Calls (SVC) or other privileged instructions, no preempt/resume capability, and the supervisory software provides only minimal resource management. The supervisor is unaware of resource dispositions or I/O operations which may have been initiated by a given program segment. Thus, it is not possible for a Supervisory Program, at its convenience, to capture a running program segment and save all of its status for later restoration.

In multitasking, any combination of CPU, memory or I/O devices are to be shared. For illustrative purposes, CPU sharing and memory sharing are emphasized in this discussion, with initiation being done at a time when the program can temporarily be interrupted. After initiating the sharing process, the program eventually regains control at its next sequential instruction. If CPU time is shared, return of control is delayed. If storage was shared, the program is saved on extended storage and restored before control is returned.

The following example briefly describes a system implemented to provide storage sharing by use of transient areas, and provide CPU sharing between resident and transient program: A transient manager loads transient programs into a specified transient area. Overlapping requests for the same transient area are on a priority basis. A running transient polls when ready. The polling manager examines the transient manager's queue to determine if any higher priority transient programs are queued. If so, the lower priority program is rolled out and the highest priority program is loaded. When the high-priority program is completed, the saved program is resumed. The polling manager is also called by resident programs. The transient manager's queue is examined to determine if it is stacked with programs. If more CPU processing time is needed by the transient programs, the polling manager temporarily suspends the resident program.

The polling technique for sharing requires that low-priority programs be designed with logical break-off points which occur at least as often (in time) as the polling interval. Preanalysis establishes the amount of time available for execution of the given program. If only one interrupt priority level is available for execution, it can be assumed that the given program has full access to the CPU during its operation. If several levels are available for execution, an estimate must be provided for...