Процедура загрузки ОС Linux

Как вы понимаете, после включения питания компьютера и окончания тестирования аппаратной части BIOS считывает из первого сектора загрузочного диска маленькую программу-загрузчик. Эта программка запускает основной системный загрузчик, который, в свою очередь, загружает в память ядро системы.

Сходу после загрузки ядро монтирует корневую файловую систему и запускает процесс init Процедура загрузки ОС Linux. Процесс init — это программка, которая несет ответственность за продолжение процедуры загрузки, и перевод системы от исходного состояния, возникающего после загрузки ядра, в стандартное состояние обработки запросов многих юзеров. Init делает еще массу разных операций, нужных для предстоящей работы системы: проверку и монтирование файловых систем, пуск разных служб (бесов), пуск процедур Процедура загрузки ОС Linux логирования, оболочек юзеров на разных терминалах и т. д.

Четкий перечень этих операций находится в зависимости от так именуемого уровня выполнения (run level). Уровень выполнения определяет список действий, выполняемых процессом init, и состояние системы после загрузки, т. е. конфигурацию запущенных процессов. Уровень выполнения идентифицируется одним эмблемой. В ОС Linux существует Процедура загрузки ОС Linux 8 главных уровней выполнения:

0 — остановка системы;

1 — однопользовательский режим (для особых случаев администрирования);

2 — многопользовательский режим без NFS (то же, что и 3, если компьютер не работает с сетью);

3 — полный многопользовательский режим;

4 — внедрение не регламентировано;

5 — обычно употребляется для пуска системы в графическом режиме;

6 — перезагрузка системы;

Видите ли, уровни 0, 1 и 6 зарезервированы для особенных Процедура загрузки ОС Linux случаев.

Сперва после старта процесс init считывает собственный конфигурационный файл /etc/inittab. Этот файл состоит из отдельных строк. Если строчка начинается со знака # либо пуста, то она игнорируется. Все другие строчки состоят из 4 полей, разбитых двоеточиями:

id:runlevels:action:process

где:id — идентификатор строчки. Это случайная композиция, содержащая от 1 до 4 знаков Процедура загрузки ОС Linux. В файле inittab не может быть 2-ух строк с схожими идентификаторами;

runlevels — уровни выполнения, на которых эта строчка будет задействована. Уровни задаются цифрами либо знаками без разделителей, к примеру, 345;

process — процесс, который должен запускаться на обозначенных уровнях. Другими словами в этом поле указывается имя программки, вызываемой при переходе на обозначенные уровни Процедура загрузки ОС Linux выполнения;

action — действие.

Обработка файла /etc/inittab процессом init начинается в однопользовательском режиме (уровень 1), в каком единственным юзером является юзер root, работающий с консоли. Сперва init находит строчку, которая определяет, какой уровень выполнения запускается по дефлоту: id:3:initdefault:

Это и будет тот уровень, в каком запустится и будет работать система после загрузки Процедура загрузки ОС Linux, потому естественно, что нельзя указывать в строке initdefault уровни 0 и 6.

Дальше init делает команды, обозначенные в строке с главным словом sysinit. В стандартной конфигурации тут производится скрипт rc.sysinit из каталога /etc/rc.d. После чего процесс init просматривает файл /etc/inittab и делает скрипты, надлежащие однопользовательскому уровню Процедура загрузки ОС Linux (1 во 2-м поле строчки), всем уровням (строчки с пустым вторым полем) и уровню, данному по дефлоту. В строке, соответственной уровню по дефлоту, вызывается скрипт rc из каталога /etc/rc.d. Этот скрипт один и тот же для всех уровней, исключительно в зависимости от уровня выполнения ему передается соответственное значение Процедура загрузки ОС Linux параметра вызова, так что, к примеру, для 3-го уровня вызов скрипта осуществляется строчкой типа

l3:3:wait:/etc/rc.d/rc 3

Последующая принципиальная функция, которую делает этот процесс (на уровнях со 2 по 5) — пуск 6 виртуальных консолей (процессов getty), чтоб предоставить юзерам возможность региться в системе с терминалов. Если юзер не Процедура загрузки ОС Linux сумел удачно зарегистрироваться, программка регистрации заканчивается через определенный просвет времени, закрывая открытую терминальную линию, а процесс init порождает для этой полосы последующий getty-процесс, открывающий терминал, заместо прекратившего существование.

После окончания загрузки init продолжает работать в фоновом режиме, отслеживая конфигурации в состоянии системы.

Таким макаром, процесс исходной загрузки init повсевременно находится в Процедура загрузки ОС Linux оперативки и при получении соответственных сигналов повторно делает цикл чтения из файла /etc/inittab инструкций о том, что необходимо делать, при этом этот набор инструкций различен для различных уровней выполнения.

Когда суперпользователь останавливает систему (командой shutdown), конкретно init завершает все другие исполняющиеся процессы, размонтирует все файловые системы и останавливает Процедура загрузки ОС Linux микропроцессор.


process-viyavleniya-finansovogo-rezultata-deyatelnosti-na-primere-organizacii-ooo-torgovij-dom-altajenergostroj-14.html
process-vospitaniya-dialektichen.html
process-vosstanovleniya-prostranstv-lyudej-i-zemli-s-uchyotom-bozhestvennogo-mneniya-zeranti-chast-tretya.html