社区
Linux_Kernel
帖子详情
求高手指点,中断服务子程序到底是个什么啊?
liuxingxxx
2010-07-18 11:22:30
看了很多操作系统的书,也查了资料
1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊?
2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用
程序啊?
3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
...全文
660
9
打赏
收藏
求高手指点,中断服务子程序到底是个什么啊?
看了很多操作系统的书,也查了资料 1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊? 2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用 程序啊? 3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mainsea
2011-10-16
打赏
举报
回复
呵呵,《微机原理》里面有这些内容啊,看来学校的课本韩式挺有用的啊
zigzag_xiang
2010-07-19
打赏
举报
回复
恩,楼上的更正的对。如果是进程进中断就是进程上下文,如果是中断进中断就是中断上下文
carey1986
2010-07-19
打赏
举报
回复
LS解释有误啊
中断发生时,是把进程的上下文,实际上就是些寄存器信息存入进程的内核栈。
当然中断如果是嵌套执行,那就是保存寄存器信息入中断栈了。现在的中断是有自己的栈的
zigzag_xiang
2010-07-19
打赏
举报
回复
1、 中断发生时,是不是要把 当前应用程序的上下文,保存到进程 内核堆栈了面啊?
2、 然后去执行中断服务子程序,我想问一下,这个子程序是谁写的?是固定好的么?? 它是一个子程序还是一个完整的应用
程序啊?
3、 我记得有人说中断服务子程序没有自己的堆栈,那么它用谁的啊?
-------
1,当然要保存,不过保存的是中断上下文而不是进程上下文。
2,中断服务子程序大部分系统保留实现,自己也可以写好注册上去。固定的是中断异常向量表的地址,系统启动时候就由硬件分配固定的。只要将中断服务子程序指向这个地址就可以被中断调用。中断服务子程序要求非常简短精炼。所以在中断服务子程序中处理不及时的例子应该用linux的中断上下半机制解决。
3,那是不可能没有的,在计算机的所有切换过程包括进程,线程,函数调用,中断都是用堆栈来保存和恢复数据的。当然你也可以一个切换状态一套寄存器,不用堆栈。
cuiahong
2010-07-18
打赏
举报
回复
真的可以学到很多东西啊,原来自己还要更加努力!
Coder_Granger
2010-07-18
打赏
举报
回复
看这篇,讲的很详细
http://blog.chinaunix.net/u2/76263/showart_1182767.html
embeddedstar
2010-07-18
打赏
举报
回复
计算机内存的前1024个字节(偏移量00000H到003FFH)保存着256个中断向量,每个中断向量占4个字节,前两个字节保存着中断服务程序的入口地址偏移量,后两个字节保存着中断程序的入口段地址,使用时,只要将它们分别调入寄存器IP及CS中,就可以转入中断服务程序实现中断调用。每当中断发生时,CPU将中断号乘以4,在中断向量表中得到该中断向量地址,进而获得IP及CS值,从而转到中断服务程序的入口地址,调用中断。
如果用汇编语言写的话,就需要按照如上依次写语句。用C语言写,只需调用相应的中断函数就可以了,内部操作由编译器完成。
carey1986
2010-07-18
打赏
举报
回复
现在内核版本里中断是有专门的中断栈的
谭海燕
2010-07-18
打赏
举报
回复
《linux内核完全解析》里面有很详细的介绍。
“秒杀”是什么?简单来说即使在同时间有大量请
求
抢购买同一商品并交易
“秒杀”是什么?简单来说即使在同时间有大量请
求
抢购买同一商品并交易,因此会涉及大量并发写和并发读。 所以说“秒杀”对程序开发者有很大的的挑战。 怎么防止系统在应对百万级请
求
时候而不出故障? 怎样保障高...
ucos+s3c2410下的串口
中断
问题
我用的是ucos+s3c2410+ucgui,我想用串口
中断
接收从串口接收的数据,通过ucgui对话框下的一个文本框显示!...//
中断
服务
子程序
入口地址 rSRCPND = BIT_UART0; //清除
中断
源挂起寄存器
单片机的延时与
中断
问题及解决方法
延时与
中断
出错,是单片机新手在单片机开发应用过程中,经常会遇到的问题,本文汇总整理了包含了MCS-51系列单片机、MSP430单片机、C51单片机、8051F的单片机、avr单片机、STC89C52、PIC单片机…..在内的各种单片机...
中断
门的DPL [转]
由硬件自动实现的
中断
响应和异常处理的步骤如下: 首先,判断
中断
向量号要索引的门描述符是否超出IDT的界限。若超出界限,就引起通用保护故障,出错码为
中断
向量号乘8再加2。 其次,从IDT中取得对应的门描述符,...
【跑飞、死机】单片机 msp430程序跑飞原因和解决方式积累
1.
中断
或主函数中有死循环,现象是程序停在某处。 2.堆栈溢出。现象是程序跑飞。 ************************************************************************************************** 3、是否开了
中断
但是没有用...
Linux_Kernel
4,441
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章