Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Delayed Busy Reporting Mechanism for Input/Output Device

IP.com Disclosure Number: IPCOM000042681D
Original Publication Date: 1984-Jun-01
Included in the Prior Art Database: 2005-Feb-04
Document File: 3 page(s) / 26K

Publishing Venue

IBM

Related People

Bourke, DG: AUTHOR [+3]

Abstract

An input/output (I/O) device is a serially reusable resource (SRR). To maintain integrity of operations, it must enforce serialization of operations directed to it by the program of a data processor. Furthermore, it must report errors in serialization by the program. The state of a device in execution of an operation is usually called the Busy state. Exit from the Busy state or operation end is reported to the program by means of an interrupt to signify that the device is available again.

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 50% of the total text.

Page 1 of 3

Delayed Busy Reporting Mechanism for Input/Output Device

An input/output (I/O) device is a serially reusable resource (SRR). To maintain integrity of operations, it must enforce serialization of operations directed to it by the program of a data processor. Furthermore, it must report errors in serialization by the program. The state of a device in execution of an operation is usually called the Busy state. Exit from the Busy state or operation end is reported to the program by means of an interrupt to signify that the device is available again. In conventional systems, a Busy condition is (1) reported immediately to the program as an atomic part of attempting to execute a command against the device (such as in the IBM Series/1 or System/7 I/O systems), (2) made available in the status of the device for testing by the program, or (3) reported back via a separate message with appropriate association of the Busy condition with the command that caused the serialization error. The first approach embodies an atomic "Test and Set" operation and is attractive as long as the immediate reporting does not tie up the processor and the connection path of common resources, such as busses, for too long a time.

If the delay path becomes too long, the system becomes less responsive. The latter two approaches do not embody atomic "Test and Set" operations, and further require extra programming steps, traffic interrupts, and delay. These approaches apply under the assumption that there are multiple programs contending for a device without mutual knowledge of one another. It seldom applies to devices attached to a processor, where contention for a device is resolved by one program that serializes all requests for operation of a device by multiple programs in the processor. This approach is based upon the latter assumption. When the device is in the Busy state and an attempt is made to execute a command against the device, no immediate report is generated and no separate message is sent back to the program associated with the command that caused the serialization error. Rather, the command is discarded, and the fact that a serialization error occurred is recorded by the device. This recorded indication is returned to the program with the ending status report of the command in progress at the time the serialization error (or errors) occurred, e.g., the operation which caused the device to go Busy. Therefore, this invention: 1. Provides a Busy reporting mechanism where immediate reporting is not a viable solution because of long delay paths. 2. Reduces extraneous traffic, program steps, and interrupt activity associated with Busy reporting to only the single expected interrupt and status report associated with the operation in progress. The drawing depicts the flow of commands to an I/O device. There is a program queue for commands waiting for sending to the I/O device over an I/O interface. The I/O device has a buffer of arbitrary size known to the pro...