2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、內(nèi)核啟動(dòng)過(guò)程總結(jié)內(nèi)核啟動(dòng)過(guò)程總結(jié)之前配置編譯過(guò)內(nèi)核源代碼,在交叉編譯源代碼后產(chǎn)生了三個(gè)文件(還有其他文件)分別是vmlinuz、vmlinux、vmlinux32,其中vmlinuz是可引導(dǎo)的、壓縮了的內(nèi)核,將該內(nèi)核拷貝到系統(tǒng)文件boot目錄下,再配置下bootboot.cfg文件,將啟動(dòng)時(shí)選擇內(nèi)核的信息和加載內(nèi)核的地方寫入就可以實(shí)現(xiàn)內(nèi)核的移植。其實(shí)移植過(guò)程和正常內(nèi)核啟動(dòng)過(guò)程的原理是一樣的。系統(tǒng)加電啟動(dòng)后,MIPS處理器默認(rèn)的程序入口時(shí)

2、0xBFC00000,此地址在無(wú)緩存的KSEG1的地址區(qū)域內(nèi),對(duì)應(yīng)的物理地址是0x1FC00000,即CPU從0x1FC00000開始取第一條指令,內(nèi)核是系統(tǒng)引導(dǎo)程序把內(nèi)核加載到內(nèi)存中的,如果內(nèi)核是經(jīng)過(guò)壓縮的,那么首先執(zhí)行archmipsbootcompressed的head.S文件去建立堆棧并解壓內(nèi)核映像文件,然后去執(zhí)行archmipskernel下的head.S,如果是沒(méi)有壓縮的內(nèi)核則直接去執(zhí)行該head.S。linux內(nèi)核啟動(dòng)的第

3、一階段就是從kernel文件夾下的head.S開始的,kernel_entry()函數(shù)就是內(nèi)核啟動(dòng)的入口函數(shù),這個(gè)函數(shù)是與體系結(jié)構(gòu)相關(guān)的匯編語(yǔ)言編寫的,它首先初始化內(nèi)核堆棧段,來(lái)為創(chuàng)建系統(tǒng)的第一個(gè)進(jìn)程0進(jìn)程作準(zhǔn)備,接著用一段循環(huán)將內(nèi)核映像的未初始化數(shù)據(jù)段bss段清零,最后跳轉(zhuǎn)到initmain.c中的start_kernel()初始化硬件平臺(tái)相關(guān)的代碼。kernel_entry()archmipskernelhead.STLB初始化,C

4、ache初始化清除BSS段準(zhǔn)備參數(shù)argcargpenvp設(shè)置棧jalstart_kernel(initmain.c)怎么為第一個(gè)進(jìn)程0進(jìn)程作準(zhǔn)備?第一個(gè)進(jìn)程涉及到init_thread_union,這個(gè)結(jié)構(gòu)體在includelinuxsched.h得到定義externunionthread_unioninit_thread_unionunionunionthread_unionthread_unionstructthread_info

5、thread_infounsignedlongstack[THREAD_SIZEsizeof(long)]THREAD_SIZE是一個(gè)宏定義#defineTHREAD_SIZE(2PAGE_SIZE)#definePAGE_SIZE(_AC(1UL)中定義。structstructthread_infothread_info0號(hào)進(jìn)程的task_struct出現(xiàn)了,就是init_task。在對(duì)init_thread_union賦初值的時(shí)候

6、,同時(shí)也通過(guò)調(diào)用INIT_TASK宏對(duì)init_task賦初值:#defineINIT_TASK(tsk).state=0.stack=&init_thread_info.usage=ATOMIC_INIT(2).flags=PF_KTHREAD.lock_depth=1.prio=MAX_PRIO20.static_prio=MAX_PRIO20.nmal_prio=MAX_PRIO20.policy=SCHED_NMAL.cpus_

7、allowed=CPU_MASK_ALL.mm=NULL.active_mm=&init_mm.se=.group_node=LIST_HEAD_INIT(tsk.se.group_node).rt=.run_list=LIST_HEAD_INIT(tsk.rt.run_list).time_slice=HZ.nr_cpus_allowed=NR_CPUS.tasks=LIST_HEAD_INIT(tsk.tasks).pushable

8、_tasks=PLIST_NODE_INIT(tsk.pushable_tasksMAX_PRIO).ptraced=LIST_HEAD_INIT(tsk.ptraced).ptrace_entry=LIST_HEAD_INIT(tsk.ptrace_entry).real_parent=&tsk.parent=&tsk.children=LIST_HEAD_INIT(tsk.children).sibling=LIST_HEAD_IN

9、IT(tsk.sibling).group_leader=&tsk.real_cred=&init_cred.cred=&init_cred.cred_guard_mutex=__MUTEX_INITIALIZER(tsk.cred_guard_mutex).comm=“swapper“.thread=INIT_THREAD.fs=&init_fs.files=&init_files.signal=&init_signals.sigh=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論