回文章列表
作者WolfLord.bbs@ptt.cc (呆呆小狼�� �� ��N�� �� ) 看板: linux
標題Re: [問題] 作業系統、BIOS及編譯器的觀念問題
時間批踢踢實業 (2008/08/05 Tue 23:29:06)
: 推 cole945:(2)那東西叫 Bootstrap Loader或簡稱bootloader..          08/05 21:52
: → cole945:沒有什麼還分windows/linux..                             08/05 21:52
不,是有分的。這牽涉到dos的問題
BIOS的啟動過程一直是兼容Dos的啟動流程,而Windows的啟動流程更是從Dos
繼承過來的。BIOS會去尋找媒體的第一塊區塊(0號)稱之為Master Boot Record
(MBR) 裡面有一個一個Block(512Byte)的程式碼用來替換BIOS的啟動程式。然後
這個啟動程式再去讀取更複雜的啟動程式(含有FAT或NTFS的檔案系統的操控程式)
然後再把控制權交給這個新程式,這個新程式再去讀取可以處理啟動SCRIPT與PE執
行碼的啟動程式,然後才把DOS或WINDOWS整各載入記憶體中。 這整個過程就像穿襪
子穿鞋子綁帶子一樣。一個連動一個,所以稱之為Boot(靴)

而Linux以及PC UNIX的啟動就沒有這麼囉唆,為了因應PC BIOS的愚蠢啟動起點,MBR
的部份雖然一樣,但是MBR載入的就是Loader了,這個Loader不需要完全懂檔案系統。
他只要認得Kernel就可以了,然後把Kernel在RAM裡面展開,後面就交給Kernel去搞。
所以真的只是一個Loader而已.......

: → typeotoco:EFI 是新式的BIOS, 跟MAC無關, MAC只是有在用            08/05 22:12
EFI不是新式的BIOS這麼簡單一種說法 XD
所謂的EFI比較像早期的APPLE ][電腦上面的AppleSoft。他是一個完整可以執行Script
的程式,可以接受人給的命令,也可以自發性的執行一些預設程式。即使沒有OS被載入
他也已經具備獨立運算處理能力了。嚴格來說是一種固態(內嵌載電腦軔體內)的OS
(作業系統),目前也越來越多PC支持EFI,但是為了相容數十年前微軟所犯下的愚蠢
錯誤規範(1980年代比爾蓋子也說過人類不需要大過於640K的記憶體,所以這不是單
一錯誤 :P )所以PC的EFI SHELL多半支持原生的BIOS模仿動作,所以被稱之為EFI
BIOS。而目前純種的EFI除了APPLE之外其實不少大型主機也是用EFI,但是一般人能接
觸到的還是以APPLE為大宗。

對EFI有興趣可以參考下列連結:
http://www.intel.com/technology/efi/
http://en.wikipedia.org/wiki/Extensible_Firmware_Interface

--
       春花聞杜鵑,秋月看歸燕。人情薄似雲,風景疾如箭。
           留下買花錢,趲入種桑園。茅苫三間廈,秧肥數頃田。
               床邊,放一冊冷淡淵明傳;窗前,鈔幾聯清新杜甫篇。 ~WolfLord~

--
※ 發信站: 批踢踢實業坊(ptt.cc) 
◆ From: 220.130.59.234
mazaria:比爾蓋茲說他沒說過那一句話...                           08/05 23:29
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻