据我了解,有一些硬件实现的技术可以使 CPU L1 缓存与 RAM 中的数据保持一致(在共享变量上执行读/写时)
- 每次写入都会使所有 CPU 缓存中的相应条目失效
- 或者,每次写入都会更新所有其他 CPU 缓存上的相应条目
是否有类似的机制(软件/硬件方面)来维护页面缓存的一致性?据我了解,页面缓存是一种回写式缓存,这意味着写入仅显示在缓存中,但仅稍后“异步”显示在磁盘上(例如,当页面从缓存中逐出时)。
答案1
系统调用同步或者同步指示磁盘驱动程序使写入持久化,但不保证。此外,这两个调用都是阻塞或同步的。