驱动程序如何成为操作系统的一部分?

我知道操作系统内核是由驱动程序组成的,但驱动程序如何成为操作系统的一部分?内核是否自行反编译,然后添加驱动程序并重新编译自身?,或者是内核的驱动程序插件?,有人告诉我,对于大多数操作系统来说,驱动程序实际上已成为内核的一部分,但每当我编译ac程序时,它就变成了一个普通的可执行文件

驱动程序体系结构完全取决于您的操作系统。 对于在计算机上运行的大多数操作系统(而不是嵌入式设备),将驱动程序视为内核的“插件”非常准确。 也就是说,有许多较旧,较小且不太复杂的操作系统需要您在内核中构建驱动程序 – 无需动态加载。 目前,一些操作系统支持“用户模式”驱动程序,这些驱动程序根本不在内核内存空间中运行。

这取决于o / s。

传统上,内核是一个包含所有驱动程序的单片可执行文件 – 并且在需要添加新驱动程序时重建,包括新驱动程序的代码以及所有旧驱动程序。

在现代Linux中,也可能是其他o / s,驱动程序在需要时由内核动态加载。 驱动程序是以允许内核执行加载的forms创建的; 通常,这意味着在共享对象或动态链接库格式中。

在像Linux这样的操作系统中,驱动程序实际上可以编译到内核映像中。 虽然即使是静态链接,但它们可能会展示插件式架构,允许人们轻松地仅包含所需的驱动程序。

或者,它们在引导时或在某些系统级软件需要时按需动态链接和加载。