CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
17.09.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: BSD :: FreeBSD

... И всё начинается с рестарта.
Загрузка и инициализация системы

CITKIT.ru

Страницы: предыдущая :: 1 :: ... :: 3 :: 4 :: 5 :: 6 :: 7 :: следующая

Содержание

Задачи инициализации

Предположим, однако, что тем или иным способом загрузка ядра и всего сопутствующего ему хозяйства успешно завершена. И тут в дело вступает главный калибр любой POSIX-системы — процесс init. Это первый (в прямом и переносном смысле — в BSD-системах его идентификатор равен единице) пользовательский (то есть работающий в пользовательском пространстве ядра, юзерланде), процесс, и запускается он исполнением одноименного файла /sbin/init.

В действительности это могут быть (и в разных системах действительно бывают) весьма разные программы. Более того, его можно подменить при интерактивном управлении процессом загрузки другой программой, например, командной оболочкой. Однако это сейчас не очень важно — рассмотрим только штатные задачи программы /sbin/init.

Первой из таких задач, как по времени исполнения, так и по значению, является проверка целостности наличных файловых систем. Для чего каждая из них проверяется на наличие бита "чистого размонтирования" (clean byte), который автоматически устанавливается в ходе правильного завершения предыдущего сеанса работы. Если такой бит обнаруживается на каждой файловой системе — все хорошо, дело движется дальше. Если нет — возможны варианты, о которых речь пойдет позднее.

Следует отметить, что сам по себе "бит чистого размонтирования" отнюдь не гарантирует сохранности файловой системы и, особенно, ее данных. Он лишь показывает, что файловая система была корректно размонтирована в предыдущем сеансе. В этом случае процесс init делает не лишенное резона допущение, что с метаданными и данными ее все в порядке, и переходит к выполнению следующей задачи.

А следующая задача процесса init — это вызов и отработка сценариев инициализации, или стартовых скриптов, собранных в каталоге /etc и (или) его подкаталогах. Это обычные сценарии оболочки, рассчитанные на исполнение стандартным POSIX-шеллом (/bin/sh) и включают в себя последовательности команд, призванные монтировать файловые системы, активизировать область своппинга, устанавливать системные часы, запускать те или иные службы и демоны.

Команды, образующие стартовые сценарии, получают свои опции, их значения и аргументы из специальных файлов конфигурации, также имеющих своим местопребыванием /etc и его подкаталоги. Конфигурационные файлы (или по простому конфиги) представляют собой либо простые базы данных опций и аргументов команд, либо списки имен переменных, (соответствующих опциям команд, используемых в скриптах) с присвоенными им значениями. Конфиги от скриптов легко отличимы при просмотре каталога /etc отсутствием у первых бита исполнения.

Наконец, третья непременная задача процесса init — так называемое получение терминала (запуск процесса getty), установку его свойств и подготовку к авторизации — вытеснение его процессом login. Выполнение этой процедуры также определяется параметрами из соответствующего конфигурационного файла.

Последовательное разделение стартовых сценариев и их конфигурационных файлов — один из краеугольных принципов общесистемного конфигурирования FreeBSD. В сущности, пользователю при нормальном ходе настройки практически нет необходимости ни знакомиться с содержимым скриптов (хотя это и не вредно), ни, тем паче, менять в них что-либо (последнее допустимо только в том случае, если этот самый пользователь точно знает, что делает, иначе систему легко довести до неработоспособного состояния). А вот вносить изменения в значения параметров конфигурационных файлов — не только можно, но и нужно. Хотя, разумеется, такое разрешение не избавляет пользователя от понимания смысла своих действий.

Понимание это, однако, затрудняется тем, что и сценарии инициализации, и их конфигурационные файлы реализованы в разных ОС и их дистрибутивах очень по-разному. Впрочем, это многообразие можно свести к двум стилям — BSD, все вариации на тему которого очень похожи друг на друга, и System V, каждый представитель которого оригинален по своему. Первый стиль инициации используется в операционках одноименного семейства. Стиль же System V преобладает в большинстве распространенных дистрибутивов Linux. Хотя последнее время и во многих из них (CRUX, Archlinux, Gentoo) все шире применяются BSD-подобные схемы инициации.




Страницы: предыдущая :: 1 :: ... :: 3 :: 4 :: 5 :: 6 :: 7 :: следующая

Комментарии

аноним, Mon Oct 5 17:51:54 2009:
Алексей, четверг, 18 декабря 2008 г. 00:36:37:
Толи я такой нуб. Толи для таких нубов как я написано не совсем понятно. "в текстовом редакторе открывается файл /etc/rc.conf". Непонятно как открыть в редакторе,и когда это вообще делать

ee /etc/rc.conf
vi /etc/rc.conf - какой больше нравится.

"ttyv8 "/usr/local/bin/kdm -nodaemon" xterm off secure - надо "on". в ttyv8 обычно - xdm, kdm в ttyv9
Raven, Sun Dec 21 14:34:07 2008:
18.2 секунды это ровно 100 тиков.
Системные часы работают с частотой 18.2 тика в секунду. и, кстати, команда, приведенная для конфигурирования:
boot0cfg -t 30 -s 2 -v -f /boot/boot0.old ad0
задаст всего 30 тиков, а не 30 секунд ожидания.
Алексей, Thu Dec 18 00:36:37 2008:
Толи я такой нуб. Толи для таких нубов как я написано не совсем понятно. "в текстовом редакторе открывается файл /etc/rc.conf". Непонятно как открыть в редакторе,и когда это вообще делать. "ttyv8 "/usr/local/bin/kdm -nodaemon" xterm off secure
обеспечит авторизацию в менеджере от KDE " я так пологаю должно быть on вместо off? или я чего то не понимаю? И вообще что-то не совсем мне понятно как менять все эти конфиги. А так вообще очень познавательно. Надеюсь Ваш материал поможет освоить мне FreeBSD.
Алексей Федорчук, Tue Nov 4 22:21:33 2008:
2 аноним, вторник, 4 ноября 2008 г. 21:40:49:
____
Спасибо, пофиксил
аноним, Tue Nov 4 21:40:49 2008:
(hd0,1 с точки зрения GRUB, /dev/ad1s1 по Free'шному)

Опечатка, надо hd1,0.
аноним, Mon Nov 3 13:42:37 2008:
команду
# shutdown now
я заменяю на
#kill 1 1
(так короче)
И еще. less - смотрелка, а редактировать - чем-нибудь, вроде ee. Я почему упоминаю такие мелочи - начинающие могут смутиться, а FreeBSd нужно любить!
Woolfy, Fri Oct 31 12:51:56 2008:
"
Для чего каждая из них проверяется на наличие бита "чистого размонтирования" (clean byte),
"
Все таки наверное, "байт чистого размонтирования".
Хотя, уместнее будет, назвать его просто - "флагом".
Алексей Федорчук, Wed Oct 29 12:38:29 2008:
2 Александр
Ага, спасибо
Александр, Wed Oct 29 12:24:24 2008:
Опечатка:
"... ведь размер загрузочного сектора раздела составляет те же 512 Кбайт ..."
Кбайт -> байт

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds