固件——Firmware;(相當於PC:BIOS)可以理解為手機的最底層操作系統,主要是用來直接驅動和調用系統硬件,固件升級主要是從硬件底層增加系統功能,增強系統穩定性,以及更好的兼容性。
操作系統與固件間最大的區別是:
1、對於獨立可操作的電子產品,固件一般指它的操作系統(“擔任着一個數碼產品最基礎、最底層工作的軟件才可以稱之為固件”,這和操作系統的定義很一致)。比如PSP的固件,就是指PSP 的操作系統。同理,IPHONE的固件也是其操作系統,路由器的固件就是路由器的操作系統,MP4的固件就是MP4的操作系統等。
2、而對於非獨立的電子產品,比如硬盤、鼠標、BIOS、光驅、U盤等設備,固件就是指其最底層的,讓設備得以運行的程序代碼。
固件(Firmware)就是寫入EROM(可擦寫只讀存儲器)或EEPROM(電可擦可編程只讀存儲器)中的程序。固件擔任着一個系統最基礎最底層工作的軟件。而在硬件設備中,固件就是硬件設備的靈魂,因為一些硬件設備除了固件以外沒有其它軟件組成,因此固件也就決定着硬件設備的功能及性能
固件,是一種嵌入在硬件設備中的軟件。通常它是位於專用集成電路(ASIC)或可編程邏輯器件(PLD)之中的閃存或EEPROM或PROM里,有的可以讓用戶更新。可以應用在非常廣泛的電子產品中,從遙控器、計算器到電腦中的鍵盤、硬盤,甚至工業機器人中都可見到它的身影。
顧名思義,固件的所在是位於軟件和硬件之間的。像軟件一樣,他是一個被電腦所運行的程序。然而它是對於硬件內部而言更加貼近以及更加重要的部分,而對於外在的世界而言較無重要的意義。
主板,RAM,硬盤,洗衣機,按鍵,汽車和數碼相機是硬件的示例;
而操作系統,定時和控制機制以及BIOS是固件的示例。
驅動(Drive):驅動程序即添加到操作系統中的一小塊代碼,其中包含有關硬件設備的信息。當計算機程序請求與某個硬件設備交互時,設備驅動程序充當硬件設備與使用它的程序之間指令的轉換器。
操作系統並不支持機器上的所有硬件,所以一般來講硬件廠商都要為自己的硬件編寫驅動程序。
每個驅動程序都旨在為特定或一組設備工作。在計算機上,驅動程序使用各種總線接口來聯系設備。此外,驅動程序一般不直接與用戶交互,所以很多用戶完全不知道它們的存在。
驅動程序的開發需要非常小心,因為它直接與硬件打交道,同時也與操作系統打交道。如果設備驅動程序出現問題,可能會導致系統崩潰,這就是為什么需要專業人員或團隊來為設備編寫驅動程序的原因。
但是為什么不把 Firmware 做的很完美,做的不需要驅動支持呢?因為有不同的操作系統,而這些操作系統對於操作硬件的方式完全不同。所以不同操作系統的驅動是不能兼容的,原因就是驅動是為操作系統服務的。