读《程序是怎样跑起来的》第5章

 

第五章主要讲的是内存和磁盘的关系,内存和磁盘被归类为存储部件,内存主要指主内存,主要负责CPU中运行的程序指令和数据内存,磁盘主要指硬盘,磁盘中存储的程序,必须要加载到内存后才能运行,在磁盘中保存的原始程序是无法直接运行的,原因是因为负责解析和运行程序内容的CPU需要通过内部程序计数器来指定内存地址,然后才能读出程序,即使CPU可以直接读出并运行磁盘中保存的程序,由于磁盘读取速度慢,程序的运行速度还是会降低。

 

内存和磁盘的关系一:磁盘缓存加快了磁盘的访问速度,磁盘缓存指的是把从磁盘中读出的数据结构存储到内存空间中的方式,使用磁盘缓存可以大大改善磁盘数据的访问速度。内存和磁盘的关系二:虚拟内存把磁盘作为部分内存来使用,虚拟内存是把磁盘的一部分作为假想的内存来使用,这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际是磁盘),虚拟内存的方法有两种分页式和分段式两种,分页式是指在不考虑程序构造的情况下,把运行的程序按照一定大小的页进行分割,并以页为单位在内存和磁盘中进行置换。

 

但是为了从根本上解决内存不足的问题,需要增加内存的容量或把运行的应用文件变小,把应用文件变小的编程方法有两种:1)通过DLL文件实现函数共有。2)通过stacall来减小程序文件的大小。

posted @ 2019-02-23 21:20  万物不及我  阅读(106)  评论(0编辑  收藏  举报