Конфигурирование ядра системы

Для большинства систем вполне хватает стандартной конфигурации ядра, однако в ряде случаев оговоренных ниже возникает необходимость переконфигурирования ядра. К этим случаям можно отнести:

 

· Добавление или удаление периферии (драйверов устройств) а также псевдодрайверов. В случае удаления периферии удалять драйвер устройства из ядра совсем не обязательно, но крайне желательно, т.к. в этом случае ядро будет меньше по обьему и будет работать более эффектино. Прежде чем удалять драйвер устройства убедитесь не зависят ли от него драйвера других устройств проверив файлы в директории /usr/conf/master.d в таблицах зависимости в секции DRIVER_DEPENDENCY. Особое внимание следует обратить на файл core-hpux.

 

· Изменение системных параметров (tunable parameters). В тех случаях когда система работает с большим количеством пользователей часто возникает необходимость изменения стандартных системных параметров. Эти параметры определяются в секции TUNABLE в файлах /usr/conf/master.d. Большинство из них находится в файле core-hpux.

 

· Инсталирование специализированного програмного обеспечения HP (подсистем). Если вы добавляете в систему специализированное програмное обеспечение например поддержку LAN, ATM, FDDI и.т.п в этом случае также требуется модификация ядра.

 

· Добавление файловых систем отлдичных от HFS.

 

· Добавление, удаление или модификация swap и (или) dump областей, устройства консоли или корневой файловой системы.

 

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

 

· Символьные драйвера. Работа с этими драйверами происходит в побайтном режиме без использования буферного кэша. К таким драйверам можно отнести драйвера таких устройств как драйвера последовательных портов, терминалов, магнитных лент …

 

 

· Блочные драйвера. Этот тип драйверов позволяет проводить обмен блоками данных. Так например обмен с диском происходит фиксироваными блоками (секторами), даже в том случае если идет операция с данными количество которых меньше размера блока всеравно физически будет прочитан или записан один блок. При работе эти драйвера используют системный буферный кэш.

 

· Драйвера низкого уровня (raw drivers) Этот тип драйверов производит обмен с блочными устройствами напрямую минуя буферный кэш с ситемы.

 

Кроме драйверов устройств существует множество других драйверов не имеющих непосредственного отношения к периферии компьютера. Такие драйвера называются псевдодрайверами. Вот примеры некоторых из них:

 

           /dev/kmem     обеспечивает доступ к физической памяти компьютера

 

           /dev/mem        обеспечивает доступ к виртуальной памяти ядра

 

/dev/null           нулевое устройство. Призаписи в него данные удаляются, а при чтении считывается 0 байт

 

lvm                    (Logical Volume Manager) обеспечивает построение и доступ к логическим дискам

 

Драйвера адресуются старшим номером устройства (major number). Помимо него также существует младший номер (minor number) для адресации одного из клонов драйвера. Например в случае с драйвером диска младший номер может означать номер диска.

 

$ ls -l /dev/dsk/

total 0

brw-r--r-- 1 root  sys     31 0x002000 Jun 10 1996 c0t2d0

brw-r--r-- 1 root  sys    31 0x005000 Jun 10 1996 c0t5d0

brw-r--r-- 1 root  sys    31 0x006000 Jun 10 1996 c0t6d0

 

$ ls -l /dev/rdsk/

total 0

crw-r----- 1 root  sys   188 0x002000 Jun 10 1996 c0t2d0

crw-r----- 1 root  sys   188 0x005000 Jan 3 16:47 c0t5d0

crw-r----- 1 root  sys   188 0x006000 Jun 10 1996 c0t6d0

 

Первая команда выводит файлы блочных дисковых устройств, вторая файлы raw дисковых устройств. Как создаются файлы устройств будет показано чуть позже. Доступ к драйверу осуществляется через специальную структуру данных называемою коммутатором устройств каждый элемент которой содержит указатели на соответствующие функции драйвера (d_open(), d_close(), d_strategy(), d_read(), d_write(), d_ioctl, d_xpoll(), d_intr(), …), так называемые точки входа. Старший номер является указателем на элемент коммутатора устройств. Блочные и символьные устройства имеют свои собственные коммутаторы. Список драйверов можно посмотреть воспользовавшись программой lsdev.

 

Изменение системных параметров

 

К одним из основных системных параметров относится параметр MAXUSERS который является макросом на основании которого вычисляются множество других параметров (например nproc вычисляется как 20+8*MAXUSERS). Этот параметр не указывает, как может показаться на первый взгляд на максимальное число пользователей в системе. На системах с небольшим количеством пользователей (рабочие станции) он обычно равен 32, на больших системах (T500) его значение может превышать 200. Перечислим краткий список основных системных параметров:

 

Параметр Значение по умолчанию Описание
dbc_max_pct 50 Максимальный размер буферного кэша в процентах от обьема RAM
maxdsiz 67108864 Максимальный размер сегмента данных
maxssiz 8388608 Максимальный размер стека
maxtsiz 67108864 Максимальный размер сегмента кода
maxfiles 60 Максимальное количество открытых файлов на процесс
maxuprc 75 Максимальное число процессов пользователя
maxusers 32 Макрос через который определяются большинство других параметров
nfile 2172 Максимальное число открытых файлов в системе
nflock 200 Максимальное количество заблокированных файлов
npty 60 Максимальное количество псевдотерминалов в системе
semmns 128 Максимальное количество семафоров
shmmax 67108864 Максимальный обьем разделяемой памяти
shmmni 200 Максимальное количество идентификаторов разделяемой памяти
shmseg 120 Максимальное количество сегментов разделяемой памяти на процесс

 

Для изменения системных параметров можно воспользоваться утилитой SAM либо выполнить изменения конфигурационных файлов и пересобрать ядро вручную. При использовании SAM после запуска sam необходимо:

 

· Открыть меню “SAM Kernel Configuration”

· Выбрать “Configurable parameters”

· Выбрать нужный параметр из списка

· Активировать пункт меню “Actions->Modify Configurable Parameter”

· Ввести новое значения параметра

 

После выхода из раздела “Configurable parameters” SAM предложит создать новое ядро и перезагрузить систему.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: