日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

第五周测试

發(fā)布時(shí)間:2023/12/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第五周测试 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

---恢復(fù)內(nèi)容開始---

一 視頻知識(shí)
1 linux系統(tǒng)下如何區(qū)分內(nèi)核態(tài)與用戶態(tài)
在內(nèi)核態(tài):cs:eip可以是任意的地址,4G的內(nèi)存地址空間
在用戶態(tài):cs:eip只能訪問0x00000000—0xbfffffff的地址空間
2 系統(tǒng)調(diào)用的三層皮:xyz、system_call和sys_xyz
第一層:API,第一層是指Libc中定義的API,這些API封裝了系統(tǒng)調(diào)用,使用int?0x80觸發(fā)一個(gè)系統(tǒng)調(diào)用中斷;當(dāng)然,并非所有的API都使用了系統(tǒng)調(diào)用,如完成數(shù)學(xué)加減運(yùn)算的API就沒有使。用系統(tǒng)調(diào)用;也有可能某個(gè)API使用了多個(gè)系統(tǒng)調(diào)用;這一層存在的價(jià)值就是為應(yīng)用程序員提供易于使用的API來調(diào)用系統(tǒng)調(diào)用;
第二層:中斷向量對(duì)應(yīng)的,運(yùn)行于內(nèi)核態(tài)。system_call是所有系統(tǒng)調(diào)用在內(nèi)核的入口點(diǎn),在其中的開始處保護(hù)用戶態(tài)程序執(zhí)行上下文,結(jié)束處恢復(fù)用戶態(tài)程序執(zhí)行上下文,在中間根據(jù)傳入的系統(tǒng)調(diào)用號(hào)對(duì)應(yīng)的中斷服務(wù)程序;
第三層:sys_xyz?系統(tǒng)調(diào)用封裝例程:執(zhí)行具體的系統(tǒng)調(diào)用操作,完成用戶的系統(tǒng)調(diào)用請(qǐng)求;系統(tǒng)調(diào)用有不同種類的服務(wù)程序
二 測(cè)試實(shí)驗(yàn)2
1 首先用mdkir 9225 新建文件夾,cd 9225進(jìn)入此目錄下,使用命令vi main.c進(jìn)入vim環(huán)境中編寫main.chanshu代碼

2 使用命令gcc -S -o main.s main.c -m32其意義是將預(yù)處理文件編成.s文件,也就是將c代碼轉(zhuǎn)換成匯編代碼。使用命令gcc -g main.s -o main -m32,然后使用命令gdb main 進(jìn)入gdb調(diào)試狀態(tài)
3 在gdb中使用l指令觀察函數(shù),但出現(xiàn)了理解不了的亂碼。繼續(xù)向下操作設(shè)置斷點(diǎn)使用命令b*main 或者 break main,然后使用命令r使其運(yùn)行一下,使用i r命令查看函數(shù)的exp eax ebp eip,觀察函數(shù)變化,之后重復(fù)使用命令n,意為查看下一條運(yùn)行命令,再使用命令i r,以此下去但是不知道為什么函數(shù)運(yùn)算一直出錯(cuò)

三 課本知識(shí)
通過閱讀第七章我了解到了什么是中斷,并知道了中斷一般分為異步中斷(一般由硬件引起)和同步中斷(一般由處理器本身引起)。
異步中斷:CPU處理中斷的時(shí)間過長(zhǎng),所以先將硬件復(fù)位,使硬件可以繼續(xù)自己的工作,然后在適當(dāng)時(shí)候處理中斷請(qǐng)求中耗時(shí)的部分
同步中斷:CPU處理完中斷請(qǐng)求的所有工作后才反饋硬件。同步中斷應(yīng)該處理能很快完成的一種中斷。
中斷相關(guān)函數(shù)
實(shí)現(xiàn)一個(gè)中斷,主要需要知道3個(gè)函數(shù):(1)注冊(cè)中斷的函數(shù)(2)釋放中斷的函數(shù)(3)中斷處理程序的聲明
中斷處理的過程主要涉及3函數(shù):
do_IRQ 與體系結(jié)構(gòu)有關(guān),對(duì)所接收的中斷進(jìn)行應(yīng)答
handle_IRQ_event 調(diào)用中斷線上所有中斷處理
ret_from_intr 恢復(fù)寄存器,將內(nèi)核恢復(fù)到中斷前的狀態(tài)
中斷處理程序會(huì)異步執(zhí)行,并且在最好的情況下它也會(huì)鎖定當(dāng)前的中斷線。最起碼的,中斷處理程序要負(fù)責(zé)通知硬件設(shè)備中斷已被接收,操作系統(tǒng)也把處理硬件中斷的過程分為兩個(gè)部分。
上半部分(top half)簡(jiǎn)單快速,執(zhí)行的時(shí)候禁止一些或者全部中斷。只能通過中斷處理程序?qū)崿F(xiàn)。只做有嚴(yán)格時(shí)限的工作。
下半部分(bottom half)稍后執(zhí)行,而且執(zhí)行期間可以響應(yīng)所有的中斷。

這周將時(shí)間放在了測(cè)試二中,我用命令gcc -g main.c按照鏈接中的也沒有做出來,實(shí)驗(yàn)四我下周會(huì)補(bǔ)上的,我會(huì)在下周將作業(yè)努力好好完成

轉(zhuǎn)載于:https://www.cnblogs.com/2017yaya/p/7752555.html

總結(jié)

以上是生活随笔為你收集整理的第五周测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。