免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ocean390
打印 上一主题 下一主题

软中断是如何实现的? [复制链接]

论坛徽章:
0
31 [报告]
发表于 2006-05-06 21:38 |只看该作者
www.baidu.com在中文方面确实比www.google.com要强!但baidu把关键性词语处理过的~比如比较敏感的字眼~

论坛徽章:
0
32 [报告]
发表于 2006-05-08 11:06 |只看该作者
原帖由 ocean390 于 2006-5-4 01:28 发表
我想问一下在FreeBSD以前的没有使用中断线程这个方法的版本中,是如何处理软件中断的。


对比一下两本书的同一段落,不知道能不能解答你的疑问?

【4.4BSD操作系统设计与实现】:
实现低优先级处理的机制被称作软件中断。一般来说,都是由一个高优先级的中断创建一个将在低优先级中完成的工作队列。在把工作请求放到队列中之后,高优先级的中断会把这些请求安排在某个低优先级中运行。当机器的优先级低于那个低优先级之后,就会产生一个中断来调用所需的函数。如果在处理请求期间又来了一个高优先级的中断,处理过程就会像任何其它的低优先级任务一样被抢占。在某些架构上,前述中断就是由软件指令产生的真实的硬件陷阱。而其它的一些架构则通过在恰当的时候监视由中断处理程序设置的标志并直接调用请求处理函数的方式来实现同样的功能。


【FreeBSD操作系统设计与实现】:
实现低优先级处理的机制被称作软件中断。一般来说,都是由一个高优先级的中断创建一个将在低优先级中完成的工作队列。和FreeBSD5.2中的硬件设备一样,每个软件中断都有一个与之相关联的进程上下文。软件中断进程的调度优先级一般比设备驱动程序进程低,但却比用户进程的优先级高。只要有硬件中断到达,和设备驱动程序关联的进程就会获得最高优先级,并被调度运行。如果没有设备驱动程序进程处于可运行状态,优先级最高的软件中断进程就会被调度运行。如果没有软件中断进程处于可运行状态,就会运行优先级最高的用户进程。如果在一个软件中断进程或者用户进程正在运行的时候来了一个中断并使其设备驱动程序进程处于可运行状态,调度程序将会抢占软件中断或用户进程来运行设备驱动程序进程。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
33 [报告]
发表于 2006-05-08 11:15 |只看该作者
为什么要用这个词"软中断"?namespace很冲突阿。
我那天翻了翻书,才知道LZ想要的答案是这个软中断,不是int

论坛徽章:
0
34 [报告]
发表于 2006-05-08 11:23 |只看该作者
原帖由 gvim 于 2006-5-8 11:15 发表
为什么要用这个词"软中断"?namespace很冲突阿。
我那天翻了翻书,才知道LZ想要的答案是这个软中断,不是int


把int叫做软件中断应该是DOS的流毒,UNIX这边还没看到过这种说法。BSD的“软件中断”应该是Linux的“软中断”是一个意思,这里的“软”都应当做“软性”解,即时间要求上的软性。

论坛徽章:
0
35 [报告]
发表于 2006-05-08 11:28 |只看该作者
原帖由 雨丝风片 于 2006-5-8 11:23 发表


把int叫做软件中断应该是DOS的流毒,UNIX这边还没看到过这种说法。BSD的“软件中断”应该是Linux的“软中断”是一个意思,这里的“软”都应当做“软性”解,即时间要求上的软性。


我错了,Intel的手册里就是把int叫软件中断的。看来得根据上下文来区分,是CPU还是内核。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
36 [报告]
发表于 2006-05-08 11:33 |只看该作者
原帖由 雨丝风片 于 2006-5-8 11:23 发表


把int叫做软件中断应该是DOS的流毒,UNIX这边还没看到过这种说法。BSD的“软件中断”应该是Linux的“软中断”是一个意思,这里的“软”都应当做“软性”解,即时间要求上的软性。


我查了查intel的book,确实,他自己也是称的"software-generated interrupts/exceptions",这两个名称感觉很重复的类似。

出qiu了,qiu大了

论坛徽章:
0
37 [报告]
发表于 2006-05-08 11:44 |只看该作者
原帖由 gvim 于 2006-5-8 11:33 发表


我查了查intel的book,确实,他自己也是称的"software-generated interrupts/exceptions",这两个名称感觉很重复的类似。

出qiu了,qiu大了


名不正,言不顺。

论坛徽章:
0
38 [报告]
发表于 2006-05-08 18:29 |只看该作者
原帖由 gvim 于 2006-5-8 11:33 发表


我查了查intel的book,确实,他自己也是称的"software-generated interrupts/exceptions",这两个名称感觉很重复的类似。

出qiu了,qiu大了

当时我一再重复和Linux中的软中断的关系,老大却一直在说int指令,搞的当时我也很郁闷。
哎,不知怎么搞的,现在用的最多的一个词,竟然是“郁闷”,没来南京上学前,从来就没听过这个词。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
39 [报告]
发表于 2006-05-08 18:41 |只看该作者
原帖由 ocean390 于 2006-5-8 18:29 发表

当时我一再重复和Linux中的软中断的关系,老大却一直在说int指令,搞的当时我也很郁闷。
哎,不知怎么搞的,现在用的最多的一个词,竟然是“郁闷”,没来南京上学前,从来就没听过这个词。


呵,我以前是搞硬件的,所以对"软中断"的第一反映就是int,偶也一时半会没有反映过来,等回过神来时已经出qiu了
很抱歉把你搞郁闷,被我搞恶的人一般选择疯掉

论坛徽章:
0
40 [报告]
发表于 2006-05-08 19:16 |只看该作者
原帖由 gvim 于 2006-5-8 18:41 发表
被我搞恶的人一般选择疯掉


罚你明天贴一份“自杀报告+述职报告+怀念书店mm”出来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP