专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> 载入内存,让程序运行起来
载入内存,让程序运行起来
来源:网络整理 时间:2023/2/17 13:42:39 共
3627
浏览
如果你的电脑上安装了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、win10 下运行软件就会比较流畅了。
关于内存的更多知识,大家可以阅读《C语言内存精讲》,我敢保证你将会顿悟。
总结:CPU直接从内存中读取数据,处理完成后将结果再写入内存。
图1:CPU、内存、硬盘和主板的关系
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
常州轨道公司官方网站
唯特技术有限公司网站
昌吉网站建设公司哪家好
寻唐记食品公司网站
昆明网站建设公司建站模板
宁夏有名的网站建设公司
苏州网站建设与制作公司
爱优婚恋网站骗子公司
婴幼儿用品网站设计公司
汉英翻译网站建设公司
·上一条:
ASCII编码,将英文存储到计算机
|
·下一条:
数据在内存中的存储(二进制形式存储)
同类资讯
mysql查询学号尾数,SQLITE中如何获得刚刚新增的记录的自动编号_
MySQL密码过期_数据库
mysql里面是怎么试用表变量的_数据库
mysql定义查询结果,MYSQL百万级数据单查询_数据库
mysql查询表内容,mysql如何导出整个数据库_数据库
mysql 查询字段内容,mysql字段名怎么定义_数据库
mysql查询整表,对于sql中查询一个表中前几条记录应该怎么查询_数据
mysql 查询每小时,Python好学吗_数据库
mysql自动运行查询,如何在MYSQL中查看所有的表名_数据库
ZKEYS公有云管理系统可以管理虚拟主机吗_数据库
软件开发时数据在后台是如何保存的_数据库
java程序员薪资多少_java
Java短信验证码功能怎么实现_java
二维数组的性质_java
里面可以放入一个Boolean类_java
简述重载与覆盖的区别java_java
有哪位大佬谁能用外行人的语言给我简单解释一下吗_java
中父类方法中可以调用子类的方法吗_java
用Java检测远程主机是否能被连接_java
计算机系毕业设计怎么做_java
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com