操作系统-CPU管理

cpu应该工作的样子——并发

因为io非常的耗时,当cpu取指执行,在进行到io命令的时候,cpu会暂停工作,这样就导致cpu的利用率非常低,因此在io执行的过程中,cpu应该去做其他事情,多道程序交替执行,这就是并发。

在实现多道程序交替执行,如果两道程序都对共享变量进行访问与修改,就会导致程序出错,因此在切换前需要将参数变量以及返回地址入栈保存,返回的时候弹栈,即保存上下文。在进程中用PCB寄存器来保存上下文,在线程中用TCB保存上下文。每个进程和每个线程都有属于自己的PCB和TCB。

多进程如何组织

将PCB通过队列进行管理,分为工作队列、就绪队列和等待队列,等待队列为需要等待某个事件发生

进程状态图

启动磁盘读写,进入阻塞态,改变pcur的状态并放入磁盘等待队列,切换进程,调度就绪队列中的pcb,切换pcb。 

 调度策略

FIFO:先进先出  priority:优先级 

什么时候用多线程,什么时候用多进程

当对安全性不高,需要共享资源,相互合作和追求效率的时候用线程

当对安全性较高,对资源的开销和效率要求低时用进程

线程该有的样子

首先申请一段内存作为内核栈,申请一段用户态内存(硬件将内存分为用户态和核心态)作为用户栈 ,填写两个栈。将tcb关联内核栈,将tcb入队。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值