2010-07-20 78 views
1

我想破解旧的unix内核。我只是想用软件来实现MMU和TLB。有人能告诉我什么是最好的数据结构和算法用于构建一个。我看到很多人使用splay树,因为它很容易实现LRU。有没有更好的数据结构?什么是在软件中将虚拟地址转换为物理地址的最有效方式。将其x86架构和翻译作为任何基本的页表转换。建立一个基于软件的MMU和TLB

回答

0

你提到效率。这是你设计的目标吗?如果你不受限于任何特定的目标,只是试着让它工作。如果可以的话,我会做单层页面表,无论是直接关联还是完全关联。听起来你已经过去了。

最高效的将取决于大小 - 速度折衷和你期望的地点。你有任何关键的应用程序配置,或者这只是搞乱一些尝试一些实现?反转页面表用于一些较新的体系结构。我会认为这是一个花费大量时间研究这个问题的人认为这是一个好方法。