Software Interrupts [ Interprocess Communication:Programmer's Guide ] MPE/iX 5.0 Documentation
Interprocess Communication:Programmer's Guide
Chapter 6 Software Interrupts
NOWAIT I/O requires an application to "poll" to see if the requested I/O
has completed. Each time the check is made, there is some overhead,
whether the I/O has completed or not.
The application is faced with a difficult trade-off. The more often the
application polls, the greater the overhead, and the poorer its overall
performance becomes. If it polls less frequently, this increases the
delay between when the I/O can complete and when the application
completes it, thus reducing performance.
One solution to this dilemma is to use software interrupts. When
software interrupts are enabled, MPE XL signals the application when to
complete the I/O. There is no need for repeated polling; the application
completes the I/O only when signaled, so the I/O always completes on the
first try.
Software interrupts are a special case of NOWAIT I/O. The difference is
that MPE XL interrupts the process when the I/O can be completed; the
process does not need to poll to determine whether the I/O can be
completed.
Most of the discussion about NOWAIT I/O also applies to software
interrupts. Like NOWAIT I/O, a call to IOWAIT or IODONTWAIT is needed to
complete an I/O request.
MPE/iX 5.0 Documentation