




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
linux的x86架構(gòu)初始化
——分頁機制的初始化問題1:標(biāo)志寄存器有哪些常用的標(biāo)志位?CF、PF、ZF、SF、OF、DF進(jìn)位、奇偶、零、符號、溢出、方向DF(方向標(biāo)志位)控制每次操作后si、di的增減1、X86架構(gòu)下的從開機到Start_kernel啟動的總體過程
這個過程簡要概述為:開機——>BIOS——>GRUB/LILO——>Linux
Kernel其運行的流程圖和重要函數(shù)如下圖所示:GRUB(GRand
Unified
Bootloader)是當(dāng)前l(fā)inux諸多發(fā)行版本默認(rèn)的引導(dǎo)程序。1..boot/header.S:start_of_setup2..boot/main.c:main()->pm.c:go_to_protected_mode()3..boot/pmjump.S:protected_mode_jump4..boot/compressed/head_32.S:startup_32()->decompress_kernel()5..kernel/head_32.S:startup_32()->head32.c:i386_start_kernel()boot/compressed/head_32.S:startup_32()內(nèi)核被解壓至RAM后再調(diào)用/arch/i386/kernel/head.S文件中的startup_32例程,這個新的startup_32例程會初始化頁表,啟用內(nèi)存分頁機制。(4)設(shè)置管理內(nèi)存的分頁處理機制
setup_paging:
movl$1024*5,%ecx
//對5頁內(nèi)存(1頁目錄,4頁頁表)清零
xorl%eax,%eax
//eax內(nèi)容清空
xorl%edi,%edi
//頁目錄從0x0000開始
cld;rep;stosl
//eax內(nèi)容存到es:edi所指的內(nèi)存處,且edi增4
//以下四項為設(shè)置頁目錄表中的項,_pg_dir地址為0x0000,即頁目錄地址
movl$pg0+7,_pg_dir
//pg0在前邊被指定為0x1000,所以第一個頁表項設(shè)定為0x00001007
movl$pg1+7,_pg_dir+4
//設(shè)置頁目錄中的第二個頁表項
movl$pg2+7,_pg_dir+8
//設(shè)置頁目錄中的第三個頁表項
movl$pg3+7,_pg_dir+12
//設(shè)置頁目錄中的第四個頁表項
//填寫4個頁表中的頁內(nèi)容
movl$pg3+4092,%edi
//edi設(shè)定為最后一頁頁表的最后一項
movl$0xfff007,%eax
//最后一項對應(yīng)的物理內(nèi)存是0x0xfff000,屬性標(biāo)志為0x07,表示頁存在、用戶可讀寫
std
//方向位置位
1:stosl
//eax內(nèi)容存到es:edi所指的內(nèi)存處,且edi增4
subl$0x1000,%eax
//物理地址減4K,處理下一頁。因為頁表中的每一項都是代表一頁的。
jge1b
//若小于0表示都已填寫頁表ok
xorl%eax,%eax
//頁目錄地址在0x0000,所以這里對eax寄存器清空
movl%eax,%cr3
//將頁目錄表地址存入CR3中
movl%cr0,%eax
//
orl$ox80000000,%eax
//開啟PG標(biāo)志
movl%eax,%cr0
//表示啟動使用分頁處理
ret
//謝謝!問題2:Jge指令是什么?怎么實現(xiàn)的?Jge是大于等于則跳轉(zhuǎn)(jumpifgreaterthanorequalto)指令該指令通過判斷SF異或OF是否=0來判斷是否大于等于.SF=0時:大于等于。SF=1時:小于。OF=0時:未溢出。OF=1時:溢出。其中在Intel官方文檔《Volume2AInstructionSetReference(A-M)》中提到cld指令
CLD:CLD:
Description
ClearstheDFflagintheEFLAGSregister.WhentheDFflagissetto0,stringoperations
incrementtheindexregisters(ESIand/orEDI).Operationisthesameinall
non-64-bitmodesand64-bitmo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- apec商務(wù)旅行卡申請流程
- 2024-2025學(xué)年高中化學(xué) 第一章 化學(xué)反應(yīng)與能量 第1節(jié) 化學(xué)反應(yīng)與能量的變化教學(xué)實錄 新人教版選修4
- 27《一個粗瓷大碗》(教學(xué)設(shè)計)-2024-2025學(xué)年統(tǒng)編版語文三年級上冊
- 2024-2025學(xué)年高中化學(xué) 第一單元 走進(jìn)化學(xué)工業(yè) 1.3 純堿的生產(chǎn)教學(xué)實錄2 新人教版選修2
- 項目解決方案設(shè)計與實施計劃
- 14 圓明園的毀滅 教學(xué)設(shè)計-2024-2025學(xué)年語文五年級上冊統(tǒng)編版
- 本科畢業(yè)論文完整范文(滿足查重要求)當(dāng)前人才流動中的問題與對策研究
- 三農(nóng)技術(shù)支持與服務(wù)體系建設(shè)規(guī)劃
- 2023七年級數(shù)學(xué)上冊 第三章 一元一次方程3.1 從算式到方程3.1.2 等式的性質(zhì)教學(xué)實錄(新版)新人教版
- 2023-2024學(xué)年清華版(2012)信息技術(shù)三年級上冊 第四單元《16課 月夜思故鄉(xiāng)-圖形組合》教學(xué)設(shè)計
- JB-QGL-TX3016AJB-QTL-TX3016A火災(zāi)報警控制器安裝使用說明書
- 可靠性驗證抽樣方法LTPD方案
- 《臺海危機》課件
- 部編版小學(xué)語文一年級下冊第三單元大單元教學(xué)設(shè)計教材分析
- MOOC 數(shù)據(jù)庫系統(tǒng)(中):建模與設(shè)計-哈爾濱工業(yè)大學(xué) 中國大學(xué)慕課答案
- 2024年湖南食品藥品職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 2024年江蘇醫(yī)藥職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 2024年全國高考物理電學(xué)實驗真題(附答案)
- 保育員基本素養(yǎng)知識講座
- 2024寧波樞智交通科技有限公司招聘筆試參考題庫附帶答案詳解
- 乳腺疏通課件
評論
0/150
提交評論