[操作系统]进程的控制
进程控制:创建新的进程,撤销已有进程,实现进程状态转换
创建完成,提交===>就绪队列===>调度,切换===>CPU===>完成/异常结束
用原语实现进程控制,原语的特点是执行期间不允许中断,只能一气呵成,这种不可中断操作就是原子操作
原语采用"关中断指令"和"开中断指令"
1.进程的创建:
从无-->创建态-->就绪态
1)创建原语
申请空白PCB
为新进程分配所需资源
初始化PCB
将PCB插入就绪队列
2)引起进程创建的事件
用户登录-分时系统中,用户登录成功,系统会为其建立一个新进程
作业调度-多道批处理系统中,有新的作业放入内存
提供服务-用户向操作系统提出某些请求
应用请求-用户进程主动请求创建
2.进程的终止
1)撤销原语
从PCB集合中找到终止进程的PCB
立即剥夺CPU,将CPU分配其他进程
终止其所有子进程
将该进程的资源归还给父进程或操作系统
删除PCB
2)引起进程终止的事件
正常结束
异常结束
外界干预
3.进程的阻塞
引起进程阻塞的事件
需要等待系统分配某种资源
需要等待相互合作的其他进程完成工作
4.进程的唤醒
5.进程的切换
1)当前进程时间片到
2)有更高优先级的进程到达
3)当前进程主动阻塞
4)当前进程终止
【推荐】国内首个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月工作总结