操作系统缓存一致性

写回机制


为什么把当前写入的数据先从内存读入到cache block中,还是要标记脏(Dirty)

因为我们要写入的数据,写操作通常只修改 Cache Block 中的一部分(一个字、半字节等),不是整个 Block。所以要先从内存读入完整的block,再进行写操作。

缓存一致性


如何解决缓存一致性的问题呢?

总线嗅探的方式很简单,就是比如ACPU修改了他的值,通过总线广播给其他核心,进行同步更改和A相同的数据。但是这个总线负载太大了,引入了MESI协议

MESI协议

无效就是一个数据在多个核心同时有,给了其中一个,别的要改为无效状态

相关推荐
不穿格子的程序员9 分钟前
Redis篇7——Redis深度剖析:主从数据同步原理与实践优化
数据库·redis·缓存·数据同步
Lovely Ruby15 分钟前
Cursor 迁移到 Zed 编辑器
java·缓存·编辑器
廋到被风吹走19 分钟前
【数据库】【Redis】监控与告警体系构建
数据库·redis·缓存
Irene199122 分钟前
前端缓存方式 对比 和 Service Worker 缓存详解
缓存·service worker
廋到被风吹走11 小时前
【数据库】【Redis】定位、优势、场景与持久化机制解析
数据库·redis·缓存
java1234_小锋19 小时前
说说Redis的内存淘汰策略?
数据库·redis·缓存
怀旧,21 小时前
【Linux系统编程】13. Ext系列⽂件系统
android·linux·缓存
不穿格子的程序员1 天前
Redis篇5——Redis深度剖析:系统的“隐形杀手”——热Key与大Key问题
数据库·redis·缓存·热key·大key
暴富暴富暴富啦啦啦1 天前
Map 缓存和拿取
前端·javascript·缓存