阅读:1023回复:10
熟悉OS的请看
当外来数据到来时,触发了IO中断,IO处理器接收完以后,OS怎么知道由谁来处理这个数据?
|
|
|
沙发#
发布于:2002-12-19 11:35
把挂在同一个中断的所有中断例程形成一个链,逐个调用中,如果中断例程返回TRUE,表示已经处理了,不再找下一个中断例程。
|
|
|
板凳#
发布于:2002-12-19 11:42
我指的是中断已经返回了,哪个进程谁来处理?
|
|
|
地板#
发布于:2002-12-20 14:01
“中断已经返回了”是指中断例程已经执行完了吗?
在WIN2K下是执行一个DPC来通知等待进程,通知的方式很多种了。 |
|
|
地下室#
发布于:2002-12-20 18:04
不会,
帮你顶一下!! :) |
|
5楼#
发布于:2002-12-20 18:12
3q3q,不过就是知道我也取不到这个进程,sigh,去当前进程总是取到Idle进程,ft死了 :D
|
|
|
6楼#
发布于:2002-12-20 18:17
一个人玩,
好无聊!! :( |
|
7楼#
发布于:2002-12-20 18:26
一个人玩, 理你一下 :D :D :D |
|
|
8楼#
发布于:2002-12-20 18:33
[quote]一个人玩, 理你一下 :D :D :D [/quote]谢谢!!! ;) :P |
|
9楼#
发布于:2002-12-20 18:35
你是不是想问,当中断例程执行完以后,由谁再处理这个I/O请求?
而中断例程执行完以后,不一定接下来执行的是处理这个I/O请求,通常情况下继续执行被中断的线程。而中断例程执行最后,通常会派发一个DPC。 |
|
|
10楼#
发布于:2002-12-20 18:49
你是不是想问,当中断例程执行完以后,由谁再处理这个I/O请求? 正常是这样的,但是比如网络中来了一个数据包,发给a进程的,当接收到这个包时触发了IO中断,当中断完成数据接受以后,由谁来处理,可能这时侯被中断的是Idle进程(很经常是)。不可能再执行Idle把 |
|
|