问题描述
|
请忍受我,这些问题可能是非常基本的。我只是想了解基本原理。
OS是否实现了诸如LRU之类的缓存驱逐算法?如果是这样,我们如何才能找到当前正在使用的算法,程序员是否可以更改它?
由于缓存与处理器一起使用,因此读写策略是硬编码的,还是由操作系统决定?
是否有单独的数据和指令缓存?还是它们共享相同的缓存?
当前在操作系统中用于解决缓存一致性问题的算法是什么?
感谢您耐心回答我的问题。
濑户
解决方法
只是一个答案?好
1.)未实现任何硬件。如果没有,则应由供应商进行记录,否则可以使用微基准测试。
2.)硬件
3.)如上所述,L1缓存具有用于数据和指令的单独缓存。虚拟内存也有TLB。
4.)我上学期参加了涵盖这些主题的课程。可以在线获取幻灯片:http://www.systems.ethz.ch/education/past-courses/hs09/mmdbms
, 通常,缓存策略由硬件决定。通常有单独的数据和指令缓存,以及转换后备缓存(TLB)缓存。操作系统没有对缓存的直接控制,但是可以在虚拟内存映射中做出决定,以优化缓存的使用。