我是 Linux 新手,我正在尝试了解 Linux 操作系统结构的基础知识。
那么:“lsmod”和“GNU C Library”(大约 2000 个子例程)的输出中列出的“linux-kernel-modules”是否是同一件事?
答案1
不,Linux 内核模块和 GNU C 库不一样,我不知道你从哪里得到这个想法。
内核模块是 Linux 内核的一部分,可以按需加载。根据配置的不同,可能有数千个模块,典型的安装只会使用几百个,但这取决于硬件和其他因素,使用哪些模块。
另一方面,GNU C 库是用户程序的 C 函数的集合,不在内核中使用。
答案2
你混淆了两种截然不同的东西......
Linux 内核模块是外行人怎么称呼驱动程序。它们允许您使用显卡、网卡、声卡等。您可以禁用不使用的驱动程序;但如果您没有必要的驱动程序,您的系统将无法启动。
内核模块可以作为带有
.ko
扩展名的文件找到,位于/lib/modules
计算机目录内的某个位置。GNU C 库是某知名品牌系统库(系统 DLL,如果您坚持的话)。它充当用户程序(即用 C 编写的 Unix 程序)与跑步在Linux内核上。如果您没有系统库,您的程序将必须用汇编语言编写才能运行。
GNU C 库的主要元素可以作为名为 的 DLL 找到
libc-*.so
,位于/lib/*-linux-gnu/
计算机上目录中的某个位置。
注意:这个答案实际上是对问题的过度简化。