如果你电脑上装有MSN程序,你希望和好友聊天,会用鼠标点击打开MSN图示,启动MSN软件,输入账户名和密码,然後登录就可以了。
那么,MSN是怎样在你的电脑上运行起来的呢?
装载道内存,让程序运行起来。
首先,有一点你要知道,你电脑上安装的MSN软件是保存在硬盘中的。
双击MSN图示,操作系统就会知道你要运行这个软件,它会在硬盘中找到你安装的MSN软件,将资源(硬盘里的软件本质上就是许多资源数据的集合)拷贝到内存。对!就是拷贝到内存条!MSN不是在硬盘中运行的,而是在内存中运行的。
这究竟是为什么呢?主要是由于内存的读写速度比硬盘快很多。
对於读写速度,内存远远 大于 固态硬盘 更加大于 机械硬盘。机械硬盘是靠电机带动盘片转动来读写资源的,而内存条通过电路来读写资源,电机的转速必定没有电的传输速率快。尽管固态硬盘也是经过电路来读写资源,可是由于与内存的控制方法不一样,速度也远不及内存。
所以,不管是运行MSN或编辑文本文档,都是先将硬盘上的资源拷贝到内存,才能让CPU来处理,这个过程称作载入内存(Load into Memory)。完成这一过程要一个特殊的程序,这个程序就叫做载入器(Loader)。
CPU直接与内存交互,它会读取内存中的资源进行处理,并将结果存入内存。当要保存到硬盘,才会将内存中的资源复制到硬盘。
比如,打开记事本软件,键入一些文字,尽管我们看上去是改变了,实际上硬盘中的文本文件并没有改动,新增的文字暂时保存到了内存,需按Ctrl+S才会保存到硬盘。由于内存断电後会丢失数据,所以假如你编辑完记事本文档忘记保存就关机了,那么你将永久无法找回这些内容。
虚拟内存
若我们运行的程序较多,占用的空间就会超过内存(内存条)容量。例如电脑的内存容量为2G,却运行着20个程序,这20个程序共占用3G的空间,也就意味着需要从硬盘拷贝 3G 的资源到内存,这显然是不可能的。
操作系统(Operating System,简称 OS)为我们解决了此问题:当程序运行需要的空间大於内存容量时,会将内存中暂时不要的资源再写回硬盘;需要这些资源时再从硬盘中读取,并将另外一部分暂时不要的资源写入硬盘。这样,硬盘中就会有一部分空间用来存放内存中暂时用不上的资源。这一部分空间就叫做虚拟内存(Virtual Memory)。
3G - 2G = 1G,以上情况需要在硬盘上分配 1G 的虚拟内存。
硬盘的读写速度比内存慢太多,重复交换资源会消耗许多时间,倘若你的内存太小,会严重影响电脑的运行速度,甚至会出现”卡死“现象,即便CPU微弱,也不会有大的改观。假如经济条件允许,建议增大内存,在 win7、win8、win10 下运行软件就会比较流畅了。
知乎: @张赐荣
赐荣博客: www.prc.cx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!