+ -
当前位置:首页 → 问答吧 → 关于系统调用的一点疑问

关于系统调用的一点疑问

时间:2010-08-20

来源:互联网

系统调用陷入内核是通过int80中断进入的。
在系统调用中可以休眠,因此推测这个里面是没有关中断的。但是应该没有中断返回吧。书上说此时已经是进程上下文了,指的是什么?系统调用用的还是内核空间的内存吧。
进程上下文和中断上下文具体的区别在哪里呢?
这里很不理解。请高手指点指点!谢谢。

作者: donotgiveup   发布时间: 2010-08-20

回复 donotgiveup


    系统调用(通过int80方式完成的),一般叫做异常,这个异常就是内核从用户态陷入到内核态,堆栈也会发生相应的变化,当然也就会从内核态返回,返回时调用统一的‘从中断和异常中返回’的接口,在异常处理中(系统调用),执行的是内核代码,但是又和普通的中断不同,就是可以被抢占,或者可以去sleep。可以看下ULK3的第四章最后一部分和第10章相关部分,并且结合中断、软中断等第4章内容来看。

作者: kgn28   发布时间: 2010-08-20