![系统软件和设备驱动程序](https://linux22.com/image/1404354/%E7%B3%BB%E7%BB%9F%E8%BD%AF%E4%BB%B6%E5%92%8C%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我听说软件总共有两种类型。1- 系统软件(如操作系统)和 2- 应用程序(如视频文件播放器),但驱动程序呢?
由于系统软件的工作是操作和控制硬件,而驱动程序几乎也做同样的事情,所以我很怀疑。
设备驱动程序是一种系统软件吗?或者它们只是应用程序?
答案1
答案2
软件有很多种类型。操作系统是一,应用是另一个编译器第三个编程语言(像 java)是另一个。
软件可以定义为从某个存储设备加载到主内存中并在那里执行的程序。OS 内核只是第一个执行此操作的程序。(暂时忽略 BIOS)。
固件是一款软件直接加载到非主内存中。例如,您在 ssd 上执行的固件更新会加载到驱动器本身的某些闪存中。从技术上讲,BIOS 更新也是固件,因为它会加载到主板上的闪存中。问题是,当您启动系统时,它会将 BIOS 的副本加载到主内存中,以便在“主”操作系统准备好加载之前,它可以对硬件执行一些基本操作。UEFI 是旧版 BIOS 的更高级版本,它可以做更多的事情(甚至包括一个简单的 shell)。
因此,回到您关于设备驱动程序的问题,是的,它们是操作系统的一部分。但是,这是复杂的部分,许多驱动程序还包括与之捆绑的应用程序。AMD 视频驱动程序包括其他应用程序,例如图形控制面板、视频编解码器和中间件,以允许使用 GPU 作为协处理器。HP 打印机“驱动程序”往往包括 10MB 的实际驱动程序和几百兆字节的“有用应用程序”。
让事情变得更加复杂的是,司机? 它是允许操作系统与特定的真实或虚拟硬件进行通信并控制该硬件的软件。旧模式是,一个硬件,比如打印机,拥有打印所需的所有电子设备和固件 - 驱动程序只是用来让操作系统沟通要打印的内容并获取打印机的状态。随着时间的推移,计算机的速度越来越快,打印机人员意识到可以将所有处理工作都转移到 PC 上,而不是在打印机上安装昂贵的处理器。所以他们制造了一个软件驱动程序将所有文档处理转移到 PC,打印机只需打印完成的输出即可。软件突袭;raid 驱动程序使用主 RAM 和 CPU 来进行所有计算,而不是单独卡上的专用硬件。
总而言之,软件有很多种类型,而且这些软件可以根据用途进行分类,因此您可以将驱动程序视为一个独立的类别。