系统调用

系统调用其实是一种中断,中断号为80

Paste_Image.png

系统调用是从用户空间切换到系统空间,涉及到用户堆栈和内核堆栈的切换。

进入中断之前,会将调用参数放入ebx,ecx,edx,esi,edi,ebp寄存器,系统调用号放入eax,然后调用int 80进入中断,进入中断后会将ss,esp,eflags,cs,eip还有上面的参数寄存器压入内核堆栈,然后根据eax的值知道对应的系统函数

Paste_Image.png
Paste_Image.png

最后通过iret返回到用户空间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容