中国Linux公社论坛's Archiver

fujike029 发表于 2008-3-6 22:44

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

当发生中断之后是否可以发生任务调度呢? 我认为会,实时内核只要出现阻塞性事件就会有任务调度程序。
疑问:被中断的进程不一定是内核进程。用户态进程也可以被中断,那用户态进程发生中断和内核态进程所
做的操作类似吗?比如寄存器入栈等。

eric_myc 发表于 2008-5-20 15:59

可抢占内核任务调度可以发生在中断后,不可抢占的(传统 UNIX)内核任务调度只能发生在回 user space 的路径上。

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

深思 发表于 2008-8-6 16:27

在 ARM 中区分了用户态中断和内核态中断,进入中断的操作基本是一样的,保存数据,退出中断有区别,内核态是不进行进程切换的,用户态切换。linux-source-2.6.20\arch\arm\kernel\entry-armv.S

aaronychen 发表于 2008-9-8 12:31

同意楼上的

camelguo 发表于 2008-10-11 15:54

中断发生的时候不允许发生任务调度,这是操作系统最基本的理论。

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.