3 config \- configuring MINIX 3 tasks and servers
9 MINIX 3 has a number of configuration files containing parameters that can
10 be changed to enable or disable a device driver, to change the number of
11 times a resource can be used, or to tune the performance of the system.
12 We will name the file that contains the parameter, the name of the
13 parameter, and the values it can be set to. Some comments are prefixed by
14 "8086" for MINIX 3 running in 16-bit real mode, "286" for 16-bit protected
15 mode, and "386" for 32-bit protected mode.
16 Configuration file names can be
20 or a simple file name for a file in
23 There may be several definitions for a parameter with only one that is
24 active. Which one this is is easy to find if you know that
25 .B "(\s-2CPU\s+2\ ==\ \s-2INTEL\s+2)"
35 .RB < minix/config.h >
37 This is the main configuration file for the MINIX 3. It contains lots of
38 boolean variables to enable or disable drivers and a number of parameters
39 that specify the sizes of system data structures:
42 The number of slots in the process table, and thus the maximum number of
43 processes that can be run concurrently. Should be increased from the
46 if networking is enabled (add
48 for deamons), and if more users are using the system (add
50 for each active session). There are a lot of
51 loops in the kernel scanning the process table, so setting
53 too high will slow things down a little bit, so don't overdo it.
56 The number of disk buffers in the file system server. It is used to keep
57 frequently used disk blocks in memory.
61 and that's about as high as it can be set.
65 which is best increased to
67 if you can spare the memory. More will help, but the effect won't be as
70 is more than enough to contain the working set of one active user.
73 Number of tasks used for disk or tape controllers. By default 2, maximum 4.
74 You need a controller task for each device class to be handled through a
79 If set to 1 allows the RAM disk to be used as a second level file system
80 cache. Any block that is evicted from the normal cache is both written to
81 disk (if dirty), and copied to the second level cache. If it is needed
82 again then the block is reloaded from the RAM disk if it is still there.
84 Forget it, you don't have any memory for it.
86 Turn it on and set the boot environment variable
90 if you have the memory. That's enough to contain the working set of
91 one active user, and is also the maximum FS can handle.
93 The installation scripts sets
97 if there is enough memory. Your first point of call is to compile a
102 set to a large value, and
104 set back to zero. A normal block cache works much better than a two level
108 Enables the AT or IDE disk driver. (The IDE interface grew out of the old
109 AT disk interface.) Any run of the mill PC needs this driver. You need to
110 assign a driver like this one to a controller task using one of the
116 Enables the BIOS disk driver. The BIOS driver uses the system BIOS to read
117 or write disk blocks.
119 The preferred disk driver for XT class machines.
121 Use a native driver if possible to avoid switching back to real mode to make
122 BIOS calls. Especially on the 286 this is a painful affair.
125 Enables the ESDI disk driver. Some PS/2 models have this disk.
128 Enables the XT disk driver. Useful for early IBM/AT machines that have XT
129 disks. In real mode it is best to use the BIOS driver.
131 .SB ENABLE_AHA1540_SCSI
132 Enables the Adaptec 1540 series SCSI driver.
135 Enable the "DOS file as disk" driver that is used when MINIX 3 is run from
136 MS-DOS to access a large file as a disk.
139 Enable the "FAT file as disk" driver that interprets a FAT file system
140 to find a large file to use as a disk. This driver combined with a fast
141 native MINIX 3 disk driver is a better choice then the previous driver. (And
142 it works when MINIX 3 is not started from MS-DOS.) This is the last driver
143 that needs to be assigned to a controller task.
146 Enable the Soundblaster-16 audio driver.
149 Enable the Printer driver.
152 The size of the DMA buffer for drivers that use DMA or other drivers that
153 can only do I/O to a single chunk of memory. (BIOS, ESDI, XT, DOSFILE.)
154 Choose a number between
158 for the sector size of this buffer. The memory cost is twice this amount,
159 because of trouble getting it aligned in memory properly. A value of
161 is the minimum to work well, choose
163 if you have enough memory.
166 Number of virtual consoles. By default
168 so you can have two login sessions that can be switched to by ALT-F1,
169 ALT-F2 or ALT-left/rightarrow. If you have an EGA screen then you can
172 virtual consoles, for VGA you can have
174 It is best to choose one less to leave some video memory to keep text
175 scrolling fast. You really should read
177 on this. Note also the
179 boot variable, you can use it to put more characters on the screen, at
180 the cost of video memory.
183 Master switch to enable the network drivers. They are required by the
188 for information on configuring network support.
191 Enable code for the WD8003 and WD8013 cards in the network driver.
194 Enable code for the NE1000 and NE2000 cards.
197 Enable code for the 3Com Etherlink II (3C503).
200 Number of pseudo terminals supported, by default
202 which disables the driver. Pseudo terminals are used for incoming network
203 logins by telnet or rlogin. One pty is needed per session.
206 Number of RS-232 lines supported. By default
208 for a normal kernel, but
210 for a tiny kernel used for XT installation. You can save a bit of memory by
211 setting this parameter to zero if you don't need serial lines.
216 This file contains most of the parameters used by the file system code.
217 Most of these cannot be changed, with the exception of these four:
220 Maximum number of open file descriptors for all processes combined. A "File
221 table overflow" error might indicate that this number must be increased.
224 Maximum number of in-use files for all processes combined. Like above a
225 "File table overflow" error may also indicate that this number should be
226 increased. In cases like these one usually doubles both parameters. (If
227 one table runs out then the other one is likely to run out also anyway.)
230 Number of file systems that can be mounted. Again a "file table overflow"
231 error is given if this table is full, but it will be produced by the
233 command, so you know what's wrong in this case.
236 Number of active file locks by
238 These locks are often used by programs that update a shared file, like mail
239 programs do with mail boxes. A "no locks available" error indicates that
240 this table has run out.
243 .B kernel/bios_wini.c
249 The number of disks each of these drivers can handle is specified by:
252 This parameter is set to
254 for the BIOS and "DOS file" drivers, and to
256 for the "FAT file" driver. It can be set as high as you need to allow for
257 more disks, or files as disks. (The "FAT" driver needs quite some memory per
258 disk, which is why it by default only allows 2 disks.) You will need to run
260 to create the extra disk devices in
264 .B inet/inet_config.h
266 The maximum number of TCP/IP networks is:
269 Sets the maximum number of networks that can be defined in
280 The number of 512 byte buffers allocated for data within the TCP/IP server is:
283 These buffers are a shared resource used by the server for any data it wants
284 to play with. For incoming data this number of buffers determines the time
285 packets are kept around, with each new packet evicting an old packet. It's
286 no big deal if packets get lost before a user process reads them, packets
287 get lost all the time. The only real problem is outgoing TCP data. The
290 allows up to four backlogged TCP streams, i.e. when data is output faster
291 then it is read. If more buffers are needed then one of the TCP connections
292 is shut down. When this happens you will see a "not enough buffers left"
293 error. This could happen for instance if a MINIX 3 web server is assaulted by
294 a browser that likes to open several connections to the server
295 simultaneously. The fix is to increase
297 to allow more slow outgoing TCP streams.
301 buffers can be increased up to
303 (The "TCP window size" has been limited in 16-bit mode to keep the buffer
308 can be increased to any value you like, but
310 seems to be more than enough. Minix-vmd uses 512 by default, and it seems
318 Associated with drivers there are device files to access the devices
319 controlled by the drivers that may have to be created. Let's simplify this
322 note that there are only
326 devices, and only for two disks each. Some devices, like the audio devices,
327 are not even present. So if you enable a driver, or increase some limits, you
332 to allow programs to talk to the drivers.
334 Kees J. Bot (kjb@cs.vu.nl)