程序运行
来源:互联网 发布:求双口网络的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
- 运行程序
- 程序 运行
- 程序运行
- 程序运行
- 防止程序重复运行
- 取得程序运行目录
- 判断程序的运行
- 运行外部程序
- 设置自运行程序
- 测量程序运行时间
- 双击运行JAVA程序
- Java 运行外部程序。
- 运行Java程序
- JavaScript程序运行环境
- 定时运行程序
- 运行其它程序
- linux程序运行分析
- 关闭运行程序
- 五个查找命令:grep、find、locate、whereis、which
- Android Studio中在Message报的错误
- Exchange查看用户邮箱大小并排序
- Java 数组初始化的三种办法.
- hdu 3934 Summer holiday (旋转卡壳)
- 程序运行
- 【笔记】Ajax请求,dbUtils查询常用结果集转Json串
- ImageView 绘制圆角效果_BitmapShader
- spring-boot 连接池 druid 的配置及监控
- spring基础-Bean的装配方式(三)自动装配
- Javascript 面向对象之构造函数的继承
- java反编译教程
- 2.JAVA简史
- 英语单词