先亮答案:能
基礎知識
回答這個問題,得理清幾個概念。
硬件不多述,就是你能看得見摸得著的東西,比如CPU、存儲、主板、網(wǎng)卡等。
固件,就是硬件廠商寫死的軟件,一般不能更改或者很難更改,比如電腦主板自帶的BIOS。 驅(qū)動:和固件類似,但是允許用戶更新、卸載的,操作系統(tǒng)通過硬件驅(qū)動和硬件打交道。比如英偉達的顯卡驅(qū)動。 操作系統(tǒng),比如Linux,Win7,或者手機了的Android,將底層硬件細節(jié)封裝起來。 - 最上面的是
應用軟件,在操作系統(tǒng)基礎上編寫的應用程序,比如微軟的辦公Word,比如Google的Chrome瀏覽器。
軟件里面,由底向上,用戶控制(安裝、卸載、升級)的自由度越來越高。
再說這個問題:
固件和操作系統(tǒng)沒關(guān)系,肯定能脫離操作系統(tǒng)而存在。無論你是安裝Windows,還是Linux,或是BSD,主板的BIOS都在那里。
因為操作系統(tǒng)將很多底層細節(jié)(比如不同的硬盤,不同廠商的顯示器,不同型號的的主板等)封裝了起來,依賴于操作系統(tǒng),應用軟件開發(fā)更加容易、有效率。但是某些場景下,應用軟件也可以脫離操作系統(tǒng)二存在。比如工業(yè)控制領域。以單片機為例,寫好跑馬燈的匯編程序,用燒錄軟件將二進制文件燒錄到單片機里面,就可以正確執(zhí)行。
總結(jié):
軟件不能脫離硬件存在,但只要有未損壞的硬件,將程序語言翻譯成硬件能讀取的指令(舉例:C語言編譯到匯編語言,再鏈接生成二進制文件,將二進制文件放到硬件能正確讀取的存儲空間上),你的程序就可以執(zhí)行起來了。
可以依賴于操作系統(tǒng),也可以獨立與操作系統(tǒng),具體根據(jù)場景需求決定。