LINUX.ORG.RU
ФорумTalks

Объясните про ядро

 , ,


0

1

Зачем в 99% дистрибутивах в ядре включены тонны различных драйверов? Почему нельзя включать только нужные для загрузки драйверы, а затем уже грузить нужные модули ядра? Зачем вообще до сих пор в ядро тащат тонны драйверов, а не выносят в отдельные модули ядра, чтобы загрузить по требованию? Это как-то влияет на производительность или потребление памяти?

Перемещено shell-script из general

Ответ на: комментарий от Assembler

а что сейчас у вас есть ядро? набор драйверов.

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

Ядро - это программа реализующая системные вызовы, управляет многозадачностью\процессами, разграничивает доступы, предоставляет API, загружает\выгружает драйвера.

Драйверы - являются модулями ядра, и идут отдельно от него, или могут вообще не идти.

windows10 ★★★★★
()
Ответ на: комментарий от alex1101

Он наверное хотел спросить, зачем нужен такой жирный initramfs.

Потому что не осилили сделать загрузку модулей напрямую из ФС как это делают нормальные ОС такие как Windows, FreeBSD, Haiku безо всяких костылей проде initramfs.

X512 ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Угу, и именно поэтому Windows намного сложнее переносить на новое железо, чем Linux.

Совсем не поэтому. В Haiku процесс загрузки устроен примерно также как в Windows, загрузчик кроссплатформенный и его несложно пересобрать под разные архитектуры. Адаптировать ядро на новые архитектуры намного сложнее.

X512 ★★★★★
()
Ответ на: комментарий от X512

Чего? Отлично грузится, если архитектура CPU совместима. Правда если есть проприетарные драйвера nVidia, то может X-server не заработать, пока не удалишь xorg.conf, и сеть не подняться, если там несовместимый конфиг — а так грузится.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Чего? Отлично грузится, если архитектура CPU совместима.

Загрузчик и загрузочный диск слетает если специально не настроить.

X512 ★★★★★
()
Ответ на: комментарий от X512

Чего? Если о BIOS, то загрузчик грузится в оперативную память из MBR и потом ищет ФС по UUID. Если о UEFI, то может потребоваться руками добавить в UEFI запись о загрузчике на EFI разделе, но это всё.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от windows10

кажется на windows была Дефрагмент дисков. суть в том чт где-бы лежали фрагменты целого они остануться частью целого.где-бы не лежали компоненты ядра они остануться компонентами ядра, частью ядра.

Assembler
()
Ответ на: комментарий от X512

Потому что не осилили сделать загрузку модулей напрямую из ФС как это делают нормальные ОС

Для этого как минимум нужен модуль SATA/NVMe/лысыйчорт и модуль корневой ФС. Впрочем, это все можно встроить прямо в ядро при сборке.

Meyer ★★★★★
()
Ответ на: комментарий от X512

хых. умеючи - переносится :)
начал сдыхать старый i686 комп (работающий как подкроватный сервачок), поменял параметр MODULES c dep на most, пересобрал инитрд, выдернул винт, воткнул в x86_64 компутер. все запустилось и заработало. потом уже неторопясь допилил систему под новые железяки. и спустя полгода только переустановил на x86_64 ядро.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от Assembler

дефрагментаторы файловой системы есть и под линухой. к самой файловой системе и загрузкам драйверов отношения не имеет.

pfg ★★★★★
()
Ответ на: комментарий от pfg

дефрагментаторы файловой системы

это просто как пример.

Assembler
()
Ответ на: комментарий от Assembler

один фих не понял причем здесь дефлоратор винчестера и драйвера…

кстати нет, новьё живет в модулях и правильно, нахрена лишнее говно держать в ядре ?? пусть гамеры сношаются.

~$ grep -i nouveau /boot/config-5.15.0-52-generic
CONFIG_DRM_NOUVEAU=m
# CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
# CONFIG_NOUVEAU_DEBUG_MMU is not set
# CONFIG_NOUVEAU_DEBUG_PUSH is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU_SVM is not set
pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от Assembler

кажется на windows была Дефрагмент дисков. суть в том чт где-бы лежали фрагменты целого они остануться частью целого.где-бы не лежали компоненты ядра они остануться компонентами ядра, частью ядра.

Они остаются модулями ядра, но не ядром.

windows10 ★★★★★
()
Ответ на: комментарий от Meyer

Для этого как минимум нужен модуль SATA/NVMe/лысыйчорт

Не нужен. BIOS/UEFI/U-Boot умеют читать загрузочный диск.

и модуль корневой ФС.

Для загрузчика хватит упрощённой версии драйвера для чтения. В Haiku сделано так, что один и тот же код драйверов ФС компилируется в загрузчик и ядро.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от pfg

один фих не понял

вижу это.

нахрена лишнее говно держать в ядре ??

а я о чем!!!!!

Если выносите B модуля , то выносите все, пусть ядро будет ядром, но для этого сначала надо четко определить что есть ядро. именно в ядре должна быть заключена логика управления системой, все остальное тогда должно быть выненесено.

вот же выше писал!!!

Assembler
()
Последнее исправление: Assembler (всего исправлений: 1)
Ответ на: комментарий от X512

BIOS/UEFI/U-Boot умеют читать загрузочный диск.

не умеют :) биос не умеет читать файловые системы ваапче. он может считать бинарь с носителя (лежащего без файловой системы) и передать управления в него.
в уефи внедрили поддержку чтения разделов с файловой системой fat32 на разделах с разметой gpt.
и фсё.
умение чтения всего остального уже удел загрузчика, которому биос/уефи передают управление.
вот только не надо путать програмный загрузчик das-u-boot с аппаратной прошивкой биос/уефи. это сильно другое

и да, в биос/уефи необходимо внедрять модуль для работы с носителями по протоколам сата/нвме и иже с ними.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 2)
Ответ на: комментарий от Assembler

нахрена лишнее говно держать в ядре ??

а я о чем!!!!!

ты о дефрагментаторе файловой системы и аппаратной прошивкой биос/уефи :) сравнил ж с пальцем говоря образно…

pfg ★★★★★
()
Ответ на: комментарий от windows10

Они остаются модулями ядра

только если включены

<M>

Assembler
()
Ответ на: комментарий от pfg

кажется на windows был Дефрагмент дисков. суть в том чтo где-бы HEлежали фрагменты целого они остануться частью целого.где-бы не лежали компоненты ядра они остануться компонентами ядра, частью ядра.

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

Assembler
()
Последнее исправление: Assembler (всего исправлений: 3)
Ответ на: комментарий от Assembler

это аккурат и есть преимущество файловой системы перед raw-содержимым носителя.
но методика хранения может быть очень сложна и код необходимый для чтения файловой системы большой и толстый. поэтому в прошивку его не тащат.

pfg ★★★★★
()
Ответ на: комментарий от pfg

я о ядре говорил. а это привел только в качестве примерa

Assembler
()
Ответ на: комментарий от X512

Не нужен. BIOS/UEFI/U-Boot умеют читать загрузочный диск.

BIOS умеет читать только первые 512 байт с диска, о файловых системах он понятия не имеет. UEFI - в зависимости от реализации, по умолчанию только FAT16/32. Но можно на EFI раздел положить нужный драйвер ФС.

Про U-Boot не в курсе.

Meyer ★★★★★
()
Ответ на: комментарий от Meyer

BIOS умеет читать только первые 512 байт с диска

Нет, через вызовы BIOS можно читать весь диск.

UEFI - в зависимости от реализации, по умолчанию только FAT16/32.

Я про драйверы дисков писал, а не ФС. Драйвера ФС можно влинковать в загрузчик. В GRUB например они есть.

X512 ★★★★★
()
Ответ на: комментарий от apt_install_lrzsz

туплю :)
это ж достаточно классическое решение «запуск системы из гибернации». решения есть как для линухи, так и для винды.

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

минус - после каждого обновления системных файлов надо пересобирать образ, не работает загрузочные умудрения udev и чтото еще…
но быстро как понос :)

pfg ★★★★★
()
Ответ на: комментарий от pfg

идет тупое копирование образа гибернации в раму и последующая передача управления тудась.

А что именно в ОС это выполняет? Или это часть загрузчика? Я как-то и не задумывался раньше.

apt_install_lrzsz ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.