
我嘗試在維基百科和其他網站上閱讀有關 BIOS 的內容,但我了解不多。誰能告訴我什麼是 BIOS 以及為什麼我們需要它? BIOS 是否存在於所有電子設備中,還是僅存在於電腦和智慧型手機中?
答案1
PC 由複雜的程式執行,稱為作業系統 (OS)。它們託管在 RAM 記憶體中,即易揮發的,IE,當您關閉電源時,它會丟失其內容。
那麼問題來了:當電腦電源開啟時,由於RAM將是空的,電腦將如何啟動?
BIOS 讓這成為可能。這是一個非常小的程序,託管在非揮發性唯讀記憶體(=ROM)上,IE,關閉電源後它不會消失。它透過特殊電路自動從 ROM 載入到 PC 上,以便 PC 可以開始啟動過程。
由於ROM內存量很小,所以它是一個小程序,它能做的事情有限,基本上就是三件事:
- 它執行自檢;
- 它檢查週邊設備(磁碟、視訊、鍵盤等)是否正常運作,並初始化它們;
- 確定更進階的初始化階段可能駐留的位置清單(您的硬碟、CD-ROM 磁碟、USB 記憶棒、網路),並嘗試將控制權傳遞給這個新階段。如果成功,啟動過程將繼續,否則它將停止並顯示一些難以理解的錯誤訊息。
我對第二階段含糊其辭:基本上,新階段位於硬碟或CD-ROM或USB記憶棒的一個特殊位置,稱為主開機記錄(MBR)。這是一個微小的例如,磁碟的(446 位元組)部分,它告訴電腦如何將磁碟劃分為片(技術術語為分割區),以及可以在這些片中的哪一個片上找到上電過程的下一階段。最後一個階段是最後一個階段,它將負責將真正的作業系統(Windows、Mac Os、Linux、Unix...)載入到電腦的 RAM 中。而且,從那時起,一切照舊。
答案2
好問題。
1978 年,當我開始第一份程式設計工作時,我們擁有一台房間大小的迷你電腦。一個HP2100。當它崩潰時,我們需要仔細設定前面板上的 16 個開關,然後切換一個開關來載入該記憶體字,並重複約 20 次。如果你犯了哪怕是最小的錯誤,你就必須重新開始。
必須手動編寫的是一個非常簡單的程序,稱為引導程式。加載後,我們將單擊運行開關來執行此代碼,程式將啟動紙帶讀取器並將長紙帶上的打孔讀取到記憶體中。
這張紙帶上有另一個更複雜的程序,它是一個簡單的程序BIOS,或基本輸入/輸出系統。該程式知道如何存取硬碟,例如,它知道如何來回移動讀寫頭,以及如何猛撲包含另一個程式(更大的程序,即作業系統)的資料磁區。如果出現問題,它有一個非常簡單的命令列工具來詢問記憶體中的內容並手動編輯它。
所以這是一個三步驟過程,多年來一直沒有改變。
現在,回到這些早期的 PC,微型電腦上的 BIOS 與今天有些不同。
當您在命令列中鍵入命令(例如 dir 列出磁碟上的檔案)時,作業系統會根據檔案系統計算要查找的位置,然後要求 BIOS 實際執行使硬體移動和旋轉的工作磁碟來取得特定的數據塊。同樣,BIOS 為串行端口提供了低級接口,用於在屏幕上顯示信息、獲取擊鍵、將數據發送到打印機等。字元發送到螢幕上,這項工作就交給了BIOS,它知道如何操作串行I/O 電路。
所以 BIOS 是抽象層,可以運作每千次展示費用和MSDos在不同的硬體上,例如不同大小和類型的硬碟和軟碟。
如今,BIOS 與此類似,但一旦載入了作業系統,大多數作業系統就會將 BIOS 硬體驅動程式替換為更緊密地整合到作業系統中的驅動程式。這樣做是為了獲得更好的性能,即更快地做同樣的事情。
國際商業機器公司發布了 IBM PC 的 BIOS 原始碼,以便工程師可以研究和修改它。有一年冬天,我還拆解了 MSDos,整個該死的作業系統,而不是今天被許可做的事情,看看它是如何運作的。我花了幾個月的時間,使用了一些聰明的基本程式來反彙編它,並費了很多心思來嘗試理解程式碼在做什麼,但最終它讓我對作業系統到底做了什麼有了深入的了解,並且它是如何做到的。這不是魔法。它只是一堆精心編寫的函數,用於獲取高級命令並將其轉換為硬體操作。 BIOS 也不例外。它有很多你可以要求它做的事情,以及可以為各種硬體配置它的方法。
我想了解所有這些東西的來源歷史可能會幫助您更好地理解這種現代魔法。如今,該代碼是專有的,因此大多數工程師無法知道它是如何工作的。
答案3
所以,簡而言之。
BIOS 的意思是基本輸入/輸出系統,它是可編程設備中最基本的程序,例如計算機中的主機板(個人電腦、筆記型電腦、大型機和其他計算機,也包括手機和其他電子玩具,如平板電腦)和所有其他類型的硬件,如 DVD、BD 等
BIOS 直接儲存在裝置中並控制其行為。主機板BIOS具有簡單的介面來配置主機板。