电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

进程状态转换VIP免费

进程状态转换_第1页
1/6
进程状态转换_第2页
2/6
进程状态转换_第3页
3/6
3.2.4 被挂起的进程 交换的需要 前面描述的三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。许多实际的操作系统都是按照这样的三种状态进行具体构造的。但是,可以证明往模型中增加其他状态也是合理的。为了说明加入新状态的好处,考虑一个没有使用虚拟内存的系统,每个被执行的进程必须完全载入内存,因此,图3.8b 中,所有队列中的所有进程必须驻留在内存中。 所有这些设计机制的原因都是由于I/O 活动比计算速度慢很多,因此在单道程序系统中的处理器在大多数时候是空闲的。但是图3.8b 的方案并没有完全解决这个问题。在这种情况下,内存保存有多个进程,当一个进程正在等待时,处理器可以转移到另一个进程,但是处理器比I/O要快得多,以至于内存中所有的进程都在等待I/O 的情况很常见。因此,即使是多道程序设计,大多数时候处理器仍然可能处于空闲状态。 一种解决方法是内存可以被扩充以适应更多的进程,但是这种方法有两个缺陷。首先是内存的价格问题,当内存大小增加到兆位及千兆位时,价格也会随之增加;再者,程序对内存空间需求的增长速度比内存价格下降的速度快。因此,更大的内存往往导致更大的进程,而不是更多的进程。 另一种解决方案是交换,包括把内存中某个进程的一部分或全部移到磁盘中。当内存中没有处于就绪状态的进程时,操作系统就把被阻塞的进程换出到磁盘中的“挂起队列”( suspendqueue) ,这是暂时保存从内存中被“驱逐”出的进程队列,或者说是被挂起的进程队列。操作系统在此之后取出挂起队列中的另一个进程,或者接受一个新进程的请求,将其纳入内存运行。 “交换”(swapping)是一个I/O 操作,因而也可能使问题更加恶化。但是由于磁盘I/O 一般是系统中最快的I/O(相对于磁带或打印机I/O),所以交换通常会提高性能。 为使用前面描述的交换,在我们的进程行为模型(见图3.9a) 中必须增加另一个状态:挂起态。当内存中的所有进程都处于阻塞态时,操作系统可以把其中的一个进程置于挂起态,并将它转移到磁盘,内存中释放的空间可被调入的另一个进程使用。 当操作系统已经执行了一个换出操作,它可以有两种将一个进程取到内存中的选择:可以接纳一个新近创建的进程,或调入一个以前被挂起的进程。显然,通常比较倾向于调入一个以前被挂起的进程,给它提供服务,而不是增加系统中的负载总数。 但是,这个推理也带来了一个难题,所有已经挂...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

进程状态转换

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部