大家好,我是良许。
不管我们使用什么操作系统,无论是 Windows、macOS 还是 Linux ,里面都安装了许多软件、驱动程序和固件。但是,这三者概念有区别呢?
我在朋友圈做了个小调查,发现很多人都不知道他们的关系,所以我写了这篇文章,给大家一个简单的科普。
[En]
I did a little survey in moments and found that many people didn’t know their relationship, so I wrote this article to give you a simple popular science.
文字描述太抽象了。让我们直接去看漫画吧。
[En]
The text description is too abstract. Let’s go straight to the comics.
好了,看完漫画,我们来看看正式的讲解。
[En]
All right, after reading the cartoon, let’s take a look at the formal explanation.
简单地说,固件、驱动程序和软件的根本区别在于它们的设计目的。
[En]
To put it simply, the fundamental difference between firmware, drivers, and software lies in their design purpose.
- 固件是一种赋予设备硬件生命的程序
[En]
firmware is a program that gives life to the hardware of a device*
- 驱动程序是操作系统和硬件组件之间的中介
[En]
the driver is the intermediary between the operating system and hardware components*
- 软件可以间接操作硬件
1. 固件
固件(Firmware)就是写入 ROM (只读存储器)中的程序,固件担任着一个系统最基础最底层工作,直接控制硬件,比如计算机上电后第一个启动的程序 BIOS ,它可以与硬件交互,并检查它是否有任何错误。
BIOS 调用另一个称为引导加载程序的程序,该程序执行唤醒在硬盘驱动器内休眠的操作系统并将其放入随机存取存储器 (RAM) 的工作。
我们可以在许多设备上看到固件,包括计算机、手机、遥控器、游戏机、智能手表、USB 驱动器和各种嵌入式系统。即使是电视遥控器也有一个预装的固件,可以实现你按下按钮的时候电视换台操作。
2. 驱动
驱动(Drive):驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。当计算机程序请求与某个硬件设备交互时,设备驱动程序充当硬件设备与使用它的程序之间指令的转换器。
操作系统并不支持机器上的所有硬件,所以一般来说,硬件制造商必须为自己的硬件编写驱动程序。
[En]
The operating system does not support all the hardware on the machine, so generally speaking, hardware manufacturers have to write drivers for their own hardware.
每个驱动程序都设计用于特定的设备或设备组。在计算机上,驱动程序使用各种总线接口来联系设备。此外,司机一般不与用户直接互动,因此许多用户完全不知道他们的存在。
[En]
Each driver is designed to work for a specific device or group of devices. On a computer, the driver uses various bus interfaces to contact the device. In addition, drivers generally do not interact directly with users, so many users are completely unaware of their existence.
驱动程序开发需要非常小心,因为它直接与硬件和操作系统打交道。如果设备驱动程序有问题,可能会导致系统崩溃,这就是为什么需要专业人员或团队为设备编写驱动程序。
[En]
Driver development needs to be very careful because it deals directly with the hardware as well as with the operating system. If there is a problem with the device driver, it can cause the system to crash, which is why professionals or teams are needed to write drivers for the device.
但是为什么不把 Firmware 做的很完美,做的不需要驱动支持呢?因为有不同的操作系统,而这些操作系统对于操作硬件的方式完全不同。所以不同操作系统的驱动是不能兼容的,原因就是驱动是为操作系统服务的。
3. 软件
与硬件不同,软件运行在计算机上,看不见,摸不着。
[En]
Unlike hardware, software runs on a computer, invisible and untouchable.
操作系统也是一种软件,并为安装在操作系统上的其他软件提供工作空间。前面提到的设备驱动程序实际上是一种软件,但它有一个更细分的类别,称为系统软件。
[En]
The operating system is also a software and provides a workspace for other software installed on the operating system. The device driver mentioned earlier is actually a kind of software, but it has a more subdivided category, called system software.
如果用户编写了一个软件,想要操作硬件(比如光驱、U盘等),他必须通过操作系统提供的接口来实现,而无法直接与硬件交互。
值得注意的一点是,软件是一个广义的术语。我们在日常使用中所说的「软件」一般是指应用软件,比如:微信,QQ,浏览器等等。
还有什么你不明白的吗?欢迎在评论区交流。
[En]
Is there anything else you don’t understand? welcome to communicate in the comment area.
原创不易,欢迎点赞,转发朋友圈,谢谢!
[En]
Original is not easy, welcome to like, repost moments, thank you!
Original: https://www.cnblogs.com/yychuyu/p/15590252.html
Author: 良许Linux
Title: 图解固件、驱动、软件的区别
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524333/
转载文章受原作者版权保护。转载请注明原作者出处!