6/15/72                                                INIT (VII)

NAME            init  --  process control initialization

SYNOPSIS        /etc/init

DESCRIPTION     init is invoked inside UNIX as the last step in

                the boot procedure.  Generally its role is to

                create a process for each typewriter on which a

                user may log in.

                First, init checks to see if the console switches

                contain 173030.  (This number is likely to vary

                between systems.)  If so, the console typewriter

                tty is opened for reading and writing and the

                shell is invoked immediately.  This feature is

                used to bring up a test system, or one which does

                not contain DC-11 communications interfaces.

                When the system is brought up in this way, the

                getty and login routines mentioned below and de-

                scribed elsewhere are not needed.

                Otherwise, init does some housekeeping: the mode

                of each DECtape file is changed to 17 (in case

                the system crashed during a tap command); direc-

                tory /usr is mounted on the RK0 disk; directory

                /sys is mounted on the RK1 disk.  Also a data-

                phone daemon is spawned to restart any jobs being


                Then init forks several times to create a process

                for each typewriter mentioned in an internal

                table.  Each of these processes opens the appro-

                priate typewriter for reading and writing.  These

                channels thus receive file descriptors 0 and 1,

                the standard input and output.  Opening the type-

                writer will usually involve a delay, since the

                open is not completed until someone is dialled in

                (and carrier established) on the channel.  Then

                the process executes the program /etc/getty

                (q.v.).  getty will read the user's name and in-

                voke login (q.v.)  to log in the user and execute

                the shell.

                Ultimately the shell will terminate because of an

                end-of-file either typed explicitly or generated

                as a result of hanging up.  The main path of

                init, which has been waiting for such an event,

                wakes up and removes the appropriate entry from

                the file utmp, which records current users, and

                makes an entry in wtmp, which maintains a history

                of logins and logouts.  Then the appropriate

                typewriter is reopened and getty reinvoked.

FILES           kept in /etc/init; uses /dev/tap, /dev/tty,

                /dev/tty?, /tmp/utmp, /tmp/wtmp

SEE ALSO        login(I), login(VII), getty(VII), sh(I), dpd(I)

DIAGNOSTICS     none possible

BUGS            none possible

BUGS            ken, dmr