操作系统(二):4.CPU调度、进程调度的时机、调度算法的评价指标


一、CPU调度

在这里插入图片描述

1.三个层次

在这里插入图片描述

层次 任务 调度 发生频率 进程状态变化
高级调度
(作业调度)
调度处于后备队列中的作业,创建进程 外存→内存 最低 无→创建态→就绪态
中级调度
(内存调度)
调度处于挂起队列中的进程 外存→内存 中等 就绪挂起态→就绪态
阻塞挂起态→阻塞态
低级调度
(进程调度)
调度处于就绪队列中进程 内存→CPU 最频繁 就绪态→运行态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.七状态模型

在这里插入图片描述

  • “就绪挂起态"和"就绪态”、"阻塞挂起态"和"阻塞态"之间分别可以相互转换。
  • 当等待事件出现时,“阻塞挂起态"可以变为"就绪挂起态”(PCB是在内存中的,OS改版PCB内的状态标志就行)
  • 创建好PCB后,没内存时,可以直接调入外存中成为"就绪挂起态"。
  • 进程下CPU时可以直接调到外存,“运行态"变成"就绪挂起态”。

二、进程调度的时机与方式

这里的进程调度就是上面的低级调度的详细理解。
在这里插入图片描述

1.调度与切换

在这里插入图片描述

2.什么时候需要调度

在这里插入图片描述

3.什么时候不能进行进程调度

在这里插入图片描述
【在处理中断的过程中】
中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换。

【OS内核程序临界区与临界区】
在这里插入图片描述

  • OS内核程序临界区用来访问某种内核数据结构。如果不尽快释放的话,极有可能影响到OS内核的其他管理工作。因此在访问内核程序临界区期间不能进行调度与切换。
  • 如外设I/O很慢,如果不允许进程调度的话,CPU大部分时间在空闲。普通临界区访问的临界资源不会直接影响OS内核的管理工作。因此在访问普通临界区时可以进行调度与切换。

4.方式

在这里插入图片描述

三、调度算法的评价指标

在这里插入图片描述

1.利用率

在这里插入图片描述

2.系统吞吐量

在这里插入图片描述

3.计算时间

(1)周转时间

在这里插入图片描述

(2)等待时间

在这里插入图片描述
在这里插入图片描述

(3)响应时间

在这里插入图片描述

发布了461 篇原创文章 · 获赞 183 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/sandalphon4869/article/details/104984046