原子操作

原子操作,atomic operation。google 了半天,答案最多的就是“一系列不可被打断的操作”,借鉴的物理里面最小的物质单位“原子”的概念。(至于还有夸克等等,不在此讨论范围之列)。

 

很想知道原子操能得以实现的底层原理是什么?CPU? 操作系统? 觉得和两者之间都有关系。

 

如果一个操作本身就可以用一条机器指令来完成,那么这个操作就应该是原子的。这是由CPU的运行原理来决定的。因为大部分的CPU在一条指令内部是不会被中断的。(原因好像是CPU在执行一条指令之前会先关中断吧。等指令执行完后才会再打开中断。 具体内容待重新查阅 计算机体系结构后 再确定)

 

可如果一个操作需要多条机器指令来完成呢,那单靠CPU是不是就不能够解决这个问题了。还得操作系统来协助。方法可能是在进程切换上动手脚吧。如果没有了进程的切换,相当于只有一个进程在执行,那所有的操作自然不会被中间打断了。(可参考一哥们写的《管窥OS——进程透明化》

 

还有一种情况就是系统中可能会存在多个CPU的情况,这时候的原子操作就还得考虑多个CPU内的多个线程之间的协调问题了。唉,头都大了

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值