Являются ли «модули ядра» и «библиотека GNU C» одинаковыми?

bash -c 'some command'сохраняет доступ к стандартному вводу вызывающей стороны, поэтомуreadили команды чтения со стандартного ввода будут работать нормально. bash <<< 'some command'заменяет этот ввод переданной строкой, поэтому bash -c catи bash <<< catделают разные вещи.

$ bash -c cat
abc
abc
^D
$ bash <<< cat
$

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

$ bash <<< $'read x y\nabc def ghi\necho $y'
def ghi
$

Я бы не стал на это полагаться, но иногда это может быть удобно.


bash -cтакже позволяет передавать аргументы сценарию и $0устанавливать:

bash -c 'some command' sh abc def

установит $1на abcи $2на defвнутри some command.

-1
16.06.2019, 22:59
2 ответа

Вы путаете две совершенно разные вещи...

  • Модули ядра Linux — это то, что неспециалисты называют драйверами . Они позволяют использовать видеокарту, сетевую карту, звук и т. д. Вы можете отключить драйверы, которые не используете; но если у вас нет необходимых драйверов, ваша система не запустится.

    Модули ядра можно найти в виде файлов с расширением .ko, расположенных где-то внутри каталога /lib/modulesна вашем компьютере.

  • Библиотека GNU C является хорошо -известной маркой системной библиотеки(системной DLL, если вы настаиваете ). Он действует как мост для пользовательских программ (, т.е. программы Unix, написанной на C )в , работающей на ядре Linux. Если у вас нет системной библиотеки, ваши программы должны быть написаны на языке ассемблера, чтобы работать.

    Основной элемент библиотеки GNU C можно найти в виде DLL с именем libc-*.so, расположенной где-то внутри каталога /lib/*-linux-gnu/на вашем компьютере.

Примечание. :Этот ответ на самом деле сильно упрощает вопрос.

0
28.01.2020, 05:09

Нет, модули ядра Linux и библиотека GNU C — это не одно и то же, и я не знаю, откуда вы взяли эту идею.

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

Библиотека GNU C, с другой стороны, представляет собой набор функций C для пользовательских программ и не используется в ядре.

1
28.01.2020, 05:09

Теги

Похожие вопросы