An I/O subsystem is provided for a series of terminals that communicate via a system bus with a host PC, supporting a series of UNIX.RTM. based PC application programs. The I/O subsystem includes a plurality of I/O subassemblies, each having a series of ports dedicated to the user terminals on a one-to-one basis. Each I/O subassembly includes a CPU including internal memory, a dual ported memory and serial I/O interfaces. Keystroke signals from a sending terminal are transmitted through the interface of the dedicated I/O subassembly to the memory of the subassembly for interpretation and then retransmitted to the sending terminal and/or host PC. Each I/O subassembly dual ported memory is programmed with a UNIX.RTM. based I/O subsystem management method. Additional features of each I/O subassembly include flexible message handling, remote procedure calls and speedup of character input/output processing.