1006
правок
Kekaloav (обсуждение | вклад) м |
Kekaloav (обсуждение | вклад) м (→Ядро (kernel)) |
||
Строка 1: | Строка 1: | ||
Статья в основном "для новичков" | Статья в основном "для новичков" | ||
Строка 15: | Строка 16: | ||
Ядро написано главным образом на языке C и собирается для системы МОС из исходных текстов. В процессе сборки выбирается (буквально - галочками) включение в систему поддержки тех или иных устройств и функций (для систем общего назначения обычно выбирается все что в них может встретится, но текст ядра рассчитан и на специализированные устройства, их поддержку естественно исключают), добавляются свои исправления (патчи), выбирается что будет присутствовать в системе сразу, а что догружаться в процессе работы в виде модулей. (командами insmod, просмотр lsmod). Таким образом, при всей схожести, ядра одной линукс-системы не вполне похожи на ядра другой. | Ядро написано главным образом на языке C и собирается для системы МОС из исходных текстов. В процессе сборки выбирается (буквально - галочками) включение в систему поддержки тех или иных устройств и функций (для систем общего назначения обычно выбирается все что в них может встретится, но текст ядра рассчитан и на специализированные устройства, их поддержку естественно исключают), добавляются свои исправления (патчи), выбирается что будет присутствовать в системе сразу, а что догружаться в процессе работы в виде модулей. (командами insmod, просмотр lsmod). Таким образом, при всей схожести, ядра одной линукс-системы не вполне похожи на ядра другой. | ||
Ядро состоит из основного файла, загружаемого при старте OC, и модeлей, (*.ko) служащих для включения поддержки некоторых функций - оборудования, файловых систем ИТП. '''Важно''' '''Ядро монолитно, модули от одного ядра не подходят к другому.''' | Ядро состоит из основного файла, загружаемого при старте OC, и модeлей, (*.ko) служащих для включения поддержки некоторых функций - оборудования, файловых систем ИТП. '''Важно''' '''Ядро монолитно, модули от одного ядра не подходят к другому.''' Именно поэтому понятие "драйвер" фактически бессмысленно. Есть лишь средства "приделать" в виде модуля к используемому ядру драйвер, поставляемый в виде исходного кода, да и то только если им поддерживается необходимая версия ядра. | ||
Ядро периодически обновляется,дополняется. Каждое новое ядро обозначается номером версии вида x.yy На момент написания уже доступна версия 6.00. Для обновления автоматического ядра используем команду update-kernel (от root) | Ядро периодически обновляется,дополняется. Каждое новое ядро обозначается номером версии вида x.yy На момент написания уже доступна версия 6.00. Для обновления автоматического ядра используем команду update-kernel (от root). | ||
Название файла ядра обычно vmlinuz (записывается обычно в сжатом виде - потому z). | |||
=== Загрузчик (grub) === | === Загрузчик (grub) === | ||
Функция загрузчика - загрузить ядро. При этом присутствует возможность запустить меню (если нажать что-то пока присутствует на экране буква М и идет отчсет времени) и выбрать ядро (если их несколько) и параметры запуска ядра. Также из меню можно загрузить Windows из отдельного раздела (если указать раздел при настройке grub). Можно исправить строку запуска ядра,. Grub состоит из двух частей - stage 1 и stage 2. Первая часть записана в начале диска (она примитивная), Вторая - в файловой системе. ''Если вы видите приглашение Grub stage1, значит он не находит файловой системы МОС и все совсем плохо.'' | Функция загрузчика - загрузить ядро. При этом присутствует возможность запустить меню (если нажать что-то пока присутствует на экране буква М и идет отчсет времени) и выбрать ядро (если их несколько) и параметры запуска ядра. Также из меню можно загрузить Windows из отдельного раздела (если указать раздел при настройке grub). Можно исправить строку запуска ядра,. Grub состоит из двух частей - stage 1 и stage 2. Первая часть записана в начале диска (она примитивная), Вторая - в файловой системе. ''Если вы видите приглашение Grub stage1, значит он не находит файловой системы МОС и все совсем плохо. Загрузчик передает ядру строку параметров, которые определяют как именно запустится система - включит или нет графику, acpi, какие загрузит или не загрузит модули ИТД ИТП. Через ядро параметры попадают в систему и анализируются и применяются по мере загрузки. Полный список стоит искать в разделе параметры ядра.'' | ||
=== Файловая система стадии загрузки (initrd) === | === Файловая система стадии загрузки (initrd) === | ||
При произведении автоматической настройки системы на использование нового ядра, часть модулей и некоторые скрипты и программы, которые необходимы ядру для инициализации от моментв загрузки, до момента подключения файловой системы, копируются сокращенный образ файловой системы, называемый initrd. '''Именно эта часть системы наиболее зависит от конкретного железа.''' Собственно простой сисадмин с ней не контактирует, но стоит знать о наличии. | |||
=== Системный менеджер (systemd) === | === Системный менеджер (systemd) === | ||
Системный менеджер служит для запуска множество процессов, исполняемых внутри системы в соответствии с конфигурацией. Он отвечает за порядок запуска, за перезапуск в случае падения, за запись логов, за исполнение роли некоторых простых и не очень сервисов - синхронизации времени, кэширования DNS, и много-много всего. В зависимости от конкретного Linux, используются все функции systemd, либо только часть, либо не используются вообще (заменяется скриптами). В МОС systemd используется максимально. | |||
наиболее употребимые команды systemctl ( управление сервисами - запуск, перезапуск, установка запуска при загрузке ) journalctl (чтение логов). | |||
=== Интерпретатор командной строки (bash) === | === Интерпретатор командной строки (bash) === | ||
Строка 41: | Строка 48: | ||
=== Графический сервер (xorg) === | === Графический сервер (xorg) === | ||
=== не-Эмулятор Windows (wine) === | |||
[[Категория:МОС]] | [[Категория:МОС]] |