清華大學(xué)操作系統(tǒng)實驗lab1實驗報告_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、練習(xí)練習(xí)1、理解通過、理解通過make生成執(zhí)行文件的過程。生成執(zhí)行文件的過程。[練習(xí)練習(xí)1.1]操作系統(tǒng)鏡像文件操作系統(tǒng)鏡像文件uce.img是如何一步一步生成的是如何一步一步生成的在proj1執(zhí)行命令makeV=可以得到make指令執(zhí)行的過程從這幾條指令中可以看出需要生成uce.img首先需要生成bootblock,而生成bootblock需要先生成bootmain.o和bootasm.o還有sign,這三個文件又分別由bootmai

2、n.c、bootasm.S、sigh.c來生成。ldmelf_i386NestartTtext0x7C00objbootbootasm.oobjbootbootmain.o–oobjbootblock.o這句話用于生成bootblock,elf_i386表示生成elf頭,0x7C00為程序的makeV=ccbootbootasm.SgccIbootfnobuiltinWallggdbm32nostdincfnostackprotectI

3、libsOsnostdinccbootbootasm.Soobjbootbootasm.occbootbootmain.cgccIbootfnobuiltinWallggdbm32nostdincfnostackprotectIlibsOsnostdinccbootbootmain.coobjbootbootmain.occtoolssign.cgccItoolsgWallO2ctoolssign.coobjsigntoolssign.

4、ogccgWallO2objsigntoolssign.oobinsignldbinbootblockldmelf_i386NestartTtext0x7C00objbootbootasm.oobjbootbootmain.ooobjbootblock.oobjbootblock.outsize:440bytesbuild512bytesbootsect:binbootblocksuccess!ddif=devzeroof=binuce

5、.imgcount=10000記錄了100000的讀入記錄了100000的寫出5120000字節(jié)(5.1MB)已復(fù)制,0.0227439秒,225MB秒ddif=binbootblockof=binuce.imgconv=notrunc記錄了10的讀入記錄了10的寫出512字節(jié)(512B)已復(fù)制,0.000214966秒,2.4MB秒實驗是基于老實驗是基于老lab1proj1做的,練習(xí)開始時是打算用命令行一句一句執(zhí)做的,練習(xí)開始時是打算

6、用命令行一句一句執(zhí)行得到結(jié)果的,后來發(fā)現(xiàn)直接修改行得到結(jié)果的,后來發(fā)現(xiàn)直接修改makefile和gdbinit可以大大提高調(diào)試效可以大大提高調(diào)試效率。率。于是在于是在makefile中增加以下代碼中增加以下代碼S–s是使得是使得qemu在執(zhí)行第一條指令之前停下來,在調(diào)用在執(zhí)行第一條指令之前停下來,在調(diào)用qemu時增加時增加din_asmDq.log參數(shù),便可以將運行的匯編指令保存在參數(shù),便可以將運行的匯編指令保存在q.log中。然后中。

7、然后sleep兩秒應(yīng)該是給兩秒應(yīng)該是給qemu充分的時間準(zhǔn)備等待連接。接下來使用充分的時間準(zhǔn)備等待連接。接下來使用GDB調(diào)試調(diào)試工具,工具,tui提供了代碼與命令行分屏查看的界面,提供了代碼與命令行分屏查看的界面,toolsgdbinit中存放的是中存放的是gdb調(diào)試指令如下。調(diào)試指令如下。先是加載調(diào)試文件,然后連接先是加載調(diào)試文件,然后連接qemu,設(shè)置,設(shè)置8086的實模式,設(shè)置斷點的實模式,設(shè)置斷點0x7c00,也就是,也就是bo

8、otloader的第一條指令,然后運行到斷點。再顯示接下來的第一條指令,然后運行到斷點。再顯示接下來的10條指令。條指令。運行結(jié)果圖如下運行結(jié)果圖如下lab1mon:$(UCEIMG)$(V)$(TERMINAL)e“$(QEMU)Ssdin_asmD$(BINDIR)q.logmonitstdiohda$serialnull“$(V)sleep2$(V)$(TERMINAL)e“gdbqtuixtoolsgdbinit“fileobj

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論