操作系统知识点-处理机调度

1.高级调度(作业调度)

内存与外存之间的调度:从后备队列中按照一定的规则从外存处于后备队列的作业中挑选一个或多个作业给它们分配内存等必要资源,对建立对应的进程(pcb),以使它们获得竞争处理机的机会。多体现在调入内存这个过程,调出是作业运行完就会调出。只调入一次,调出一次。
对进程的影响:无->创建->就绪

2.中级调度(进程-内存调度)

虚拟存储技术:将在内存中暂时不运行的进程先调入外存等待。等重新具备运行条件再调入内存。PCB常驻内存,PCB会以挂起队列的形式在内存中。
对进程的影响:挂起态->就绪态;阻塞挂起->阻塞态
七状态模型:
在这里插入图片描述

3.低级调度(进程调度)

从就绪队列中选出一个进程,将处理机分配给它
对进程的影响:就绪态->运行态

4.进程调度的时机

主动放弃处理机:正常/异常终止,主动请求阻塞(等待IO)
被动放弃处理机:时间片用完,IO中断、更高优先级进入就绪队列

不能进行进程调度的场景:
在处理中断的过程中
在原子操作的过程中
在操作系统内核临界区时,访问普通临界区时是可以进行进程调度的

5.进程调度的方式

非剥夺调度方式:进程主动要求进入阻塞态,适用于早期的批处理系统
剥夺调度方式:优先级高的进程会剥夺优先级低的进程的处理权,适用于分时系统与实时系统

6.调度算法的评价指标

cpu利用率:忙碌的时间/总时间
系统吞吐量:总共完成多少道作业/总共花了多少时间
周转时间:作业的完成时间-作业的提交时间(作业从提交到完成总共花了多少时间)
平均周转时间:所有作业的周转时间之和/作业数
带权周转时间:值越小越好。
等待时间:进程等待时间=进程建立后等待被服务的时间之和;作业等待时间=建立进程后的等待时间+在外存后备队列的等待时间。
平均等待时间:所有作业的等待时间/作业数
响应时间:用户提出请求到首次产生响应的时间

7.调度算法

先来先服务算法(FCFS/作业&&进程)

哪一个作业/进程先到达后备队列/就绪队列(等待时间越久的),就先执行

周转时间=完成时间-到达时间
带权周转时间=周转时间/运行时间
等待时间=周转时间-运行时间(无IO操作) 等待时间=周转时间-运行时间-IO操作的时间(有IO操作)

优点:公平、实现简单
缺点:对于排在长作业后面的短作业需要等待很长时间,带权周转时间很大,用户体验不好。表现为对长作业有利,对短作业不利。
在这里插入图片描述

短作业优先(SJF)/短进程优先(SPF)

优先执行当前运行时间最短的任务,运行时间相同时,优先执行先到的任务

优点:平均带权/周转/等待时间都比FCFS低
在这里插入图片描述

最短剩余时间优先(SRTN抢占式/作业&&进程)

当前进程的剩余时间比新来的进程的时间要长,则新来进程抢占处理机

会产生饥饿,源源不断的短作业会导致长作业一直等待得不到运行

高响应比优先算法(HRNN 作业/进程)

响应比:(等待时间+要求服务时间)/要求服务时间
每次调度时优先选择响应比较高的进程或者作业进程调度
非抢占式的,当进程主动放弃时才进行调度
结合了FCFS和SJF的优点:当等待时间相同时,要求服务时间越短的进程响应比越高(短作业优点);当要求服务时间相同,等待时间越长的进程响应比优先(FCFS优点)
在这里插入图片描述

时间片轮转调度算法(进程调度/抢占式)

为了公平轮流的为各个进程服务,让每个进程在一定的时间间隔内都能得到响应
通过时钟装置来通知cpu时间到了
时间片太大,时间片轮转算法会退化为先来先服务算法,会增大进程的响应时间(可能很久才轮到自己)
时间片太小,进程切换开销会很大;切换进程开销不超过1%。

时间片为2的例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间片为5的例子:
在这里插入图片描述

优先级调度算法

可以设置静态优先级、动态优先级
系统进程优先级高于用户进程
前台进程高于后台进程
IO密集型高于计算密集型(让IO操作尽早与cpu并行)
当高优先级额进程源源不断的话,会导致低优先级额进程饥饿

非抢占式的优先级调度算法

每次选择当前已到达的且优先级最高的进程,当进程主动放弃处理机时发生调度。

抢占式优先级调度算法

每次选择当前已到达的且优先级最高的进程/当进程主动放弃处理机时发生调度/当就绪队列发生改变时检查是否发生抢占
在这里插入图片描述

多级反馈队列调度

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]的内容,408操作系统知识点可以总结如下: 1. 计算机系统概述 2. 进程管理 3. 内存管理 4. 文件管理 5. 输入/输出(I/O)管理 此外,根据引用\[2\]的内容,银行家算法是一种用于检查系统是否处于安全状态的算法,它采用预分配策略来分配资源,并通过安全性算法查找是否有安全序列。银行家算法是一种保守的算法,只有在系统处于安全状态时才会给进程分配资源。 还有根据引用\[3\]的内容,操作系统的功能包括中断处理、进程调度、用户接口、内中断处理等。进程调度可以采用时间片轮转算法或抢占式的优先级高者优先算法。操作系统还需要提供I/O通道来控制I/O硬件,并通过系统调用接口为应用程序提供功能。 综上所述,408操作系统知识点包括计算机系统概述、进程管理、内存管理、文件管理、输入/输出管理以及相关的算法和功能。 #### 引用[.reference_title] - *1* *2* [408 操作系统 知识点总结](https://blog.csdn.net/waaaa1999/article/details/118495911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【408】操作系统知识点(查漏补缺)](https://blog.csdn.net/qq_41181772/article/details/127851086)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值