b.上下文切换是多道程序的特征和必要。但是有一种切换迷惑了我们,就是协作式任务的切换,比如系统服务或硬件驱动调用。细心想想,其实切换的本质是换工作内容。由WORD切换到音乐播放器是进程切换;由WORD里的拼写检查到接受用户输入的切换是线程切换。而由音乐播放器解码到声卡驱动将解码数据输出的切换则是一种伪切换,它是一个无法分解的任务前后部分,但是因为要对硬件的保护而做成客户服务形式。这个过程中,音乐播放器的主线程被挂起,而声卡驱动输出可能不需要音乐播放器的主线程的任何信息(这就是所谓的无关上下文任务),完成后就绪(具体可能置一下音乐播放器的主线程某状态位)音乐播放器的主线程…… 2009-4-23 12:44
b.又来了一个问题,跨进程(线程)的中断是怎样触发的?硬件中断有引脚,而用户进程要进入核态可以自己发出软中断,但是一个优先更高的线程(比如OS的进程调度线程)怎么打断当前进程,占用CPU的呢?那只有一种可能,就是CPU每执行一条指令后都会检查有没有优先更高的线程要中断处理,是这样的吗? 2009-4-13 11:34
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |