[操作系统]处理机调度的概念和层次
调度的三个层次
高级调度(作业调度):操作系统调入作业,把作业从外存调入内存,建立相应的PCB,作业运行结束才调出,只发生一次
中级调度(内存调度):引入虚拟存储技术,将暂时不能运行的进程调至外存等待,等时间再调入内存,进程状态为挂起状态,PCB还是常驻内存
可能会发生多次
低级调度(进程调度):在就绪队列中选取一个进程,发生频率很高
进程还有两个状态:
就绪挂起和阻塞挂起,就绪态或阻塞态都能被挂起再激活,处于挂起状态的进程映像是在外存的
不能进行切换的情况:
1.在处理中断的过程中
2.进程在内核临界区中
3.在原子操作过程中
临界资源:一个时间段只允许一个进程使用的资源,各进程要互斥访问
临界区:访问临界资源的代码,普通临界区不影响内核管理工作的,可以进行切换调度
内核临界区:访问某种内核数据结构,比如就绪队列,访问的时候会进行上锁,因此不能调度切换
进程调度方式:
1.非抢占式,进程主动放弃的才切换
2.抢占式,使用时间片轮转,抢占调度,分时操作系统/实时操作系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-12-30 [PHP] PHP7已经删除了preg_replace的e修饰符
2017-12-30 [日常] 2017年2月工作总结
2017-12-30 [日常] 2017年1月工作总结