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
Вторая часть содержит три различных типа строк. Обратите внимание, что все спецификации этой части обязательны, хотя порядок их следования произволен.

  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
    Имя дескриптора системы (используемое 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) или арифметическим выражением, составленным из целых чисел и имен определенных параметров. В этих арифметических выражениях можно использовать только операторы "+", "-", "*" и "/". Эти выражения интерпретируются слева направо: если возникают сомнения в приоритете обработки операторов - пользуйтесь скобками.