day02
计算机基础之编程
什么是编程语言
人与计算机交互的介质
什么是编程?
通过编程语言写一堆文件
为什么要编程
解放人力,让计算机代替人完成重复性的工作或者人完成不了的工作
计算机的组成.
CPU
控制器:控制硬件
运算器:算数运算、逻辑运算
存储器
主存(内存):临时存储数据,优点是存取速度快
外存(硬盘):永久保存数据,缺点是存取速度相对主存来说较慢
I/O设备
输入设备:接收信息的硬件
输出设备:输出信息的硬件
补充原理
多核cpu
让计算机能够同一时刻完成多件事情,提高计算机工作效率
32/64位
计算机一次性能接收或发送的数据比特位数
不能处理超过限制的比特位数的数据,可以处理在限制的比特位数之内的数据
机械硬盘工作原理.
机械手臂:读取数据
磁道:存储数据
扇区:划分磁道,存储数据
平均寻道时间:机械手臂找到存储数据的磁道所消耗的时间,与磁盘制造工艺相关
平均延迟时间:找到磁道后,在磁道上找到数据所消耗的时间,与磁盘转速相关
平均寻找数据时间:平均寻道时间加上平均延迟时间
计算机操作系统
操作系统有什么用?
操作系统也是程序,它的功能是将对硬件的复杂操作简单化,封装成一个个接口,提供给应用程序调用
计算机由哪三大部分组成?
应用程序
操作系统
硬件
操作系统启动流程
1.开机
2.启动临时操作系统
3.临时操作系统启动操作系统
4.操作系统开启,关闭临时操作系统
应用程序启动流程
1.双击应用给操作系统发送指令
2.操作系统给CPU发送指令
3.CPU给内存发送指令
4.内存给外存发送指令获取应用程序的数据
5.内存读取数据
6.应用程序启动
编程语言分类
计算机以二进制的形式存储数据
机器语言
用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言
用机器语言编程的程序称为目标程序,只有目标程序才能被计算机直接识别和执行
相对其他语言它的优缺点是:
- 优点:执行效率高(直接与硬件交互,速度最快)
- 缺点:开发的效率低(代码全部是0和1,极其复杂)
汇编语言
把一串二进制数写成一个英文单词,本质还是在直接操作硬件
- 优点(较于机器语言):开发效率高
- 缺点(较于机器语言):执行效率低(和硬件交互还有一个英语单词翻译的过程)
高级语言
高级语言直接用人能理解的语言和语法风格编写程序
程序猿无序再去考虑复杂的硬件操作
由此可以得出高级语言的优缺点:
- 优点(较于汇编语言):开发效率高
- 缺点(较于汇编语言):执行效率低(不再和硬件直接交互)
高级语言,根据执行的方式不同,分为解释型和编译型
编译型
使用专门的编译器,针对特定的平台
将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式
只需要编译一次,以后再也不用编译
-
优点(较解释型):执行效率高(有解释器省去很多翻译的过程)
-
缺点(较解释型):开发效率低(写完所有的代码才能检查bug)
解释型
使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行
它不需要事先编译,直接将代码解释成机器码直接运行
即只要某一平台提供了相应的解释器即可运行代码
- 缺点(较编译型):执行效率低(写一次翻译一次)
- 优点(较编译型):开发效率高(写一行翻译一行,错了马上就知道)
网络瓶颈效应
由于网络延迟的时间远远大于程序的执行时间,因此在网络编程中,无论什么类型的编程语言,他们的执行效率的高低都是无关紧要的,最终都会受到网络延迟的影响
在这种情况下,选择高开发率的编程语言更好