一、关于程序运行时内存与硬盘的关系介绍
如果你的电脑上安装了 QQ , 你希望和好友聊天 , 会双击 QQ 图标 , 打开 QQ 软件 , 输入账号和密码 , 然后登录就可以了 。
那么 , QQ 是怎么运行起来的呢?
首先 , 有一点你要明确 , 你安装的 QQ 软件是保存在硬盘中的 。
双击 QQ 图标 , 操作系统就会知道你要运行这个软件 , 它会在硬盘中找到你安装的 QQ 软件 , 将数据(安装的软件本质上就是很多数据的集合)复制到内存 。对!就是复制到内存!QQ 不是在硬盘中运行的 , 而是在内存中运行的 。
为什么呢?因为内存的读写速度比硬盘快很多 。
对于读写速度 , 内存 > 固态硬盘 > 机械硬盘 。机械硬盘是靠电机带动盘片转动来读写数据的 , 而内存条通过电路来读写数据 , 电机的转速肯定没有电的传输速度(几乎是光速)快 。虽然固态硬盘也是通过电路来读写数据 , 但是因为与内存的控制方式不一样 , 速度也不及内存 。
所以 , 不管是运行 QQ 还是编辑 Word 文档 , 都是先将硬盘上的数据复制到内存 , 才能让 CPU 来处理 , 这个过程就叫作载入内存(Load into Memory) 。完成这个过程需要一个特殊的程序(软件) , 这个程序就叫做加载器(Loader) 。
CPU 直接与内存打交道 , 它会读取内存中的数据进行处理 , 并将结果保存到内存 。如果需要保存到硬盘 , 才会将内存中的数据复制到硬盘 。
例如 , 打开 Word 文档 , 输入一些文字 , 虽然我们看到的不一样了 , 但是硬盘中的文档没有改变 , 新增的文字暂时保存到了内存 , Ctrl+S 才会保存到硬盘 。因为内存断电后会丢失数据 , 所以如果你编辑完 Word 文档忘记保存就关机了 , 那么你将永远无法找回这些内容 。
虚拟内存
如果我们运行的程序较多 , 占用的空间就会超过内存(内存条)容量 。例如计算机的内存容量为 2G , 却运行着 10 个程序 , 这 10 个程序共占用 3G 的空间 , 也就意味着需要从硬盘复制 3G 的数据到内存 , 这显然是不可能的 。
操作系统(Operating System , 简称 OS)为我们解决了这个问题:当程序运行需要的空间大于内存容量时 , 会将内存中暂时不用的数据再写回硬盘;需要这些数据时再从硬盘中读取 , 并将另外一部分不用的数据写入硬盘 。这样 , 硬盘中就会有一部分空间用来存放内存中暂时不用的数据 。这一部分空间就叫做虚拟内存(Virtual Memory) 。
3G – 2G = 1G , 上面的情况需要在硬盘上分配 1G 的虚拟内存 。
硬盘的读写速度比内存慢很多 , 反复交换数据会消耗很多时间 , 所以如果你的内存太小 , 会严重影响计算机的运行速度 , 甚至会出现”卡死“现象 , 即使 CPU 强劲 , 也不会有大的改观 。如果经济条件允许 , 建议将内存升级为 4G , 在 win7、win8 下运行软件就会比较流畅了 。
图 1:CPU、内存、硬盘和主板的关系
二、数据在内存中的存储方式
推荐阅读
- 《斗破苍穹》手游散人搬砖必备攻略 斗破苍穹手游选什么职业好
- 初学者怎么画鼻影
- 7个完全免费的良心软件 编程软件免费有哪一些
- 初学者需要好好掌握 ps文字工具在哪里找
- 32个实用matlab编程技巧 matlab编程教程
- 打工人必备的手机端WPS小技巧 手机wps怎么改文件名
- Excel制作表格只要四个技巧 怎么用电脑做表格初学者
- 办公必备格式转换神器 格式工厂转换器免费版
- 最全最完整的教学课程 php编程用什么软件
- 你的手机里有哪些必备的软件 软件下载大全免费安装