L9 多进程图像

什么是多进程图像?

  • 如何使用CPU呢?

    让程序执行起来

  • 如何充分利用CPU呢?

    启动多个进程,交替执行

  • 启动了的程序就是进程,所以是多个进程推进

    操作系统只需要把这些进程记录好,要按照合理的次序推进(分配资源,进行调度)
    这就是多进程图像。
    在这里插入图片描述
    有关fork()的详细说明:fork()执行时,会产生一个子进程,该子进程与父进程除了进程号外,一模一样,fork()返回的值是子进程的号,而子进程返回的值是0。所以从if(!fork()){};可以判断是否为子进程还是父进程,从而实现叉子的效果!
    在这里插入图片描述
    PCB:用来记录进程信息的数据结构,切换进程改变PCB

把进程按照状态进行分类:新建态,就绪态,运行态,阻塞态,终止态
在这里插入图片描述
多进程图像:多进程如何交替?
pCur为当前进程
在这里插入图片描述
启动磁盘读写;开始写;(写磁盘比较慢)将该进程放在就绪态;schedule();从就绪状态中选择下一个进程开始工作。
switch_to(pCur,pNew);//把这个进程的状态用PCB保存起来,把接下来的PCB赋给各个寄存器。
在这里插入图片描述

进程调度

在这里插入图片描述
多进程图像:多进程如何影响?
多个进程同时存在于内存会相会影响。当进程随机切换时,有时候,会影响操作的结果,需要在线程执行时候对某一段程序进行上锁操作!

在这里插入图片描述
要修改counter,两个counter的话会由于进程的切换导致,结果就会出错。
在这里插入图片描述
怎么解决,给进程上锁
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值