CONFIG(8)
НАЗВАНИЕ
config - конфигурирует систему UNIX.
СИНТАКСИС
/usr/sys/conf/config [-i] [-c file] [-s] -m master dfile
ОПИСАНИЕ
config считывает описание системы UNIX и формирует компилируемые
файлы, которые определяют конфигурационные таблицы для различных
устройств системы.
Опции:
-m | Задает имя файла, который содержит всю информацию в отношении поддерживаемых устройств; /usr/sys/conf/master - стандартное имя. Этот файл поставляется вместе с системой XENIX и не должен модифицироваться пользователем. Для исправления /usr/sys/conf/master и dfile следует использовать утилиту configure(8). |
-i | Требует ассемблерной выдачи вместо C-выдачи, устанавливаемой по умолчанию. |
-c | Задает имя файла конфигурационной таблицы. По умолчанию используется имя c.c, если только не задана опция -i, в последнем случае используется имя c.asm. |
-s | Задает имя файла параметров. По умолчанию используется имя space.c; если задана опция -i, то используется имя space.inc.
|
Файл dfile содержит информацию об устройствах системы и подразделяется
на две части. В первой части содержатся спецификации физических
устройств, а во второй - информация, зависящая от системы. Любая
строка со звездочкой * в колонке 1 является комментарием. Стандартный
поставляемый файл dfile носит имя /usr/sys/conf/xenixconf. Утилита
configure(ADM) должна использоваться также для модификации
/usr/sys/conf/xenixconf.
Во всех конфигурациях подразумевается наличие определенного набора
устройств, таких как системные часы, которые должны присутствовать для
работы системы XENIX. Эти устройства задавать в файле dfile не надо.
Первая часть файла dfile
Каждая строка содержит два поля, разделенных пробелами и/или знаками
табуляции:
devname number
где devname - имя устройства, а number - количество (в десятичном
представлении) устройств, связанных с соответствующим контроллером.
Имя устройства может быть любым именем заданным в первой части файла
/usr/sys/conf/master или любым псевдонимом в части 3 этого файла;
число number является необязательным, и если оно опущено, то по
умолчанию устанавливается максимальное значение для данного
контроллера.
Существуют некоторые типы драйверов, которые могут быть поставлены
вместе с системой и которые являются в действительности драйверами
псевдо-устройств, то есть с драйвером не связывается настоящее
аппаратное средство. Подобные драйверы описываются в разделе M
Справвочника пользователя.
Вторая часть файла dfile
Вторая часть содержит три различных типа строк. Обратите внимание, что
все спецификации этой части обязательны, хотя порядок их следования произволен.
- Спецификация устройства root/pipe
Здесь имеются две строки, в каждой из которых по три поля:
root devname minor
pipe devname minor
где devname - имя устройства, а minor - малое число устройства (в
восьмиричном виде). Имя устройства может быть любым именем заданным в
первой части файла /usr/sys/conf/master или любым псевдонимом в
части 3 этого файла.
- Спецификация устройства swap
Это - одна строка, содержащая пять полей:
swap devname minor swplo nswap
где devname - имя устройства, а minor - малое число устройства (в
восьмиричном виде), swplo - самый первый блок на диске (в десятичном
виде) в области свопинга, а nswap - количество блоков диска (в
десятичном виде) в области свопинга. Имя устройства может быть любым
именем заданным в первой части файла /usr/sys/conf/master или любым
псевдонимом в части 3 этого файла.
- Спецификация parameter
Это - одна или несколько строк, в каждой по два поля:
name number
где name - имя параметра настройки, а number - желаемое значение (в
десятичном виде) данного параметра. Могут использоваться только имена,
определенные в части 4 файла /usr/sys/conf/master; число number
перебивает установку данного параметра, заданную по умолчанию. Далее
приведен список допустимых параметров:
- buffers
- Максимальное количество внешних (картированных) буферов, доступных в ядре. При установке в 0 config вычисляет оптимальное значение этого параметра для системы.
- sabufs
- Максимальное количество внутренних (некартированных) доступных буферов.
- hashbuf
- Максимальное количество хэш-буферов.
- inodes
- Максимальное количество индексных дескрипторов файлов на одну файловую систему.
- files
- Максимальное количество открытых файлов на одну файловую систему.
- mounts
- Максимальное количество смонтированных файловых систем.
- coremap
- Максимальное количество статических элементов картирования.
- swapmap
- Максимальное количество динамических элементов картирования.
- pages
- Количество страниц памяти. На сегментированных системах, таких как 286-я система, это значение должно быть нулевым.
- calls
- Максимальное количество записей в таблице тайм-аутов.
- procs
- Максимальное количество процессов в одной системе.
- maxproc
- Максимальное количество процессов на одного пользователя.
- texts
- Максимальное количество текстовых сегментов в одной системе.
- clists
- Максимальное количество символьных списков в одной системе.
- locks
- Максимальное количество файловых блокировок в одной системе.
- shdata
- Максимальное количество сегментов общих данных в одной системе.
- timezone
- Разница в минутах между местным и гринвичским средним временем.
- daylight
- Время экономии дневного света: 1 - задействовано, 0 - незадействовано.
- msgmap
- Количество записей в таблице сообщений.
- msgmax
- Максимальный размер сообщения.
- msgmnb
- Максимальное количество байтов в очереди сообщений.
- msgmni
- Количество идентификаторов очереди сообщений.
- msgtql
- Количество заголовков сообщений в системе.
- msgssz
- Количество байтов в сегментах сообщений.
- msgseg
- Количество сегментов сообщений.
- semmap
- Количество записей в таблице семафоров.
- semmni
- Количество семафорных идентификаторов.
- semmnu
- Количество структур undo в системе.
- semmsl
- Максимальное количество семафоров на один идентификатор.
- semopm
- Максимальное количество операций за один вызов semop(S).
- semume
- Максимальное количество структур undo на один процесс.
- semvmx
- Максимальное значение семафора.
- semaem
- Максимальное значение "выравнивания при выходе"
- semmns
- Количество семафоров в системе.
- cmask
- Маска создания файла для процесса 0 по умолчанию.
- maxprocmem
- Максимальый объем памяти, доступной процессу.
- screens
- Количество экранов в многоэкранных системах.
- emaps
- Максимальное количество таблиц явных восьмиразрядных каналов.
- nodename
- Имя дескриптора системы (используемое uucp(1) и другими программами).
- npbuf
- Количество физических резервируемых буферов ввода/вывода.
- dmaexcl
- Устанавливается в 1, если только один канал DMA (прямого доступа к памяти) может быть использован одновременно, и в 0 - в противном случае.
- sdslots
- sdslots * shdata - максимальное количество одновременных обращений к сегментам общей памяти для всей системы.
- memlim
- Процесс может занимать не более заданного этим параметром процента пользовательской памяти плюс разрешенную область свопинга (которая ограничивается параметром swplim). Этот параметр действителен только для машин на базе процессоров семейства 80286.
- swplim
- Процесс может занимать не более заданного этим параметром процента области свопинга плюс разрешенную область памяти (которая ограничивается параметром memlim). Этот параметр действителен только для машин на базе процессоров семейства 80286.
- maxbuf
- Максимально возможное количество кэш-буферов.
- shless
- Количество сеансов на уровне командного процессора.
- shmmax
- Максимальный размер сегмента общей памяти. Значение по умолчанию - 131072.
- shmmin
- Минимальный размер сегмента общей памяти. Значение по умолчанию - 1.
- shmmni
- Максимальное количество идентификаторов общей памяти во всей системе.
- shmseg
- Количество присоединенных сегментов общей памяти на один процесс.
- shmall
- Максимальное количество одновременно используемых текстовых сегментов общей памяти.
- nqueue
- Количество очередей, задаваемых в конфигурации пакета STREAMS.
- nstream
- Количество резервируемых структур - дескрипторов потоков ("Stream-head" (stdata)).
- nstrpush
- Максимальное количество модулей, которое можно подать на поток.
- nstrevent
- Исходное количество резервируемых ячеек событий в потоке.
- maxsepgcnt
- Количество дополнительных страниц памяти, которые могут быть динамически зарезервированы для ячеек событий.
- nmuxlink
- Максимальное количество резервируемых мультиплексорных звеньев.
- strmsgsz
- Максимально допустимый размер области данных для любого сообщения в пакете STREAMS.
- strctlsz
- Максимально допустимый размер управляющей части любого сообщения в пакете STREAMS.
- nblkn
- Количество блоков данных и буферов в пакете STREAMS, резервируемое для каждого размерного класса (n).
- strlofrac
- Процент блоков данных для данного класса, для которого автоматически исключаются низкоприоритетные запросы на резервирование блоков.
- strmedfrac
- Процент срезания запросов на резервирование блоков со средним приоритетом (см. strlofrac выше).
- evqueues
- Максимальное количество открытых очередей событий во всей системе.
- evdevs
- Максимальное количество устройств, находящихся в очередях событий во всей системе.
- evdevsperq
- Максимальное количество устройств на одну очередь событий.
- kbtype
- Для клавиатур типа XT устанавливается в XT, а для клавиатур типа AT - в AT.
ПРИМЕРЫ
Предположим, что вы хотите установить конфигурацию системы со
следующими устройствами:
- Один контроллер дисководов жестких дисков с одним дисководом.
- Один контроллер дисководов гибких дисков с одним дисководом.
Вы должны задать также следующую информацию:
устройство корневой системы - жесткий диск (псевдо-диск 3)
устройство конвейера - жесткий диск (псевдо-диск 3)
устройство свопинга - жесткий диск (псевдо-диск 2) с параметрами swplo=0 и nswap=2300
количество буферов - 50
количество процессов - 50
максимальное количество процессов на один пользовательский идентификатор - 15
количество монтировок - 8
количество файловых индексных дескрипторов - 120
количество файлов - 120
количество вызовов - 30
количество текстов - 35
количество символьных буферов - 150
количество записей swapmap - 50
количество страниц памяти - 512
количество блокировок файлов - 100
параметр timezone - зона Тихого океана
время экономии дневного света - задействовано
количество записей в таблице сообщений - 513
максимальный размер сообщения - 8192
максимальное количество байтов в очереди сообщений - 16384
количество идентификаторов очередей сообщений - 10
количество заголовков сообщений в системе - 40
размер сегмента сообщений - 8
количество сегментов сообщений - 1024
количество записей в таблице семафоров - 21
количество семафорных идентификаторов - 10
количество структур undo в системе - 60
максимальное количество семафоров на один идентификатор - 10
максимальное количество операций за один вызов semop - 5
максимальное количество записей undo на один процесс - 5
максимальное значение семафора - 32767
максимальное значение "выравнивания при выходе" - 16384
количество семафоров в системе - 40
Действительная конфигурация системы должна быть задана в следующем
виде:
hd 1
fd 1
root hd 3
pipe hd 3
swap hd 2 0 2300
* Вот так могут быть вставлены комментарии
buffers 50
procs 150
maxproc 15
mounts 8
inodes 120
files 120
calls 30
texts 35
clists 150
swapmap 50
pages (1024/2)
locks 100
timezone (8*60)
daylight 1
msgmap (MSGSEG/2+1)
msgmax 8192
msgmnb 8192
msgmni 10
msgtql 40
msgssz 8
msgseg 1024
semmap (SEMMNS/2+1)
semmni 10
semmnu 20
semmsl 10
semopm 5
semume 5
semvmx 32767
semaem 16384
semmns 40
ФАЙЛЫ
/usr.sys/conf/master таблица главного устройства ввода по умолчанию
c.c файл конфигурационной таблицы драйвера вывода по умолчанию
space.c файл конфигурационной таблицы источника выдачи по умолчанию
c.asm конфигурация драйвера по умолчанию на ассемблере
space.inc конфигурация источника по умолчанию на ассемблере
СМ. ТАКЖЕ
configure(8), master(3)
ДИАГНОСТИКА
Диагностика направляется на устройство стандартного вывода и
понятна сама по себе.
ПРИМЕЧАНИЯ
Значение параметра в правой части его спецификации должно быть
строкой в двойных кавычках, целым числом, именем другого параметра,
определенного внутри файла master(3) или арифметическим выражением,
составленным из целых чисел и имен определенных параметров. В этих
арифметических выражениях можно использовать только операторы "+",
"-", "*" и "/". Эти выражения интерпретируются слева направо: если
возникают сомнения в приоритете обработки операторов - пользуйтесь
скобками.