Администрирование локальных сетейРефераты >> Программирование и компьютеры >> Администрирование локальных сетей
systemC +
Отсутствие файла /etc/shutdown.allow или отсутствие в нем администратора (root) не может помешать администратору остановить систему.
После запуска, shutdown выполняет:
· сброс на диск всех суперблоков файловых систем находящихся в памяти
· установку real UID в 0
· широковещательную посылку сообщения всем пользователям
· запуск /sbin/rc для выполнения корректного завершения всех основных системных и пользовательских программ
· выполнение пргораммы reboot для реальной остановки или перезагрузки системы.
Так же как и при старте, во время остановки системы используется скрипт /etc/rc . Если стартовый скрипт линк (например /sbin/rcN.d/S123test) в последовательности N имеет стоп действие, соответствующий остановочный скрипт должен быть помещен в последовательность
N-1 (/sbin/rcN-1.d/K200test). Действия запущенные на уровне N должны быть остановлены на уровне N-1. Поэтому остановка системы (т.е., переход с уровня 3 напрямую в уровень 0) приведет к корректному завершению всех подсистем путем вызова соответствующих остановочных скриптов.
Помомо команды shutdown существует команда rebooot которая выполняет похожие действия. Например reboot –h вызывает остановку системы а reboot без параметров перезагрузку. Между командами reboot и shutdown есть принципиальная разница. reboot всем процессам в системе (кроме самой себя J) посылает 9-й сигнал, который процесс не может перехватить или обработать и после этого вызывает остановку или перезагрузку системы. Поэтому не рекомендуется использовать эту команду в системах где есть критически важные приложения (например сервера баз данных) которые требуют корректной остановки.
Конфигурирование ядра системы
Для большинства систем вполне хватает стандартной конфигурации ядра, однако в ряде случаев оговоренных ниже возникает необходимость переконфигурирования ядра. К этим случаям можно отнести:
· Добавление или удаление периферии (драйверов устройств) а также псевдодрайверов. В случае удаления периферии удалять драйвер устройства из ядра совсем не обязательно, но крайне желательно, т.к. в этом случае ядро будет меньше по обьему и будет работать более эффектино. Прежде чем удалять драйвер устройства убедитесь не зависят ли от него драйвера других устройств проверив файлы в директории /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.
9. Изменение системных параметров
К одним из основных системных параметров относится параметр 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 |
Максимальное количество сегментов разделяемой памяти на процесс |