SAC(1M) RISC/os Reference Manual SAC(1M)
NAME
sac - service access controller
SYNOPSIS
sac -t sanity_interval
DESCRIPTION
The Service Access Controller (SAC) is the overseer of the
server machine. It is started when the server machine
enters multiuser mode. The SAC performs several important
functions as explained below.
Customizing the SAC environment. When sac is invoked, it
first looks for the per-system configuration script
/etc/saf/_sysconfig. sac interprets _sysconfig to customize
its own environment. The modifications made to the SAC
environment by _sysconfig are inherited by all the children
of the SAC. This inherited environment may be modified by
the children.
Starting port monitors. After it has interpreted the _sys-
config file, the sac reads its administrative file
/etc/saf/_sactab. _sactab specifies which port monitors are
to be started. For each port monitor to be started, sac
forks a child [fork(2)] and creates a utmp entry with the
type field set to LOGIN_PROCESS. Each child then interprets
its per-port monitor configuration script
/etc/saf/<pmtag>/_config, if the file exists. These modifi-
cations to the environment affect the port monitor and will
be inherited by all its children. Finally, the child pro-
cess execs the port monitor, using the command found in the
_sactab entry. (See sacadm; this is the command given with
the -c option when the port monitor is added to the system.)
Polling port monitors to detect failure. The -t option sets
the frequency with which sac polls the port monitors on the
system. This time may also be thought of as half of the
maximum latency required to detect that a port monitor has
failed and that recovery action is necessary.
Administrative functions. The Service Access Controller
represents the administrative point of control for port mon-
itors. Its administrative tasks are explained below.
When queried (sacadm with either -l or -L), the Service
Access Controller returns the status of the port monitors
specified, which sacadm prints on the standard output. A
port monitor may be in one of six states:
ENABLED The port monitor is currently running and is
accepting connections. See sacadm(1M) with the -e
option.
Printed 11/19/92 Page 1
SAC(1M) RISC/os Reference Manual SAC(1M)
DISABLED The port monitor is currently running and is not
accepting connections. See sacadm with the -d
option, and see NOTRUNNING, below.
STARTING The port monitor is in the process of starting up.
STARTING is an intermediate state on the way to
ENABLED or DISABLED.
FAILED The port monitor was unable to start and remain
running.
STOPPING The port monitor has been manually terminated but
has not completed its shutdown procedure. STOP-
PING is an intermediate state on the way to
NOTRUNNING.
NOTRUNNING
The port monitor is not currently running. (See
sacadm with -k.) This is the normal ``not run-
ning'' state. When a port monitor is killed, all
ports it was monitoring are inaccessible. It is
not possible for an external user to tell whether
a port is not being monitored or the system is
down. If the port monitor is not killed but is in
the DISABLED state, it may be possible (depending
on the port monitor being used) to write a message
on the inaccessible port telling the user who is
trying to access the port that it is disabled.
This is the advantage of having a DISABLED state
as well as the NOTRUNNING state.
When a port monitor terminates, the SAC removes the utmp
entry for that port monitor.
The SAC receives all requests to enable, disable, start, or
stop port monitors and takes the appropriate action.
The SAC is responsible for restarting port monitors that
terminate. Whether or not the SAC will restart a given port
monitor depends on two things:
- the restart count specified for the port monitor
when the port monitor was added by sacadm; this
information is included in /etc/saf/<pmtag>/_sactab
- the number of times the port monitor has already
been restarted
SEE ALSO
sacadm(1M), pmadm(1M).
Page 2 Printed 11/19/92
SAC(1M) RISC/os Reference Manual SAC(1M)
FILES
/etc/saf/_sactab
/etc/saf/_sysconfig
/var/adm/utmp
/var/saf/_log
Printed 11/19/92 Page 3