Мы знаем, что Linux ядро написано в C. Но он также вызывает стандартные функции C, такие как mallo c ()
Нет. Однако ядро определяет подобные функции, такие как kmalloc
. Обратите внимание, что это не часть библиотеки; это часть самого ядра.
или дополнительные функции, такие как mmap ()
Не mmap
, но есть много памяти функции управления в ядре.
, которые предоставляются библиотекой GNU C (glib c)?
Определенно нет. Ядро никогда не использует glib c.
Итак, что зависит от другого?
Некоторые части glib c зависят от ядра. Другие части (например, strcpy
) не имеют ничего общего с ядром и не зависят от него. Ядро никогда не зависит от glib c. Вы можете запускать программы на Linux, которые используют другую библиотеку lib c (например, "musl") или вообще не используют библиотеку lib c.