Лекция
Сразу хочу сказать, что здесь никакой воды про загрузка линуск, и только нужная информация. Для того чтобы лучше понимать что такое загрузка линуск , настоятельно рекомендую прочитать все из категории Операционная система LINUX.
В этой лекции будет идти речь о том, как и что происходит при загрузке операционной системы Linux от момента нажатия на кнопку включения системного блока до приглашения ввести пароль, чтобы зарегистрироваться в системе. Итак, вы нажимаете на кнопку включения на процессор подается специальный сигнал, по которому он начинает выполнять программу расположенную в микросхеме БИОС вашей материнской платы.
Программа проводит начальную настройку (инициализацию) устройств компьютера (материнская плата, процессор, память, жесткий диск, видео-подсистема и т.д.) и выясняет с какого устройства будет продолжена загрузка. Как правило таким устройством является жесткий диск (”винчестер”) на котором записана загрузочная запись - MBR (Master Boot Record). Эта запись расположена на самом первом секторе жесткого диска и занимает размер всего 512 байт. В эти 512 байт входит начальный загрузчик (446 байт), таблица разделов диска (64 байта) и так называемый специальный код в 511-м и 512-м байтах, который указывает на, то, что диск является загрузочным (содержит MBR). Как раз с помощью проверки этих двух последних байт БИОС и определяет является ли диск загрузочным или нет. На рисунке 1 показано более наглядно.
Рисунок 1
Задача начального загрузчика определить активный раздел диска и загрузить в память загрузчик ядра операционной системы. Такими загрузчиками в Linux являются LILO (сокращенно от Linux Loader) и GRUB(GRand Unified Bootloader). Загрузчик GRUB - является более новым загрузчиком с большими возможностями и используется в большинстве современных дистибутивов. LILO, который долгое время был стандартом, потихоньку сдает позиции, уступая место более современному GRUB. Основное преимущество GRUB в том, что он умеет обращаться к файловой системе Linux. (Подробнее о GRUB рекомендую читать на официальном сайтеhttp://www.gnu.org/software/grub/)
Задача загрузчика загрузить в память ядро операционной системы и передать ему управление. Об этом говорит сайт https://intellect.icu . Ядро Linuxрасположено в файле /boot и имеет название вида vmlinuz-2.6.24, где цифры обозначают номер (версию) ядра. Размер файла колеблется примерно от 400 Кб до 2 Мб. Ядро на диске находится в сжатом виде, поэтому происходит еще такая процедура как распаковка ядра и уже потом оно записывается в область оперативной памяти, которая недоступна пользовательским процессам. Ядро после того как записано в память берет управление в “свои руки” и проводит повторную инициализацию оборудования. Дело в том, что Linux в своей работе не использует функции БИОС, а “общается” с железом напрямую. Windows умеет работать с железом через функции БИОС. Чтобы не вдаваться в подробности объясню на примере. На современных материнских платах есть возможность создавать рейды. Например, объединить два жестких диска в рейд 1 (зеркало). Это реализуется как раз с помощью БИОС. Так вот Windows будет работать с таким рейдом, так как умеет обращаться к БИОС. Linux, тоже сможет обращаться с рейдом, но только если поддержка такого рейда будет реализована в ядре.
Загрузчик может передавать ядру некоторые параметры, которые влияют на загрузку системы. Например, если передать ядру параметр single, то Linux загрузится в однопользовательском режиме (можно грубо сравнить с безопасным режимом Windows XP). Параметры передаваемые ядру прописаны в конфигурационном файле. ДляGRUB это файл /boot/grub/menu.lst. Как работать с GRUB пока останавливаться не будем, вернемся к этому вопросу в дальнейшем если будет время.
Дальше ядро загружает несколько системных процессов: менеджер памяти и менеджер процессов. И только потом загружается первый пользовательский процесс - init. Процесс init является основным (родительским) процессом с идентификатором 1. Это первый процесс к которому имеет доступ системный администратор. Система Linux работает до тех пор пока “жив” процесс init . Получив управление, init выполняет алгоритм описанный в конфигурационном файле /etc/inittab . В результате работы init запускаются скрипты собранные в директории /etc/init.d/ .
Далее запускаются процессы, которые позволяют зарегистрироваться в системе. Эти процессы называются getty(сокращение от get teletype). Каждый процесс getty связывается с виртуальной (и не только виртуальной) консолью, которая отображается при помощи видеоадаптера и позволяет пользователю работать с этой консолью после того как пользователь зарегистрируется в системе. Это так называемый текстовый или алфавитно-цифровой режим работы с системой. Таких процессов запускается по умолчанию шесть штук.
Параллельно загружается служба - X Server для работы в графическом режиме. Кроме X Server в графическом режиме запускается программа которая называется дисплей-менеджер. Наиболее популярные дисплей-менеджеры это xdm, gdm, kdm. Основная задача этих программ это регистрация пользователя в системе, только уже в графическом режиме.
Когда мы видим на экране приглашение в текстовом или графическом режиме, можно считать, что система уже почти загрузилась. Далее нужно ввести имя пользователя и пароль. Обращаю внимание на то, что в текстовом режиме при вводе пароля информация не отображается на экране (то есть нет ни “звездочек” ни кружочков). Когда вы прошли регистрацию в текстовом режиме загружается так называемая программа-оболочка (shell), в которой пользователи и работают далее. Об оболочке (еще ее называют командным интерпретатором) мы еще будем говорить, пока только скажу, что оболочек есть несколько видов - csh, tcsh, zsh, bash, но мы будем работать в bash.
В завершение хочу сказать о выборе дистрибутива. Для этого курса совершенно неважно какой дистрибутив вы выберете для того, чтобы изучать Linux. Будет даже хорошо, если у вас будет отличный дистрибутив от того, который мы используем на занятиях. Для новичков, рекомендация купить отдельный жесткий диск на 10, 20 Гб и установить туда систему, если вы боитесь, что можете навредить данным на основном винчестере.
Несколько слов добавлю от себя. На курсах мы пока используем дистрибутив Knoppix (основанный на дистрибутиве Debian), дома и на работе я работаю в Ubuntu. Если у вас нет дистрибутива, то рекомендую зайти на сайт http://linuxiso.com.ua , где представлены все популярные дистрибутивы на сегодняшний день. Если у вас хороший канал можете скачать iso-образ и записать его на компакт-диск, если нет можете заказать диск по почте.
Пожалуйста, пиши комментарии, если ты обнаружил что-то неправильное или если ты желаешь поделиться дополнительной информацией про загрузка линуск Надеюсь, что теперь ты понял что такое загрузка линуск и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Операционная система LINUX
Из статьи мы узнали кратко, но содержательно про загрузка линуск
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX