为什么CPU要多进程的并发运行

1 .CPU的作用

执行程序

2.如何执行: 通过程序计数器PC在内存中读取指令。

PC的功能是用于存放指令的地址,PC的初值为程序第一条指令的地址,CPU中的控制器首先按程序计数器所指出的指令地址从内存中取出一条指令,然后分析和执行该指令,同时将PC的值加1指向下一条要执行的指令,从而实现顺序执行程序。执行程序的过程本质是不断从内存中取出指令再执行的过程

3.这样的模式有什么问题:

在顺序执行程序过程中,如果遇到一条指令需要执行I/O等不需要占用CPU的操作,那么CPU需要等这条指令执行完毕后才能继续工作,但是I/O操作是非常耗费时间的,这样极大的降低了CPU的利用率。

4.如何解决CPU利用率低:

引入多进程的概念,让多个进程在CPU上并发的执行(交替执行)。具体过程是让CPU先执行进程A,当进程A遇到I/O等操作时,不占用CPU了,此时就把CPU拿给进程B用。并在程序A需要CPU时,将CPU拿给程序A用,这里有一个注意的点就是,CPU需要知道之前离开A时,A的状态是怎样的。 所以我们引入PCB(进程控制块)来保存进程的状态(返回地址,变量的值,PC的值…),在CPU返回时能正确的把程序A执行下去
PCB:用来记录进程信息的数据结构
举一个形象的例子:把我们人脑比作CPU,当我们读书本A的中途,去读了书本B,当我们返回来读书本A时,我们需要记住读到了第几页,是哪一行的内容,之前的内容是怎样的。从而才能顺利的把书本A继续读下去。

多进程图像(多个进程推进)

操作系统的任务: 分配资源,进行调度,合理的推进多进程的执行

进程的三大状态转换:
就绪–>运行(获得CPU使用权),运行–>就绪(分时系统中时间片结束),运行–>阻塞(等待某事件),阻塞–>就绪(某事件完成)
进程在创建时被放入就绪队列

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值