STREAMS Transparent IOCTL Handling For Performance Improvement
Original Publication Date: 1999-Nov-01
Included in the Prior Art Database: 2003-Jun-18
1. Introduction: This disclosure is about improving STREAMS transparent ioctl process. The STREAMS subsystem is used to develop communication protocols, device drivers or pseudo device driver and it's defined in UNIX System V Release 4 Programmer's Guide. A Stream is a full-duplex processing data transfer path between a STREAMS driver in kernel space and a process in user space. In the kernel, a Stream is constructed by linking a Stream head, a driver, and zero or more modules between the Stream head and driver. When an application makes a system call with a STREAMS file descriptor, the Stream head routines are invoked, resulting in data copying, message generation, or control operations being performed. The Stream head is the only component in the Stream that can copy data between user space and kernel space. 2. Streams ioctl processing: The ioctl system call is used to perform I/O control operations on the Stream.