深挖CAS的底层实现

前言

代码层面,所有的锁在cpu层面都是一条条的指令,所有最终所有的锁,都要考底层指令的支持,CAS是代码层面比较常用的一种“无锁”,实际对应于cpu里面的几条指令,当然一个cpu有多个核下是如何解决锁的。在单核的时候,还可以通过关闭中断,来阻止操作系统调度。但是在多核的情况下,各个cpu是并行执行的,因此这个时候,就会出现,同时获取到锁的状态,而这个时候,通过禁止中断,是没有效果的,就需要引入一种机制实现多核本地缓存失效和内存全局的锁,涉及多级缓存的失效与同步,其实在计算机组成原理与操作系统里面有学的。

阅读更多

Cache与虚存的异同

虚拟存储器

虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。
虚拟存储器指的是主存——外存层次。它以透明的方式给用户提供 了一个比实际主存空间大得多的程序地址空间。

阅读更多