版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PC 32位操作系統(tǒng)啟動過程朱韜朱韜2015-01-202015-01-20課程內容lPCPC系統(tǒng)啟動模式歷史系統(tǒng)啟動模式歷史lPCPC主機硬件結構主機硬件結構lBIOSBIOS主要功能主要功能l相關概念相關概念lPCPC系統(tǒng)物理地址空間(系統(tǒng)物理地址空間(X86 32X86 32位)位)lPCPC保護模式內存地址轉換保護模式內存地址轉換lMBRMBRlDOSDOS啟動啟動l操作系統(tǒng)啟動操作系統(tǒng)啟動l操作系統(tǒng)啟動最終結果操作系統(tǒng)啟動最終結果l好書推薦好書推薦PC系統(tǒng)啟動模式歷史lDOSDOS時代(時代(它不能算是真正的操作系統(tǒng)它不能算是真正的操作系統(tǒng))uMAC和磁帶(都以為是喬布斯最先實現的)
2、uPC和軟盤 (IBM實現,這時還沒微軟什么事)uPC、BIOS、MBR和硬盤(也沒微軟什么事)lPCPC操作系統(tǒng)時代操作系統(tǒng)時代uPC、BIOS、MBR、硬盤和單個kerneluPC、BIOS、MBR、硬盤、bootloader和多個kernellPCPC、EFI EFI / / UEFIUEFI、GUIDGUID、storagestorage、bootloaderbootloader和多個操作和多個操作系統(tǒng)環(huán)境系統(tǒng)環(huán)境PC主機硬件結構90后00后BIOS主要功能l自診自診斷程斷程序:通過讀取序:通過讀取CMOS RAMCMOS RAM中的內容識別硬件配置,并對中的內容識別硬件配置,并對其其
3、進行自檢和初始化進行自檢和初始化lCMOSCMOS設置設置程序:引導過程中,用特殊熱鍵啟動,進行設置后,程序:引導過程中,用特殊熱鍵啟動,進行設置后,存存入入CMOS RAMCMOS RAM中中l(wèi)系統(tǒng)系統(tǒng)自舉自舉裝載程序:在自檢成功后將磁盤相對裝載程序:在自檢成功后將磁盤相對0 0道道0 0扇區(qū)上扇區(qū)上MBRMBR的的引導程序裝入內存,讓其運行以裝入操作系統(tǒng)(引導程序裝入內存,讓其運行以裝入操作系統(tǒng)(歷史原因很復歷史原因很復雜雜)l主要主要I/OI/O設備的驅動程序和中斷服務:由于設備的驅動程序和中斷服務:由于BIOSBIOS直接和系統(tǒng)硬件直接和系統(tǒng)硬件資源打交道,因此總是針對某一類型的硬件系
4、統(tǒng),而各種硬件資源打交道,因此總是針對某一類型的硬件系統(tǒng),而各種硬件系系統(tǒng)又各有不同,所以存在各種不同種類的統(tǒng)又各有不同,所以存在各種不同種類的BIOSBIOS,隨著硬件技術,隨著硬件技術的的發(fā)展,同一種發(fā)展,同一種BIOSBIOS也先后出現了不同的版本,也先后出現了不同的版本,新版本的新版本的BIOSBIOS比比起起老版本來說,功能更強(經典廢話)老版本來說,功能更強(經典廢話)最煩人的概念l實模式和保護模式實模式和保護模式 (兼容是個政治問題兼容是個政治問題)l物理存儲器物理存儲器 (內存條內存條)l物理地址物理地址 (操作系統(tǒng)看不見操作系統(tǒng)看不見)l虛擬存儲器虛擬存儲器 (內存通貨膨脹后
5、的解決方法內存通貨膨脹后的解決方法)l虛擬地址虛擬地址 / / 線性地址線性地址 (一眼看不清一眼看不清)l邏輯地址(哥只是個傳說)邏輯地址(哥只是個傳說)實模式lIntel 8086Intel 8086u16位寄存器,尋址能力 64K(可以支持文本圖形)u20位地址線,尋址能力 1M(當時可不得了)u地址線和寄存器有矛盾,因此產生了段(64K)u16位基地址左移4位+16位偏移 = 20位地址uDOS和Windows2.0 3.1lIntel 80286Intel 80286u地址總線由原來的20根發(fā)展為24根,尋址能力16M(可以支持真正的圖形界面)uCPU通過A20 GATE來控制A20
6、地址線u為了向下兼容,依然只是用20根地址線,多出來的4位地址造成了后來許多運行時BUG,因此286是個失敗的產品保護模式lIntel 80386+ Intel 80386+ (LinuxLinux誕生與此誕生與此)u32位寄存器,4G尋址(順理成章的事)u32位地址線,4G尋址(當時被認為足夠用了)u為了向下兼容,A20地址被用作實模式和保護模式的開關u沒有實際的內存段(段長可變,最大4G)u全局描述符表(GDT) 和局部描述符表(LDT)重要概念點(繞口令)l線性地址空間:指線性地址空間:指linuxlinux系統(tǒng)中的虛擬地址空間,但虛擬地址系統(tǒng)中的虛擬地址空間,但虛擬地址不是線性地址!不
7、是線性地址?。]有更好的表述了)(沒有更好的表述了)lcpucpu尋址使用的是物理地址。所以在使用尋址使用的是物理地址。所以在使用cpucpu尋址前要把地址轉尋址前要把地址轉換好。換好。(基本沒有讓你使用(基本沒有讓你使用cpucpu尋址的可能)尋址的可能)l物理內存中的高端內存是物理內存中的高端內存是DDRDDR減去減去896M896M后多出來的那一段。后多出來的那一段。虛虛擬地址里面的高端內存是指用于映射物理高端內存的虛擬地址擬地址里面的高端內存是指用于映射物理高端內存的虛擬地址空間空間。不過高端內存被映射到用戶空間,那就是另外一回事了。不過高端內存被映射到用戶空間,那就是另外一回事了(進
8、程間通信時使用進程間通信時使用)。)。l內核空間是可以訪問用戶空間的,不過不是通過虛擬地址直接內核空間是可以訪問用戶空間的,不過不是通過虛擬地址直接訪問的(訪問的(用戶空間是內核空間映射出來的用戶空間是內核空間映射出來的,我花了一年時間才,我花了一年時間才理解)。理解)。l內存映射,在不同的情境中意義也不相同。內存映射,在不同的情境中意義也不相同。(看不明白的時候(看不明白的時候大多就是出現內存映射了)大多就是出現內存映射了)PC系統(tǒng)物理地址空間(X86 32位)PC虛擬地址與物理地址轉換MBR功能 硬盤的0柱面、0磁頭、1扇區(qū)稱為主引導扇區(qū)(也叫主引導記錄MBR)。它由三個部分組成,主引導代
9、碼、硬盤分區(qū)表DPT(Disk Partition table)和分區(qū)有效標志(55AA)。 在總共512字節(jié)的主引導扇區(qū)里主引導程序(boot loader)占446個字節(jié),第二部分是Partition table區(qū)(分區(qū)表),即DPT,占64個字節(jié),硬盤中分區(qū)有多少以及每一分區(qū)的大小都記在其中。第三部分是magic number,占2個字節(jié),固定為55AA。MBR結構DOS硬盤分區(qū)早期PC系統(tǒng)啟動過程l DOSDOS系統(tǒng)啟動系統(tǒng)啟動成熟的PC系統(tǒng)啟動過程(Win95+、Linux)l 無無bootloaderbootloader的系統(tǒng)啟動(裸奔)的系統(tǒng)啟動(裸奔)l 有有bootloade
10、rbootloader的單內核單操作系統(tǒng)的啟動的單內核單操作系統(tǒng)的啟動l 有有bootloaderbootloader的多內核單操作系統(tǒng)的啟動的多內核單操作系統(tǒng)的啟動l 有有bootloaderbootloader的多內核多操作系統(tǒng)的啟動的多內核多操作系統(tǒng)的啟動l 高級高級bootloaderbootloader啟動多種操作系統(tǒng)啟動多種操作系統(tǒng)l UEFIUEFI模式下的模式下的bootloaderbootloader啟動多種操作系統(tǒng)啟動多種操作系統(tǒng)無bootloader的系統(tǒng)啟動(kernel 0.11)bootsect.sbootsect.s:內核引導:內核引導程序保存在程序保存在MBRM
11、BR中中setup.ssetup.s:操作系統(tǒng)加載:操作系統(tǒng)加載程序,通常在程序,通常在bootloaderbootloader中中head.shead.s:是:是systemsystem模塊模塊的最開始部分,使系統(tǒng)的最開始部分,使系統(tǒng)進入保護模式下運行進入保護模式下運行系統(tǒng)啟動過程中的控制權變化主機加電BIOS加載入內存實模式運行設備自檢BIOS運行搜尋啟動設備運行引導代碼將啟程引導序加載進內存從MBR加載啟動引導代碼啟動引導程序接管主機控制權運行并開啟保護模式加載系統(tǒng)內核系統(tǒng)內核接管主機控制權運行內核操作系統(tǒng)啟動完成運行init進程操作系統(tǒng)初始化有bootloader的系統(tǒng)啟動bootlo
12、ader和MBR以及各分區(qū)間的關系Linux kernel 2.2+ 啟動過程MBR系統(tǒng)啟動后物理地址與虛擬地址的映射關系 物理地址有物理地址有896M896M直接映射直接映射到虛擬地址的內存空間,這是到虛擬地址的內存空間,這是一一對應的映射,只有起始地一一對應的映射,只有起始地址不一樣,偏移是一樣的。址不一樣,偏移是一樣的。 用戶區(qū)的代碼也是放在這用戶區(qū)的代碼也是放在這段物理地址里面的,就是說物段物理地址里面的,就是說物理地址可以進行二次映射。理地址可以進行二次映射。 多出來的叫做高端內存,多出來的叫做高端內存,如果你使用如果你使用vmallocvmalloc申請空間,申請空間,就會在高端內存中分配,如果就會在高端內存中分配,如果你使用你使用kmallockmalloc申請空間,就會申請空間,就會在小于在小于896896的內存中分配
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版實習就業(yè)服務合同范本(2025年度)2篇
- 2025版大型養(yǎng)殖場與超市直供鮮蛋銷售合同3篇
- 二零二五年計算機耗材及配件銷售合同3篇
- 二零二五版嬰幼兒奶粉電商平臺銷售合同模板頁2
- 2025版學校教師培訓與職稱評定合作合同3篇
- 農業(yè)機械化與農業(yè)科技創(chuàng)新發(fā)展考核試卷
- 單板加工企業(yè)綠色生產與環(huán)保責任落實考核試卷
- 2025版塔吊租賃合同樣板(安全與環(huán)保并重)3篇
- 2025年醫(yī)療耗材供應合同
- 礦長聘用合同二零二五年度執(zhí)行范本(礦山行業(yè)適用)3篇
- 2023-2024學年度人教版一年級語文上冊寒假作業(yè)
- 軟件運維考核指標
- 空氣動力學仿真技術:格子玻爾茲曼方法(LBM)簡介
- 對表達方式進行選擇與運用
- GB/T 18488-2024電動汽車用驅動電機系統(tǒng)
- 投資固定分紅協議
- 高二物理題庫及答案
- 職業(yè)發(fā)展展示園林
- 七年級下冊英語單詞默寫表直接打印
- 2024版醫(yī)療安全不良事件培訓講稿
- 中學英語教學設計PPT完整全套教學課件
評論
0/150
提交評論