為什麼需要bootloader

2021-07-09 13:50:51 字數 712 閱讀 8862

受微控制器和arm7等小型cpu裝置程式設計思維的影響,開始對嵌入式linux和pc中存在bootloader/bios的意義有了疑問

bootloader到底有沒有必要存在呢?答案是:大部分情況下是有必要的。

首先,bootloader的作用是在硬體商店後執行的第一段軟體**,也叫引導引導程式,是在作業系統核心執行之前執行的一小段程式,這小段程式的作用一般是初始化硬體裝置,比如記憶體啊,堆疊等等,從而將系統的硬體環境程式設計一種合適的狀態,然後再引導載入作業系統,如linux或windows。

乍一看,其實挺有用,但這是一定必須的嗎?顯然不是,因為完全可以上電直接執行作業系統,當然這個作業系統的開頭必須要包含上述bootloader的功能。這一點在微控制器和arm7中使用keil程式設計環境能理解。

但是,問題來了,如果我們想公升級作業系統呢?我們想公升級應用程式呢?這一點對於windows或者linux都是很常見的,如果沒有bootloader,那麼我們必須要找到燒寫電腦或者cpu的燒寫工具,事實上,這對於生產商來講,都不是一件容易的事情。但是有bootloaer就很方便了,我們只需要將公升級後的作業系統放到「硬碟」或nandflash中的某個位置,然後斷電重啟一下,bootloader就能在引導系統的同時,完成了對作業系統的公升級。這樣是不是很方便了。

後續,目前有一些手機廠家對bootloader「上鎖」,這個就相當於是給bootloader引導上了把鎖,公升級的作業系統如果是自家的,自然是有「解鎖」的鑰匙的,但是是其他家的,那就不行了。

為什麼需要PKI

為什麼需要pki 隨著電子商務的迅速發展,資訊保安已成為焦點問題之一,尤其是網上支付和網路銀行對資訊保安的要求顯得更為突出。為了能在網際網路上開展安全的電子商務活動,公開金鑰基礎設施 pki,public key infrastructure 逐步在國內外得到廣泛應用。我們是否真的需要pki,pki...

為什麼需要prototype

1.new object var newobj new object newobj.name keti newobj.color red newobj.changecolor function color 這種方法看上去很蠢,所以我們找到另一種方法 使用literal直接建立,看上去要優雅得多 2....

為什麼需要ALSQL

alsql是乙個通用的資料庫查詢工具。支援多種主流資料庫 alsql支援oracle sql server mysql postgresql sqlite等多種主流的商業資料庫和開源資料庫。支援直連模式 使用直接模式,無需安裝廠商或第三方的資料庫連線驅動,alsql直接連線資料庫,方便快捷,沒有安裝...