系統(tǒng)調(diào)用其實(shí)是一種中斷,中斷號(hào)為80
Paste_Image.png
系統(tǒng)調(diào)用是從用戶(hù)空間切換到系統(tǒng)空間,涉及到用戶(hù)堆棧和內(nèi)核堆棧的切換。
進(jìn)入中斷之前,會(huì)將調(diào)用參數(shù)放入ebx,ecx,edx,esi,edi,ebp寄存器,系統(tǒng)調(diào)用號(hào)放入eax,然后調(diào)用int 80進(jìn)入中斷,進(jìn)入中斷后會(huì)將ss,esp,eflags,cs,eip還有上面的參數(shù)寄存器壓入內(nèi)核堆棧,然后根據(jù)eax的值知道對(duì)應(yīng)的系統(tǒng)函數(shù)
Paste_Image.png
Paste_Image.png
最后通過(guò)iret返回到用戶(hù)空間