HP 3000 III Series Manual page 268

Table of Contents

Advertisement

I/O System
1.
On completion of the write,
the Device Controller
generates
another interrupt (12) to TIP.
The sequence repeats back to
step h until all characters in the record have
been
written
out to the terminal.
m.
The Dispatcher then returns control (13)
to the user process.
7-9. BLOCKED/UNBLOCKED I/O
At the conclusion of all three of
the
preceding
operating
se-
quences
(general I/O, direct read, and direct write), control is
returned to the user process.
While the
I/O
operation
was
in
progress,
the
user process may have been suspended to await I/O
completion (blocked I/O), or may have continued to execute
while
periodically
checking
for
I/O completion (unblocked I/O).
The
choice of blocked or
unblocked
I/O
is
made
in
the
call
to
ATTACHIO.
(The
file system nearly always uses unblocked I/O.)
Paragraphs 7-10 and 7-11 contain a description of the
character-
istics of blocked and unblocked I/O.
7-10. Blocked I/O
As shown in figure 7-8,
the user process goes into an
I/O
wait
state as soon as the I/O request is given.
The user process re-
mains in the
wait sta te while the I/O
opera·tions proceed.
The
request is entered into the I/O Queue and is ultimately processed
via the hardware I/O system.
At the end of the
I/O
operation,
the resul ts of the transfer are entered into the IOQ.
Control is
then returned to the user process.
During terminal writes,
the
operation is
considered completed when the data has
been trans-
ferred to the terminal buffers.
The user process now
continues
to execute from the point following the I/O request.
7-11. Unblocked I/O
During unblocked I/O
(figure 7-8),
privileged capability is as-
sumed.
The process must also specify the action to be taken on
completion' of I/O;
either no action or reactivate the process if
in an I/O wait state.
This specification
(like the blocked/un-
blocked I/O choice) is made in the call to ATTACHIO.
After call-
ing ATTACHIO,
the process may
then continue to
execute and may
generate other unblocked I/O requests.
It is the responsibility
of the process to synchronize all unblocked requests and to check
for I/O completion.
The process also has the capability to
put
itself into
the I/O wait state and to change the
I/O completion
action for any
unblocked request at
any time.
Obviously, how-
ever,
the process should not specify no action for all unblocked
requests and
then go into the
I/O wait state since there
is no
way to
recover from this situation.
At least one request
must
reactivate the process.
While the process continues to execute,
ATTACHIO enters
the re-
quest into
the I/O Queue and hardware processing of
the request
begins.
At the end of the
I/O
operation,
the results of
the
transfer
are entered
into the IOQ.
Then the completion action
7-14

Advertisement

Table of Contents
loading

Table of Contents