Unix Man (Справочное руководство)

CONFIG(8)


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 следует использовать утилиту .

-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

Вторая часть содержит три различных типа строк. Обратите внимание, что все спецификации этой части обязательны, хотя порядок их следования произволен.


  1. Спецификация устройства root/pipe

    Здесь имеются две строки, в каждой из которых по три поля:

    root devname minor pipe devname minor

    где devname - имя устройства, а minor - малое число устройства (в восьмиричном виде). Имя устройства может быть любым именем заданным в первой части файла /usr/sys/conf/master или любым псевдонимом в части 3 этого файла.
  2. Спецификация устройства swap

    Это - одна строка, содержащая пять полей:

    swap devname minor swplo nswap

    где devname - имя устройства, а minor - малое число устройства (в восьмиричном виде), swplo - самый первый блок на диске (в десятичном виде) в области свопинга, а nswap - количество блоков диска (в десятичном виде) в области свопинга. Имя устройства может быть любым именем заданным в первой части файла /usr/sys/conf/master или любым псевдонимом в части 3 этого файла.
  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 Имя дескриптора системы (используемое и другими программами). 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 конфигурация источника по умолчанию на ассемблере

СМ. ТАКЖЕ



, master(3)

ДИАГНОСТИКА



Диагностика направляется на устройство стандартного вывода и понятна сама по себе.

ПРИМЕЧАНИЯ



Значение параметра в правой части его спецификации должно быть строкой в двойных кавычках, целым числом, именем другого параметра, определенного внутри файла master(3) или арифметическим выражением, составленным из целых чисел и имен определенных параметров. В этих арифметических выражениях можно использовать только операторы "+", "-", "*" и "/". Эти выражения интерпретируются слева направо: если возникают сомнения в приоритете обработки операторов - пользуйтесь скобками.


Содержание раздела