计算机操作系统-第十七天

2023-12-16 23:45:58

目录

处理机调度

调度的基本概念

作业

高级调度(作业调度)

中级调度(内存调度)

低级调度(进程调度/处理机调度)

进程的挂起态与七状态模型

挂起和阻塞的区别

三层调度的联系和对比?

本节思维导图


处理机调度

调度的基本概念

????????调度是指操作系统中的一个重要功能,用于管理和分配计算机资源,以便有效地执行各种任务和进程。它涉及确定何时、何地以及如何运行进程或任务当有一堆任务需要处理,但由于资源有限,这些事情没法同时处理时。就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题)

作业

概念:一个具体的任务

用户向系统提交一个作文 = 用户让操作系统启动一个程序(处理一个具体的任务)

高级调度(作业调度)

面临问题:内存空间有限,有时无法将用户提交的作业全部放入内存

解决方案:按一定的原则从外存的作业后背队列中选出一个作业调入内存,并建立新的进程,每个作业只调入一次,调出一次作业调入时会建立PCB,调出时才撤销PCB:

中级调度(内存调度)

面临问题:内存不足时,可将某些进程的数据调出外存,等内存空闲或进程需要运行时再重新调入内存,暂时调到外村等待的进程状态为挂起态,被挂起的进程PCB会被组织成挂起队列

解决方案:按照某种策略决定将哪个处于挂起状态的进程重新调入内存

低级调度(进程调度/处理机调度)

面临问题:进程过多但是CPU数量有限

解决方案:按照某种策略从就绪队列中选取一个进程,将处理机分配给CPU

特点:进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度,进程调度的频率很高,一般几十毫秒一次

进程的挂起态与七状态模型

概念:暂时调到外存等待的进程状态为挂起状态(挂起态),挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态,也因此五状态模型还可以细分为七状态模型(当然还能划分更多的)

1、系统内存不够用时,可能会把处于就绪态的进程放入就绪挂起队列中,当系统内存够用时,会将该进程重新激活为就绪态

2、同样的阻塞态也可以也有这样的效果

3、对于处于阻塞挂起队列的进程,当导致它所阻塞的原因消失时,该进程就会被转为就绪挂起队列,进入挂起队列后,当该进程被激活时,会直接转为就绪态而非阻塞态

4、进程运行态结束后,可能会被直接放在就绪挂起队列中,同样的如果进程创建态结束创建了PCB后但是由于系统内存不够时,该进程也会被放在就绪挂起队列中

挂起和阻塞的区别

????????两种状态都是暂时不能获得CPU的服务,但挂起态是将进程映像调到外村去了,而阻塞态下进程映像还在内存中,有的操作系统会把就绪挂起、阻塞挂起分为两个挂起队列,甚至会根据阻塞原因不同再把阻塞挂起进程进一步细分为多个队列

三层调度的联系和对比?

要做什么调度发生位置发生频率对进程状态的影响

高级调度

(作业调度)

按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程

外存->内存

(面向作业)

最低

无->创建态->就绪态

中级调度

(内存调度)

按照某种规则,从挂起队列中选择合适的进程将其数据调回内存

外存->内存

(面向进程)

中等

挂起态->就绪态

(阻塞挂起->阻塞态)

低级调度

(进程调度)

按照某种规则,从就绪队列中选择一个进程为其分配处理机内存->CPU最高就绪态->运行态

本节思维导图

~over~

文章来源:https://blog.csdn.net/m0_73975164/article/details/135037313
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。