想深入了解内存操作的知识看什么书好呢?

现在看一些语言的书籍时,很想去了解操作系统,和内存中是怎么对这些来进行处理的。请问这方面的书籍是看那些方面的呢?谢谢,请列出所看书籍清单,最好是经典的。
[b]问题补充:[/b]
源码剖析的书有什么经典的推荐吗?

《深入理解计算机系统》应该是个不错的选择吧,会涉及到指令的处理和内存操作,不过并不会涉及多少操作系统的内容。操作系统的内存管理另外找本书来读,例如《现代操作系统》之类的。这两本都是各自的主题中很经典的了。

另外也可以配合一些源码剖析的书来阅读就是了。

看汇编语言的书比较好。
在指令和地址之间摸爬滚打出来以后,你对内存的理解就特别深刻了。

操作系统方面,对linux早期内核的源码剖析的书现在几乎泛滥了,而且很多都是你抄我我再抄你,大同小异。可以自己选一本来读。

想提一点,语言和操作系统,再到硬件,几个不同层次上对“内存”“指令”之类的概念的理解相差还是挺大的。它们不在一个抽象层次上,很多时候如果直接把底层的一些概念搬到更高的抽象层上来运用会有偏差。
让我想起在[url=http://rednaxelafx.iteye.com/blog/202334]Ruby 1.8.x中复合赋值运算符的实现[/url]这帖里我描述的状况,Ruby 1.8.6里明明没有编译到底,而是直接在抽象语法树上解释执行,但在某论坛读到的那帖有人连汇编都弄出来了,其实有点误导人了。
还有一些例子,像是如果一个人只读过JVM规范而没有了解过JVM的实际实现,他可能会以为所有JVM都真的是在运行时慢吞吞的用operand stack来做运算,像是
[code="java"]int i = 1;
int j = 2;
int k = i + j;[/code]
真的是iload i、iload j之后iadd然后istore到k。实际在运算性能比较好的平台上,许多JVM在把代码JIT了之后这几句很可能就是一句add而已,一点也不慢。

举例只是为了说明不同抽象层次上看起来相似的概念底下可能有很不同的内涵。基本原理总是相通的,实际应用则会涉及到更多的细节,需要小心注意。如果楼主是对语言感兴趣,那请注意好你所关注的语言的抽象层次上这些相关概念是怎样的。