个进程从运行态变成等待必定会引起进程切换

[复制链接]
查看11 | 回复2 | 2011-4-26 06:55:18 | 显示全部楼层 |阅读模式
书上这个地方没详细做解释不过结合全书尤其是第102页的“5.5.3 I/O中断事件的处理”就可理解按你举的例子,可以这么看:进程P2等待的磁盘传输信息结束后,通道便会产生“I/O正常结束”的中断请求CPU进行干预,那么进程P1就要让出CPU而由中断处理进程占用CPU对中断事件进行处理,(这时就引起了进程的切换)处理中包括把进程P2由“等待”状态变成“就绪”状态,处理完后中断处理进程让出CPU,由进程调度程序从就绪队列中选中一个进程占用CPU。
回复

使用道具 举报

千问 | 2011-4-26 06:55:18 | 显示全部楼层
运行变成等待必然有原因的,分析一下原因就知道,等待是程序设计时故意或死锁造成的,在等待事件没有解决之前,是不可能继续执行下去的,这个时候能到让cpu闲置,在设计上是不科学的,所以最好让出cpu让其它进程执行,这样必然形成进程切换,特例是系统中只有一个进程,那就无法切换,问题是这种情况不可能发生,因为系统中不可能只有一个进程,光操作系统本身进程就有几十个,所以
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行