程序执行的底层原理

程序执行的底层原理

  • 程序是什么?–> QQ.exe
  • 进程是什么? --> 程序启动进入内存;资源分配的基本单位
  • 线程是什么? --> 程序执行的基本单元;CPU调度的最小单位是线程
  • 程序如何执行?–> CPU 读指令-PC(存储指令地址),读数据Register+计算+回写-寄存器 --> 下一条指令
  • 线程如何进行调度? --> linux线程调度器(OS)操作系统
  • 线程切换的概念是什么? --> Context Switch;CPU保存现场,执行新线程,恢复现场,继续执行原线程 这样的一个过程

关键的几点

  • a)进程之间是 相互独立的,不共享 内存和数据,线程之间 的内存和数据是 公用的,每个线程只有自己的一组CPU指令、寄存器和堆栈,对于线程来说只有CPU里的东西是自己独享的,程序中的其他东西都是跟同一个进程里的其他线程共享的。
  • b)过去单CPU时代,最先是单任务阶段 在一个时间点 只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会获得一定的时间片运行。而现在多核CPU的情况下,同一时间点可以执行多个任务(并行),具体到这个任务在CPU哪个核上运行,这个就跟操作系统和CPU本身的设计相关了。

参考文章:https://blog.csdn.net/qq_33530388/article/details/62448212

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值