Browse Prior Art Database

Asynchronous Control for UNIX READ and WRITE System Commands

IP.com Disclosure Number: IPCOM000039187D
Original Publication Date: 1987-Apr-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Johnson, D: AUTHOR [+2]

Abstract

The UNIX* READ and WRITE System Commands are synchronous operations which as a rule do not return to the user until the command is completed. By adding asynchronous control, in accordance with the following described method, the user may do other processing while waiting for the read or write operation to complete. A system daemon must be started and open the device issuing an Input-Output Control (IOCTL) system call. This call will retain control within the kernel which sleeps for a wakeup from the interrupt handler. Since the communications between UNIX and the Virtual Resource Manager (VRM) is a queued system, the READ and WRITE commands are queued to the VRM and control is returned to UNIX. (The Process ID (PID) of the user issuing the call will need to be contained in the COMMAND Control Block (CCB) going to VRM.

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

Page 1 of 1

Asynchronous Control for UNIX READ and WRITE System Commands

The UNIX* READ and WRITE System Commands are synchronous operations which as a rule do not return to the user until the command is completed. By adding asynchronous control, in accordance with the following described method, the user may do other processing while waiting for the read or write operation to complete. A system daemon must be started and open the device issuing an Input-Output Control (IOCTL) system call. This call will retain control within the kernel which sleeps for a wakeup from the interrupt handler. Since the communications between UNIX and the Virtual Resource Manager (VRM) is a queued system, the READ and WRITE commands are queued to the VRM and control is returned to UNIX. (The Process ID (PID) of the user issuing the call will need to be contained in the COMMAND Control Block (CCB) going to VRM. This is so the interrupt handler will receive the PID required later.) This does not mean the command has completed successfully or not. Rather than wait on the return interrupt with the READ or WRITE completion status, the UNIX device driver can return immediately to the user and use the sleeping daemon for returning the completion status. When the interrupt handler receives an interrupt for the READ or WRITE command, it will wakeup the sleeping daemon instead with the completion status. The sleeping daemon will signal the user using the PID contained in the CCB that a command has complet...