免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2722 | 回复: 4
打印 上一主题 下一主题

中断程序被硬件调用问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-28 09:25 |只看该作者 |倒序浏览
中断向量表idt好像是常驻内存的,但是中断向量表是怎么被硬件找到的呢?
没看idt作什么设置呀?
还有就是中断向量表idt怎么实现的常驻内存?
是初始化时load进的,那么内存不刷新吗?
刚看内核的代码,还望大虾们指教!
谢谢!!

论坛徽章:
0
2 [报告]
发表于 2007-03-28 16:00 |只看该作者
>中断向量表是怎么被硬件找到的呢?
idtr寄存器, 用lidt/sidt指令访问。

>中断向量表idt怎么实现的常驻内存?
swap时不往外换就好了。

论坛徽章:
0
3 [报告]
发表于 2007-03-28 16:44 |只看该作者
谢谢楼上的回答!
1。是这个宏吗:
#define loadidt(n) \
__asm__ volatile( "lidt %0\n\t" \
                 "sti\n\t"      \
                 :"=m"(n)\
                 )       

2。不交换内存,是不是在内存管理时操作的?
ram内存不是隔段时间就刷新吗?
对硬件不是很了解,见笑了!
谢谢!!

论坛徽章:
0
4 [报告]
发表于 2007-03-28 16:51 |只看该作者
> ram内存不是隔段时间就刷新吗?

你是说CMOS之类的存储原理吗?那个是硬件级别的原理。 除非你研究内存是怎么做出来的,否则没必要知道“刷新”。

论坛徽章:
0
5 [报告]
发表于 2007-03-30 12:42 |只看该作者
为kernel自己分配的的内存是不会swap出去的,用户任务的内存也不是都可以swap出去的。所以....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP