Browse Prior Art Database

High-Speed Multi-Programming Data Structure

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

Publishing Venue

IBM

Related People

Lang, TG: AUTHOR

Abstract

A method is described to provide a fast context switching function in a hardware environment where there is a large amount of context data to be kept track of. When a Resource Manager of a multi-processing system is designed to support a real time environment for high speed I/O devices, it must be able to switch rapidly between various programs, and process frequent hardware interrupts. Generally, there is a large amount of data associated with each program, or process, which must be saved when the process in interrupted and restored when the process is resumed. There are, for example, 16 general-purpose registers, 16 segment registers, many system control registers, and several other words of control information per process.

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

Page 1 of 1

High-Speed Multi-Programming Data Structure

A method is described to provide a fast context switching function in a hardware environment where there is a large amount of context data to be kept track of. When a Resource Manager of a multi-processing system is designed to support a real time environment for high speed I/O devices, it must be able to switch rapidly between various programs, and process frequent hardware interrupts. Generally, there is a large amount of data associated with each program, or process, which must be saved when the process in interrupted and restored when the process is resumed. There are, for example, 16 general-purpose registers, 16 segment registers, many system control registers, and several other words of control information per process. In typical multi-programming systems, when an interrupt occurs, the context of the current process is saved in a fixed data area. Then, when the interrupt completes, a decision is made whether to resume the current process. If so, its context is restored from the save area. If not, its context must be copied to a control block associated with the process. Also, this copying must be done if the fixed save area is to be re-used to allow higher level interrupts during interrupt processing. This copying of data can be very time-consuming due to the large size of the context data. In accordance with the new method, to avoid unnecessary copying of data, the RM uses the process control block itself as the...