概述
1.1 一个程序如何在计算机中运行?(了解)
1.1.1 计算机的三个核心部件
CPU、内存、硬盘
- 程序是保存在硬盘中的,要载入内存(临时存储,断电就没有了)才能运行,CPU也被设计为只能从内存中读取数据和指令;
- 对于CPU来说,内存仅仅是一个存放指令和数据的地方,并不能在内存中完成计算功能。
运算单元:是CPU的大脑,负责加减乘除、比较、位移等运算工作,每种运算都有对应的电路支持,速度很快。
寄存器:非常小、非常快速的存储部件,容量有限,对于32的CPU,每个寄存器一般能存储32位(4个字节)的数据,对于64位的CPU,每个寄存器一般能存储64位(8字节)的数据。为了完成各种复杂的功能,现代CPU都内置几十个甚至上百个寄存器,嵌入式系统功能单一,寄存器数量较少。多少位CPU,指的是寄存器的位数;寄存器在程序的执行过程中至关重要,不可或缺,它们可以用来完成数学运算、控制循环次数、控制程序的执行流程、标记CPU的运行状态等。
缓存:将频繁使用的数据暂时读取到缓存,当需要同一地址上的数据时,不用再到内存去读取数据,提高了CPU的使用率,也不会拖慢CPU的运行速度。
缓存的容量是有限的,CPU只能从缓存中读取到部分数据,对于不是频繁使用的数据,会绕过缓存,直接到内存中读取。所以不是每次都能从缓存中读取数据,这就是缓存的命中率,能够从缓存中读取就命中,反之则没有命中。关于缓存的命中率又是另一门学问,哪些数据保留在缓存,哪些数据不保留,都有复杂的算法。
购买CPU时会关心缓存容量,例如:Intel Core i7 3770k的三级缓存为8MB,二级缓存为256KB,一级缓存为32KB,容量越大CPU越强悍。
CPU指令集:当运行一个软件时,会先将数据从硬盘复制到内存中运行。因为内存的读写速度比硬盘快很多。读写速度:内存 > 固态硬盘 > 机械硬盘。机械硬盘靠电机带动盘片转动来读写数据,而内存条是通过电路来读写数据,电机的转速没有电的传输速度快(接近光速),固态硬盘也是通过电路来读写数据,但是因为与内存的控制方式不一样,速度也不及内存。所以,不管是QQ还是编辑Word文档,都是先将硬盘上的数据复制到内存,才能让CPU来处理,这个过程就叫作载入内存(Load into Memory)。完成这个过程需要一个特殊的程序(软件),这个程序就叫做加载器。
CPU直接与内存打交道,它会读取内存中的数据进行处理,并将结果保存到内存。如果需要保存到硬盘,才会将内存中的数据复制到硬盘。例如:打开Word文档,输入一些文字,虽然我们看到的不一样了,但是硬盘中的文档没有改变,新增的文字暂时保存到了内存,Ctrl+S才会保存到硬盘。因为内存断电后会丢失数据,所以如果编辑完Word文档忘记保存就关机,那么将永远无法找回这些内容。
1.1.2载入内存,让程序运行起来
当要运行一个软件时,会先将数据从硬盘复制到内存中运行。因为内存的读写速度比硬盘快很多。读写速度:内存 > 固态硬盘 > 机械硬盘。机械硬盘靠电机带动盘片转动来读写数据,而内存条是通过电路来读写数据,电机的转速没有电的传输速度快(接近光速),固态硬盘也是通过电路来读写数据,但是因为与内存的控制方式不一样,速度也不及内存。所以,不管是QQ还是编辑Word文档,都是先将硬盘上的数据复制到内存,才能让CPU来处理,这个过程就叫作载入内存(Load into Memory)。完成这个过程需要一个特殊的程序(软件),这个程序就叫做加载器。
CPU直接与内存打交道,它会读取内存中的数据进行处理,并将结果保存到内存。如果需要保存到硬盘,才会将内存中的数据复制到硬盘。例如:打开Word文档,输入一些文字,虽然我们看到的不一样了,但是硬盘中的文档没有改变,新增的文字暂时保存到了内存,Ctrl+S才会保存到硬盘。因为内存断电后会丢失数据,所以如果编辑完Word文档忘记保存就关机,那么将永远无法找回这些内容。
虚拟内存
当程序运行的空间大于内存容量时,将内存中暂时不用的数据再写回硬盘;需要这些数据时再从硬盘中读取,这样硬盘中就会有一部分空间来存放内存中暂时不用的数据,这一部分空间就叫做虚拟内存(Virtual Memory)。硬盘的读写速度比内存慢很多,反复交换数据会消耗很多时间,所以如果内存太小,会严重影响计算机的运行速度,甚至会出现“卡死”现象,即使CPU强劲,也不会有大的改观。如果经济条件允许,建议将内存升级为至少8G,在win7、win10下运行软件就会比较流畅了。
1.1.3程序(Java)的执行流程
通常将各种高级语言编写的计算机程序称为源程序(Source Program),而把由源程序经过翻译(编译)而生成的机器指令程序称为目标程序(Object Program),然后通过执行目标程序得到最终结果。
编译程序(Compiler,compiling program),也称为编译器,是指把用高级程序设计语言书写的源程序转换成等价的机器语言格式的目标程序。
Java是一种新型的跨平台分布式和程序设计语言。Java以它简单、安全、可移植、面向对象、多线程处理和具有动态等特性引起世界范围的广泛关注。Java语言是基于C++的,其最大的特色在于“一次编译,处处运行”。Java已逐渐成为网络化软件的核心语言。
解释程序(脚本语言)是对源程序进行解释(逐句翻译),翻译一句执行一句,边解释边执行,从而得到最终结果。解释程序不产生将被执行的目标程序,而是借助解释程序直接执行源程序本身。
1.1.4计算机采用二进制的原因(理解)
- 二进位计数制仅用两个数码:0和1。具有两个不同的稳定状态,利用这种截然不同的状态来代表数字,是很容易实现的。不仅如此,更重要的是两种截然不同的状态不单有量上的差别,而且是有质上的不同。这样就能大大提高机器的抗干扰能力,提高可靠性。而要找出一个能表示多于二种状态而且简单可靠的器件,就困难得多了。
- 二进位计数制的四则运算规则十分简单。而且四则运算最后都可归结为加法运算和位移,这样,电子计算机中的运算器线路也变得十分简单了。不仅如此,线路简化了,速度也就可以提高了。这也是十进位计数制所不能相比的。
- 在电子计算机中采用二进制表示数可以节省设备。可以从理论上证明,用三进位制最省设备,其次就是二进位制。但由于二进位制有包括三进位制在内的其他进位制所没有的优点,所以大多数电子计算机还是采用二进制。此外,由于二进制中只用二个符号“0”和“1”,因而可用布尔代数来分析和综合机器中的逻辑线路。这为设电子计算机线路提供了一个很有用的工具。
1.2 Windows常见操作(会操作)
1.2.1 系统中DOS命令行的基本操作
常见技巧一:打开dos命令行窗口,在电脑键盘上点击按中win+R,打开电脑的运行框,在运行框中输入cmd,操作图片步骤如下:
常见技巧二:dos命令窗口打开之后,系统自动会打开【C:Users当前用户>】这个时候可以通过盘符加上:切换到其他磁盘,操作图片步骤如下:
常见技巧三:在dos命令行窗口中查看当前磁盘中的目录,可以再输入dir查看目录,操作图片步骤如下:
常见技巧四:进入指定目录
1.2.2 常用快捷方式
1.3 编程语言(理解)
编程=写代码,代码=计算机能理解的语言,编程就是以计算机能理解的语言写代码告诉计算机需求,并让计算机完成这个需求。
例如播放一首歌曲:
- open “老男孩.mp3”
- play
计算机的CPU接到这样的指令后,会把它转为只有CPU可以理解的指令,然后再将指令变成各种对应的如下类似的二进制
- [ op | rs | rt | address/immediate]
- 3538 68 decimal
- 100011 00011 01000 00000 00001 000100 binary
最终CPU去调用你的硬盘上这首歌,通过音响播放。
1.3.2常见的编程语言
机器语言
- 优点:最底层,速度最快
- 缺点:最复杂,开发效率低
汇编语言
- 优点:比较底层,速度最快
- 缺点:复杂,开发效率低
高级语言
- 编译型语言(Java)执行速度快,不依赖语言环境运行,跨平台差
- 解释型语言跨平台好,一份代码,随处使用,缺点是执行速度慢,依赖解释器运行。
最后
以上就是炙热滑板为你收集整理的第一章 计算机理论基础1.1 一个程序如何在计算机中运行?(了解)1.2 Windows常见操作(会操作)1.3 编程语言(理解)的全部内容,希望文章能够帮你解决第一章 计算机理论基础1.1 一个程序如何在计算机中运行?(了解)1.2 Windows常见操作(会操作)1.3 编程语言(理解)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复