【操作系统】【进程】处理机的调度
调度:有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是调度研究的问题。
处理机调度:就绪队列中按照一定的算法选择一个进程,并将处理机分配给他运行,以实现进程的并发执行。
调度的三个层次:
高级调度:
按一定的原则从外存上处于后备队列的作业中选择一个或多个作业给他们分配内存等必要资源。并建立相应的进程(建立PCB),以使它们获得竞争处理机的权利。
高级调度是外存与内存之间的调度,每个作业只能调入一次,调出一次。业调入时会建立相应的PCB,作业调出时才撤销PCB。高级调度主要是指调入的问题,因为只有调入的时机需要操作系统来决定,但调出的时机必然是作业运行结束才调出。
中级调度:
低级调度:
进程调度的时机 切换与过程调度方式
进程调度是为了进程切换
进程调度的方式
非剥夺调度方式 | 剥夺调度方式 |
只允许进程主动放弃处理机 | 若有更重要的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要的那个。 |
进程的切换与过程
调度算法的评价指标
调度算法
先来先服务:考虑等待时间,短作业不友好
短作业优先:考虑执行时间,长作业不友好
高响应比优先:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能