QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2870|回复: 4

当中断执行之后会发生任务调度呢?

[复制链接]
发表于 2008-3-6 22:44:29 | 显示全部楼层 |阅读模式
当发生中断之后是否可以发生任务调度呢? 我认为会,实时内核只要出现阻塞性事件就会有任务调度程序。
疑问:被中断的进程不一定是内核进程。用户态进程也可以被中断,那用户态进程发生中断和内核态进程所
做的操作类似吗?比如寄存器入栈等。
发表于 2008-5-20 15:59:19 | 显示全部楼层
可抢占内核任务调度可以发生在中断后,不可抢占的(传统 UNIX)内核任务调度只能发生在回 user space 的路径上。

所以对传统非抢占式内核需要区分中断发生在用户态还是内核态,以便发生在用户态的时候,中断返回便可以调度。
回复

使用道具 举报

发表于 2008-8-6 16:27:19 | 显示全部楼层
在 ARM 中区分了用户态中断和内核态中断,进入中断的操作基本是一样的,保存数据,退出中断有区别,内核态是不进行进程切换的,用户态切换。linux-source-2.6.20\arch\arm\kernel\entry-armv.S
回复

使用道具 举报

发表于 2008-9-8 12:31:35 | 显示全部楼层
同意楼上的
回复

使用道具 举报

发表于 2008-10-11 15:54:45 | 显示全部楼层
中断发生的时候不允许发生任务调度,这是操作系统最基本的理论。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-25 06:50 , Processed in 0.041564 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表