驱动是安装进 linux 内核的吗?

之前看到一个说法,linux 的源代码基本都是驱动代码

我想知道的是,这些驱动是作为编译后的内核的一部分吗?还是像 glibc 一样,只是一个内核外的软件包


如果我安装了 nv 的 GPU 驱动,那么这些 GPU 驱动也会进去内核吗?

阅读 3.2k
1 个回答

内核是内核,驱动是驱动。

所谓的“Linux 的源代码基本都是驱动代码”这句话是某种程度上是对的,但这仅仅说的是源代码而已 —— Linux Kernel 的仓库里确实也托管着各种驱动的代码,不过是在 drivers 目录下。

Linux 上的驱动既可以以链接的形式与内核一起编译、随内核在系统启动的时候一起被加载;也可以以编译成外部模块,在系统启动后再动态地加载到内核中。这都取决于编译时的配置。

要不然全部驱动都跟着内核一起编译,那最后构建出来的内核得多大……而且绝大部分驱动你也用不上啊……

N 卡驱动一般是编译为模块的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题