进程与线程

1.进程的引入

由于单道处理程序对 CPU 利用率太低(程序在进行IO操作时,CPU 处于空闲状态)。于是引入了多道处理程序,由于 CPU 要在多个程序间切换执行,于是引入了一个概念:进程

进程记录执行中程序的状态(寄存器数据、进程状态、调度相关信息…)。这样我们对操作系统就有了一个宏观的视图,操作系统只需要把这些进程记录好,按照合理的次序推进(分配资源、进行调度)

所以说进程是操作系统分配资源的最小单位

2.线程的引入

虽然我们引入了进程已经可以完成多道处理程序来提高 CPU 利用率。假设一个进程需要并发执行,就需要fork()出多个进程进行执行,由于每个进程独享一块地址空间,那么在进程调度的时候,就需要切换虚拟内存映射表(涉及到内存管理),这样就会产生额外的开销。

为了减少进程间切换产生的开销,于是引入了线程。一个进程可以包含多个线程,当然一个进程也算是一个主线程。还是上面的问题,当一个程序并发执行时,线程间切换只需要修改 PC 指针指向的地址,对于内存映射表是不需要切换的。
在这里插入图片描述
所以说线程是CPU调度的最小单位

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值