Specifications
Interfaces Page
52
examples of multicast Loop Testl see Appendix
E
or the Ethernet
Specificationf Version
2.0.
3.4.1
A
System Boot Monitor
In this example, a system can be booted by remote commandl can decide
locally to reboot itself, or can decide it is thoroughly broken and
needs expert help. The process responsible for
all
this is in the
User Layer and uses the low level maintenance interface functions.
The monitor process is implemented so that it
is
a highly reliable
process. Even
if
nothing else in the system worksl this process has a
high probability of running.
The monitor process watches for remote boot commands through the
Request-poll function, If a boot request is receivedl it checks the
verification code! and if the code is acceptable! the monitor process
halts all other processing in the system and calls the Load-s,elÂ
function! requesting normal operating software. The monitor then goes
into load polling as described below.
On a
locally determined timer! the monitor process checks over system
operation.
If
it finds that operation is not proceeding properlyl
it
halts all other processing and calls the Load-self function!
requesting diagnostics rather than normal operating software. The
monitor then goes into
load polling.
When the monitor has a Load-self outstandingl
it
does two things.
It
continues to watch for remote boot commands through Request-poll.
It
polls for completion of the Load-self with Load-self-poll.
If
the
load fails or takes too long (''too long1' is locally defined)l the
monitor enables reservation of its console with the Set-state function
and periodically does an Identify-self on a timer preset according to
system needs and communication speed. If the channel being used is a
multiaccess channel! the Identify-self goes to the remote console
multicast group. A remote monitor can then
assist
the
system
as
necessary.
3.4.2
A Minimal ASCII Console Carrier
A
very simple console carrier mechanism can be implemented to process
only one transmit and one receive character at a time. This is
suitable
for
systems that have already implemented an ASCII console.
This requires a minimum of resourcesl yet provides a highly reliable
connection. Data will be lost only if the connected processes try to
"pump1' data at a rate greater than the connection can accommodatel at
which point overrun errors will occur.
The local (command) system initiates
a
console connection by calling
the Reserve-remote-console functionl identifying the remote (target)
system. It then issues a Read-identity
call to the target
and
waits