程序运行

来源:互联网 发布:求双口网络的z参数矩阵 编辑:程序博客网 时间:2024/05/04 03:19

如果你的电脑上安装了QQ,你希望和好友聊天,会双击QQ图标,打开QQ软件,登陆

qq是怎么运行起来的呢?

首先,安装的qq软件是保存在硬盘中的,双击QQ图标,系统就会知道你要运行这个软件,它会在硬盘中找到qq软件,将数据(安装的软件本质就是很多数据的集合)复制到内存中,qq是在内存中运行的,因为内存的读写速度比硬盘快的多,对于读写速度,内存>固态硬盘>机械硬盘。机械硬盘是靠电机带动盘片转动来读写数据的,而内存是通过电路来读写数据的,电机的转速肯定没有电的传输速度快,虽然固态硬盘也是通过电路来读写数据,但是因为和内存的控制方式不一样,速度也不及内存。

所以,不管是运行qq还是编辑word文档,都是先将硬盘上的数据复制到内存,才能让cpu来处理,这个过程就叫载入内存,完成这个过程需要特殊的软件,这个程序就叫做加载器Loader

例如,打开word文档,输入一些文字,虽然我们看到的不一样了,但是硬盘中的文档没有改变,新增的文字暂时保存在内存中,Ctrl +S才会保存到硬盘,因为内存断电会丢失数据,所以如果没有保存就关机了,那么将无法找回这些内容。

虚拟内存

如果我们运行的程序较多,占用的空间就会超过内存容量,例如计算机的内存为2G,却运行着10个程序,占用3G,也就意味着需要从硬盘复制3G的数据到内存,显然是不可能的


操作系统(operating System)为我们解决了这个问题:当程序运行需要的空间大于内存容量时,会将内存中暂时不用的数据在写回到硬盘中,需要时再读取,这样硬盘中就会有一部分空间来存储内存中暂时不用的数据。这一部分的空间就叫做虚拟内存

硬盘的读写速度会比内存慢很多,反复交换会消耗很多,如果内存太小,会严重影响的计算机的运行数据

二进制

内存条是一个非常精密的部件,包含了上亿个电子元器件,他们很小,达到了纳米级别,这些元器件就是电路,电路的电压会变化,要么是0V,要么是5V,这有这两种电压,5V是通电是用1表示,0V是断电用0来表示,所以一个元器件有2种状态,0或者1.

一个元器件称为1比特(BIt)或1位,八个元器件称为一个字节,那么16个元器件就是2Byte,32个就是4Byte。

以此类推:

8x1024个元器件就是1024Byte,简写1KB

8x1024x1024个元器件就是1024KB,简写1MB

8x1024x1024x1024个元器件就是1024MB,简写1GB


0 0
原创粉丝点击