操作系统缓存一致性

写回机制


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

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

缓存一致性


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

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

MESI协议

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

相关推荐
闻哥9 分钟前
MySQL InnoDB 缓存池(Buffer Pool)详解:原理、结构与链表管理
java·数据结构·数据库·mysql·链表·缓存·面试
gechunlian8816 分钟前
redis exporter手册
数据库·redis·缓存
小龙报44 分钟前
【数据结构与算法】栈和队列的综合应用:1.用栈实现队列 2.用队列实现栈 3.设计循环队列
c语言·数据结构·数据库·c++·redis·算法·缓存
油丶酸萝卜别吃1 小时前
Redis 通常应用于哪些场景?
数据库·redis·缓存
skiy2 小时前
redis 使用
数据库·redis·缓存
奕成则成2 小时前
Redis 大 Key 问题排查与治理:原因、危害、实战方案
数据库·redis·缓存
黑白两客3 小时前
Vue 缓存机制
前端·vue.js·缓存
SuperEugene3 小时前
Vue keep-alive 实战避坑:include/exclude + 路由 meta 标记,中后台路由缓存精准可控|状态管理与路由规范篇
开发语言·前端·javascript·vue.js·缓存·前端框架
難釋懷4 小时前
实现多级缓存
缓存
深蓝轨迹5 小时前
黑马点评-day02-缓存笔记
redis·笔记·缓存·mybatis