当前位置: 技术问答>linux和unix
求高手指点,中断服务子程序到底是个什么啊?
来源: 互联网 发布时间:2017-01-07
本文导语: 看了很多操作系统的书,也查了资料 1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊? 2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? ...
看了很多操作系统的书,也查了资料
1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊?
2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用
程序啊?
3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊?
2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用
程序啊?
3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
|
1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊?
2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用
程序啊?
3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
-------
1,当然要保存,不过保存的是中断上下文而不是进程上下文。
2,中断服务子程序大部分系统保留实现,自己也可以写好注册上去。固定的是中断异常向量表的地址,系统启动时候就由硬件分配固定的。只要将中断服务子程序指向这个地址就可以被中断调用。中断服务子程序要求非常简短精炼。所以在中断服务子程序中处理不及时的例子应该用linux的中断上下半机制解决。
3,那是不可能没有的,在计算机的所有切换过程包括进程,线程,函数调用,中断都是用堆栈来保存和恢复数据的。当然你也可以一个切换状态一套寄存器,不用堆栈。
2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用
程序啊?
3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
-------
1,当然要保存,不过保存的是中断上下文而不是进程上下文。
2,中断服务子程序大部分系统保留实现,自己也可以写好注册上去。固定的是中断异常向量表的地址,系统启动时候就由硬件分配固定的。只要将中断服务子程序指向这个地址就可以被中断调用。中断服务子程序要求非常简短精炼。所以在中断服务子程序中处理不及时的例子应该用linux的中断上下半机制解决。
3,那是不可能没有的,在计算机的所有切换过程包括进程,线程,函数调用,中断都是用堆栈来保存和恢复数据的。当然你也可以一个切换状态一套寄存器,不用堆栈。
|
LS解释有误啊
中断发生时,是把进程的上下文,实际上就是些寄存器信息存入进程的内核栈。
当然中断如果是嵌套执行,那就是保存寄存器信息入中断栈了。现在的中断是有自己的栈的
中断发生时,是把进程的上下文,实际上就是些寄存器信息存入进程的内核栈。
当然中断如果是嵌套执行,那就是保存寄存器信息入中断栈了。现在的中断是有自己的栈的
|
恩,楼上的更正的对。如果是进程进中断就是进程上下文,如果是中断进中断就是中断上下文