什么是虚拟内存的作用原理及其在操作系统中的具体应用?
- 内容介绍
- 相关推荐
本文共计6158个文字,预计阅读时间需要25分钟。
通过阅读上一篇文章的阐述,我们已初步了解了存储器的层次结构。技术细节虽复杂,但只要把握住其简单的缓存思想,便不难理解。接下来,我们将开始讨论关于内存的另一个话题。
通过上一篇文章的扯淡,我们应该已经明白了存储器的层次结构,技术细节很复杂,但是思想却不难理解,因为就是很简单的缓存思想。那么本文我们开始讨论关于内存的另一个话题.虚拟内存。其实思想也是很容易理解的。
我不知道有多少人听过虚拟内存这个概念,但是虚拟内存是计算机系统最重要的概念之一,并且它成功的主要原因就是它一直在沉默的,自动的工作,换句话说,我们这些做应用的程序员根本不需要干涉它的工作过程,但是一个没追求的码农不是好的搬砖民工,所以作为一个有理想有抱负的程序员,我们还是要去理解虚拟内存,甚至可以这样说,如果不理解虚拟内存,你根本不可能理解程序的深层次运行原理。也不可能去理解汇编器,链接器,加载器,共享对象,文件和进程等概念。
上篇文章中提出了几个让大家思考的问题:
- 不管什么程序,最后的直接/间接的编译结果都是0和1,(我们直接理解为汇编)。(这点不知道的,欢迎阅读我的另一篇文章关于跨平台的一些认识),比如这句汇编代码:
mov eax,0x123456;它的意思是将内存0x123456处的内容送往eax这个寄存器。各个应用的数据共同存在内存中的。假设有一个音乐播放器应用的汇编代码中,引用了0x123456这个内存地址。但是同时运行的应用有很多,那其他应用也完全有可能引用0x123456这个地址。
本文共计6158个文字,预计阅读时间需要25分钟。
通过阅读上一篇文章的阐述,我们已初步了解了存储器的层次结构。技术细节虽复杂,但只要把握住其简单的缓存思想,便不难理解。接下来,我们将开始讨论关于内存的另一个话题。
通过上一篇文章的扯淡,我们应该已经明白了存储器的层次结构,技术细节很复杂,但是思想却不难理解,因为就是很简单的缓存思想。那么本文我们开始讨论关于内存的另一个话题.虚拟内存。其实思想也是很容易理解的。
我不知道有多少人听过虚拟内存这个概念,但是虚拟内存是计算机系统最重要的概念之一,并且它成功的主要原因就是它一直在沉默的,自动的工作,换句话说,我们这些做应用的程序员根本不需要干涉它的工作过程,但是一个没追求的码农不是好的搬砖民工,所以作为一个有理想有抱负的程序员,我们还是要去理解虚拟内存,甚至可以这样说,如果不理解虚拟内存,你根本不可能理解程序的深层次运行原理。也不可能去理解汇编器,链接器,加载器,共享对象,文件和进程等概念。
上篇文章中提出了几个让大家思考的问题:
- 不管什么程序,最后的直接/间接的编译结果都是0和1,(我们直接理解为汇编)。(这点不知道的,欢迎阅读我的另一篇文章关于跨平台的一些认识),比如这句汇编代码:
mov eax,0x123456;它的意思是将内存0x123456处的内容送往eax这个寄存器。各个应用的数据共同存在内存中的。假设有一个音乐播放器应用的汇编代码中,引用了0x123456这个内存地址。但是同时运行的应用有很多,那其他应用也完全有可能引用0x123456这个地址。

