内存和磁盘的关系

内存和磁盘的区别

存储方式

存储方式
内存利用电流来实现存储
磁盘利用磁效应来实现存储的

存储容量
内存是高速高价,而磁盘则是低速廉价

程序,内存和磁盘的交互关系

重点:存储在磁盘中的程序需要读入到内存后才能运行
图:
在这里插入图片描述

磁盘缓存

定义:把从磁盘中读取的数据存储到内存空间中的方式,这样一来,当接下来需要读取同一数据时,就不用通过实际的磁盘,而是从磁盘缓存中把内容读出

缓存

定义:把低速设备的数据保存在高速设备中,需要时可以直接将其从高速设备中读出的方式

示例
1、磁盘把数据缓存在内存中

2、Web 浏览器就可以把获取的数据暂时保存在磁盘中,然后在需要时再显示磁盘中的数据

虚拟内存

定义:指把磁盘的一部分作为假想的内存来使用

作用:通过借助虚拟内存,在内存不足时也可以运行程序

本质
1、通过打时间差的方式,把实际内存的内容和磁盘上的虚拟内存的内容进行部分置换(swap),并同时运行程序

2、虚拟内存虽说是把磁盘作为内存的一部分来使用,但实际上正在运行的程序部分,在这个时间节点上必须存在在内存当中

分页式虚拟内存

定义:在不考虑程序构造的情况下,把运行的程序按照一定大小的页(page)进行分割,并以页为单位在内存和磁盘间进行置换

实现方式
1、Windows 在磁盘上提供了虚拟内存用的文件(page file,页文件)。该文件由 Windows 自动做成和管理。文件的大小也就是虚拟内存的大小,通常是实际内存的相同程度至两倍程度

2、把磁盘的内容读出到内存称为 Page In,把内存的内容写入磁盘称为Page Out,进行相应的替换操作
图:
在这里插入图片描述

分段式虚拟内存

定义: 把要运行的程序分割成以处理集合及数据集合等为单位的段落,然后再以分割后的段落为单位在内存和磁盘之间进行数据置换。

从代码编写角度来节约内存

定义:通过 DLL 文件实现函数共有

方式:是在程序运行时可以动态加载 Library(函数和数据的集合)的文件。此外,还有一个需要大家注意的地方,那就是多个应用可以共有同一个 DLL 文件。而通过共有同一个 DLL 文件则可以达到节约内存的效果

图:
在这里插入图片描述

磁盘的物理结构

磁盘划分方式: 划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间

扇区:把磁盘表面分成若干个同心圆的空间就是“磁道”,把磁道按照固定大小(能存储的数据长度相同)划分而成的空间就是“扇区”

:(计算机术语)磁盘文件存储管理的最小单位

簇的大小
1 簇可以是 512 字节(1 簇 = 1 扇区)、1KB(1 簇 = 2 扇区)、2KB、4KB、8KB、16KB、32KB(1 簇 = 64 扇区)

关于簇的容量讨论
1、从存储方式: (尽量减小)不管是硬盘还是软盘,不同的文件是不能存储在同一个簇中的,否则就会导致只有一方的文件不能被删除
2、从读取方式看:(尽量增大)如果减少簇的容量,磁盘访问次数就会增加,就会导致读写文件的时间变长

固态硬盘 VS 传统硬盘

1、 读写速度快。固态硬盘采用闪存作为存储介质,不像机械硬盘那样有机械转动,寻道时间几乎为0,并且读写速度超越机械硬盘几倍甚至几十倍,2.5寸SATA3固态硬盘已经能够达到500MB/s的持续读写速度,PCIE固态硬盘甚至能达到2GB/s,然而最重要的是固态硬盘的4K小文件读写能达到机械硬盘的上百倍,这就是使用固态硬盘后电脑不会卡机的原因。

2、 体积小,重量轻。固态盘抛弃了机械硬盘的结构(磁头、盘片、马达等等),纯电路板与半导体元器件组成,因此体积可以非常小,同时重量也可以变得非常轻。

3、 低功耗。没有机械运动的固态硬盘功耗要小于机械硬盘。

4、 无噪音。没有机械运动的固态硬盘运行时几乎没任何声音。

5、 防震抗摔性:传统硬盘都是磁碟型的,数据储存在磁碟扇区里,而固态硬盘数据存储与闪存中。机械硬盘如果发生碰撞或者磕碰容易丢失数据甚至损坏,而固态硬盘没有机械部件,在剧烈晃动或者震荡时不易丢失数据。

固态硬盘 VS 内存

ssd的读写速度远没有内存快。现在最好的ssd硬盘读写大概500mb/s,而现在一般的ddr3代1333的速度读写在7000mb/s以上,不是一个数量级的。

经典提问环节

1、通过使用内存来提高磁盘访问速度的机制称为什么?
(Disk Cache (磁盘缓存)
解析:
磁盘缓存是指,把从磁盘中读出的数据存储在内存中,当该数据再次被读取时,不是从磁盘而是直接从内存中高速读出

2、把磁盘的一部分作为假想内存来使用的机制称为什么?
虚拟内存  (virtual memory)

3、Windows 中,在程序运行时,存储着可以动态加载调用的函数和数据的文件称为什么?
DLL  (DLL 文件) Dynamic Link Liabrary 英 [daɪˈnæmɪk] adj. 动态的

发布了239 篇原创文章 · 获赞 78 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_39966065/article/details/104193886
今日推荐