什么是内核陷阱?
答案:2 悬赏:20 手机版
解决时间 2021-01-27 20:00
- 提问者网友:浪荡绅士
- 2021-01-27 08:26
什么是内核陷阱?
最佳答案
- 五星知识达人网友:酒安江南
- 2021-01-27 08:48
1、每个陷阱有一个默认的信号对应比如DIVIDE ERROR 对应SIGFPE,不一定,有些是不发送信号的。
但是当系统在用户态运行当中遇到除0的操作的时候,系统如何陷入到内核当中(INTEL的CPU会自动地切换栈,然后将一些状态信息压入系统栈么?)
根据IDT中的设置来做的。 每个异常在IDT表中有一项。 至于如何自陷, 则是设置好了idtr之后的CPU自动完成的。
那这个信号在什么时候发送给用户,而用户又什么时候对这个信号进行处理的呢?(怎么保证立即处理)
发送信号,是handler觉得需要才发的。 同一种异常,可能会发也可能不会发,关键在handler处理的结果怎样。 至于用户处理新好的时机, 我对信号不够熟悉, 不敢说了。
2、运行trap.c里面的程序的时候是不是栈一定是系统栈 不可能是用户栈?
对,一定是系统栈。
但是当系统在用户态运行当中遇到除0的操作的时候,系统如何陷入到内核当中(INTEL的CPU会自动地切换栈,然后将一些状态信息压入系统栈么?)
根据IDT中的设置来做的。 每个异常在IDT表中有一项。 至于如何自陷, 则是设置好了idtr之后的CPU自动完成的。
那这个信号在什么时候发送给用户,而用户又什么时候对这个信号进行处理的呢?(怎么保证立即处理)
发送信号,是handler觉得需要才发的。 同一种异常,可能会发也可能不会发,关键在handler处理的结果怎样。 至于用户处理新好的时机, 我对信号不够熟悉, 不敢说了。
2、运行trap.c里面的程序的时候是不是栈一定是系统栈 不可能是用户栈?
对,一定是系统栈。
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-01-27 09:20
用户程序使用系统调用
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯