我正在寻找具体信息,希望有人能指点我,因为我已经找了一段时间了。至于与缓存内存相关的指令集,我猜是以下列表?那么无论它们是什么,您如何查看它们以查看其中是否有数据?
我愿意阅读和学习,但找不到相关信息。我知道调解员对模糊的帖子相当挑剔,但我的所有搜索都获取了有关蓝屏等的信息。
0x00000200
0x00000000
0x00000200
0x00000000
0x00000200
我知道它们是内存位置的十六进制表示,但是如果程序要访问它,代码中究竟会发生什么 - 意思是,命中或未命中,你如何检查?
谢谢,
利正
答案1
如果您提到这一点,Linux 正在使用 MMU 来实现虚拟内存。这意味着,如果一个进程使用这些数字作为内存地址,它们不一定是内存中的“真实”地址。中间有一个抽象层,它将进程看到的地址转换为内存库中的物理地址。
顺便说一句。我认为进程通常不会将数字 0x0 作为内存地址。这些可能不是绝对数字,而是其他数字的偏移量吗?
这是一篇关于该主题的好文章:http://en.wikipedia.org/wiki/Virtual_memory
你从哪里得到这些数字的?