将printf函数通过库函数展开成为1个含有int 0x80代码的函数,然后执行80号中断,需要去IDT表中寻找中断程序的
入口,为了可以进入IDT表,在执行80号中断的那一刻,将DPL设置为3,
然后根据IDT表设置新的cs和ip,将cs设置成为8此时代表将cpl设置成0
跳到system_call执行80号中断,进入内核态,在内核态执行完以后,重新将cpl设置成3,进入用户态
一个c函数到系统内核的执行过程
最新推荐文章于 2022-11-11 20:47:54 发布
将printf函数通过库函数展开成为1个含有int 0x80代码的函数,然后执行80号中断,需要去IDT表中寻找中断程序的
入口,为了可以进入IDT表,在执行80号中断的那一刻,将DPL设置为3,
然后根据IDT表设置新的cs和ip,将cs设置成为8此时代表将cpl设置成0
跳到system_call执行80号中断,进入内核态,在内核态执行完以后,重新将cpl设置成3,进入用户态