3 system.conf \- operating system service configuration
13 is the global system configuration file that contains the
14 configuration for all the primary system services. This is the file
15 that the \fBservice\fR utility uses by default. Custom configuration
16 files with the same format can be specified on a per-service basis. See
20 This page is a summary of all the elements that can be found in this
23 The syntax used is that of the common configuration file described in
26 The \fBservice\fR utility scans the configuration file from beginning to end
27 to gather information about a specific system service when starting or
28 updating the properties of a service.
29 The file contains a collection of service entries of the form:
32 \fBservice\fR \fI<program_name>\fR
41 where \fI<program_name>\fR is the name of the program used to start the
42 given system service. In each service entry, the following options can
45 \fBuid\fR \fI<uid|SELF|user name>\fR\fB;\fR
48 specifies the user id or the user name to use to run the system service.
49 \fISELF\fR can be used when the service has to start with the realuid of
50 the user who's executing the \fBservice\fR utility.
51 Many system services run with root privileges (uid \fB0\fR).
52 The default user is service (uid \fB12\fR).
55 \fBipc\fR \fI<ALL|ALL_SYS|NONE|name1 name2...nameN>\fR\fB;\fR
58 specifies the list of ipc targets (processes and kernel) the system service can
59 talk to. \fIALL\fR allows all the possible targets, \fIALL_SYS\fR is similar but
60 excludes user processes. When an explicit list is given, each target
61 must be identified by its process (binary) name.
62 Exceptions are user processes (use pseudo-name \fIUSER\fR) and
63 the kernel for kernel calls (use pseudo-name \fISYSTEM\fR). The default is
67 \fBsystem\fR \fI<ALL|BASIC|NONE|kcall1 kcall2...kcallN>\fR\fB;\fR
70 specifies the list of kernel calls the system service is allowed to call.
71 \fIALL\fR allows all the kernel calls, \fIBASIC\fR only allows basic kernel
72 calls (see macro \fBSYS_BASIC_CALLS\fR in \fB<minix/com.h>\fR),
73 \fINONE\fR allows no kernel call. This option only makes sense if the
74 option \fBipc\fR includes the kernel as a valid target.
75 The default is \fIBASIC\fR.
78 \fBvm\fR \fI<ALL|BASIC|NONE|vmcall1 vmcall2...vmcallN>\fR\fB;\fR
81 specifies the list of VM calls the system service is allowed to call.
82 \fIALL\fR allows all the VM calls, \fIBASIC\fR only allows basic VM
83 calls (see macro \fBVM_BASIC_CALLS\fR in \fB<minix/com.h>\fR),
84 \fINONE\fR allows no VM call. This option only makes sense if the
85 option \fBipc\fR includes VM as a valid target.
86 The default is \fIBASIC\fR.
89 \fBio\fR \fI<ALL|NONE|baseaddr1 baseaddr2:length2...baseaddrN>\fR\fB;\fR
92 specifies the list of I/O ranges the system service is allowed to use.
93 \fIALL\fR allows all the possible I/O ranges, \fINONE\fR allows no I/O range
94 at all. When an explicit list is given, each range is identified by a base
95 address and an optional length. When no length is given, length \fB1\fR is
96 assumed. The default is \fINONE\fR.
99 \fBirq\fR \fI<ALL|NONE|irq1 irq2...irqN>\fR\fB;\fR
102 specifies the list of IRQs the system service is allowed to use.
103 \fIALL\fR allows all the possible IRQs, \fINONE\fR allows no IRQ
104 at all. An explicit list of IRQ numbers may be given.
105 The default is \fINONE\fR.
108 \fBsigmgr\fR \fI<SELF|label>\fR\fB;\fR
111 specifies the signal manager the system service is assigned to. The signal
112 manager intercepts all the termination and non-termination signals
113 (including signal generated by runtime exceptions, e.g. SIGSEGV) on behalf
114 of the service and reacts accordingly. \fISELF\fR allows the service to
115 become its own signal manager. This option should be used with care,
116 since a lethal signal for the service will immediately trigger a
117 kernel panic. A separate system service that acts as the designated signal
118 manager must be specified using its label. The default is specified in
119 \fB<minix/priv.h>\fR (see macro \fBDSRV_SM\fR).
122 \fBscheduler\fR \fI<KERNEL|label>\fR\fB;\fR
125 specifies the scheduler the system service is assigned to. The scheduler
126 implements the scheduling policy for the system service. \fIKERNEL\fR allows
127 the service to be scheduled directly by the kernel. A separate system
128 service that acts as the designated scheduler must be specified
129 using its label. The default is specified in
130 \fB<minix/priv.h>\fR (see macro \fBDSRV_SCH\fR).
133 \fBpriority\fR \fI<priority_queue>\fR\fB;\fR
136 specifies the priority queue the scheduler must assign the service to.
137 The default is specified in \fB<minix/priv.h>\fR (see macro \fBDSRV_Q\fR).
140 \fBquantum\fR \fI<quantum_size_ms>\fR\fB;\fR
143 specifies the quantum size (ms) the scheduler must consider the service for.
144 The default is specified in \fB<minix/priv.h>\fR (see macro \fBDSRV_QT\fR).
147 \fBpci device\fR \fI<vid/did>\fR\fB;\fR
150 specifies the PCI device IDs the system service is allowed to use
151 (only used for device drivers).
152 The default is to allow no PCI device IDs.
155 \fBpci class\fR \fI<class1/mask1 class2/mask2...classN/maskN>\fR\fB;\fR
158 specifies the PCI classes the system service is allowed to use
159 (only used for device drivers).
160 The default is to allow no PCI classes.
163 \fBcontrol\fR \fI<name1 name2...nameN>\fR\fB;\fR
166 specifies the list of system services (identified by their process names) that
167 are allowed to control the system service. A controller service can ask RS
168 to perform privileged actions like immediately restarting the service.
169 The default is to allow no controller services.
177 Cristiano Giuffrida <giuffrida@cs.vu.nl>