Linux. Алексей Стахнов
значением используемого аппаратного прерывания.
Драйвер принтера (lp)
Используя этот аргумент загрузки можно сообщить драйверу принтера, какие порты можно использовать, а какие – нет. Этот параметр удобен для запрета захвата драйвером принтера всех доступных параллельных портов.
Формат аргумента – несколько пар адресов ввода/вывода, прерываний. Например,
lр=0х3Ьс,0,0x378,7
Драйвер принтера будет использовать порт на 0x3Ьс без прерывания и порт 0x378 с седьмым прерыванием. Порт 0x278 (если он присутствует в компьютере) не будет использоваться, поскольку автоопределение выполняется при отсутствии аргумента lр=. Для полного отключения драйвера принтера можно использовать параметр lр=о.
Процесс init
После того как ядро Linux полностью загрузилось, считало конфигурационные параметры и настроило оборудование (по крайней мере то, которое упоминалось в конфигурационных параметрах, и то, драйверы которого присутствуют в ядре), оно приступает к монтированию разделов жесткого диска. Монтирование всегда начинается с корневой файловой системы. Как только корневая файловая система окажется загружена и смонтирована, будет выведено сообщение:
VFS: Mounted root (ext2 filesystem) readonly
В этой точке система находит на корневой файловой системе программу init и выполняет ее.
Процесс init – это программа, ответственная за продолжение процедуры загрузки и перевод операционной системы из начального состояния, возникающего после загрузки ядра, в стандартное состояние. Во время этого процесса init выполняет множество операций, необходимых для нормального функционирования операционной системы: монтирование и проверку файловых систем, запуск различных служб и т. п. Список производимых действий помимо конфигурации системы зависит от так называемого уровня выполнения (run level).
Достаточно простой аналогией уровня выполнения является обычный распорядок дня человека – пробуждение, приведение себя в порядок, завтрак, "выход в свет" – общение с окружающим миром, ужин, приведение себя в порядок, сон. Так изо дня в день, одни и те же операции, в одной и той же последовательности. Не умывшись, вы на работу не пойдете, завтрак обязательно идет перед ужином и т. д.
Точно так же разбиты уровни выполнения. Каждый уровень выполнения однозначно (по крайней мере, в пределах дистрибутива) определяет перечень действий, выполняемых процессом init, и конфигурацию запущенных процессов. К сожалению (а может, и к счастью) четкого разделения на уровни выполнения, их количество, действия, выполняемые на каждом уровне, нет. Так, в некоторых UNIX-системах уровней выполнения всего два. Некоторые дистрибутивы Linux таким же образом конфигурируют свою операционную систему (в дистрибутиве Slackware, например, два уровня выполнения). В других дистрибутивах (Red Hat Linux) уровней выполнения восемь. Поскольку эта книга базируется на дистрибутиве Red Hat, дальнейшее описание на нем и основано.
В операционной системе Linux существует восемь уровней выполнения:
• 0 – останов системы;
• 1 – однопользовательский режим для специальных случаев администрирования. Отсутствует поддержка сети, практически нет сервисов;
• 2 – многопользовательский режим без поддержки сети;
• 3