Browse Prior Art Database

Distributed Character Processing via a Complementary I/O Processor

IP.com Disclosure Number: IPCOM000111484D
Original Publication Date: 1994-Feb-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 123K

Publishing Venue

IBM

Related People

Bass, R: AUTHOR [+8]

Abstract

Disclosed is a method for enhancing Portable Operating System Interface (POSIX) performance via a split of character processing function between the Host processor and an I/O processor (IOP). The IOP performs character processing through table-driven methods. These tables are passed to the IOP from the Host each time a new

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 51% of the total text.

Distributed Character Processing via a Complementary I/O Processor

      Disclosed is a method for enhancing Portable Operating System
Interface (POSIX) performance via a split of character processing
function between the Host processor and an I/O processor (IOP).  The
IOP performs character processing through table-driven methods.
These tables are passed to the IOP from the Host each time a new

POSIX session is begun and can be changed at any point during the
session.  This allows a great deal of flexibility.  The processing
split also allows data to be passed back and forth to the Host in
message packets.  Message packets are sent to the Host whenever the
character processing functionality needed is beyond the capability of
the IOP to perform at that time.  This message passing system, in
turn, defines the synchronization between the IOP and the Host
character processing.

      Character processing that is associated with POSIX is defined
via attribute settings and via the ability to recognize
specially-defined characters and perform the special functions
associated with them.  The POSIX standard 1003.1 defines the
attributes and the types of special characters in its termios data
structure.

      The user is allowed to configure a POSIX session by choosing
which attributes will be turned on and which code point will be
associated with each special character, so the termios values change
with each POSIX session.  Therefore, the Host must relay that
information to the IOP as soon as a POSIX session has opened and
whenever it changes during the session.  This information is sent to
the IOP using a command that includes the settings of the attributes
as well as special input/output character tables.  These tables
include the code-point representation of each special character
defined in termios and a list of functions to perform on receipt of
one of these characters.

      By sending these special input/output character tables rather
than a termios representation of the information, the IOP is kept
ignorant of what the special POSIX character types really are (i.e.,
VEOL, VINTR, VSTART, VNL, etc.).  Instead, the IOP receives the more
pertinent information of which code-point characters to treat as
special (without knowing which special character it is - VEOL or
VINTR or...) and what the IOP must do when it receives one.  The list
of functions developed that the IOP performs then are actually the
simple steps, which, when used in various combinations, define the
function of each special character type.

A sampling of these functions that the IOP performs are listed as
follows:

o   ECHO - Echo current character.

o   XOFF - Stop character transmission.

o   XON - Start character transmission.

o   CR - Output a carriage return character.

o   LF - Output a line feed character.

o   ERASE - Delete the immediately preceding character from the input
    buffer.

o   DBS - Output a destructive backspace seque...