一、计算机之编程
1.1 什么是编程语言
编程语言是人与计算机交流的介质
1.2 什么是编程
编程就是使用编程语言编写一个个文件
1.3 为什么要编程
为了奴隶计算机,解放劳动力,帮人类完成一个个具体的任务
二、计算机组成原理
2.1 计算机五大组成
2.1.1 CPU
2.1.1.1 控制器
控制硬件
2.1.1.2 运算器
进行逻辑运算+算术运算
2.1.2 内存
临时存储数据的硬件
- 优点(相比较于外存):速度快
- 缺点(相比较于外存):临时存储/断电即消失
2.1.3 外存
永久存储数据的硬件
- 优点(相比较于内存):永久存储
- 缺点(相比较于内存):速度慢
2.1.4 输入设备
输入信息的硬件,如键盘/鼠标/u盘
2.1.5 输出设备
输出信息的硬件,如显示器/打印机/u盘
2.1.6 I/O设备
即可输入信息,又可以输出信息的硬件,称为I/O设备
2.2 32位和64位
2.2.1 32位
一次性能读取32个二进制位的操作系统
2.2.2 64位
一次性能读取64个二进制位的操作系统
2.3 多核CPU
可以同时完成多件事的CPU,如4核CPU则一个大的CPU集成了4个小的CPU
2.4 硬盘工作原理
2.4.1 机械硬盘工作原理
- 机械手臂:寻找数据
- 磁道:存储数据
- 扇区:划分磁道
- 平均寻道时间:由于工业水平的限制,为5ms
- 平均延迟时间:以7200r/min的硬盘为例,为4.15ms
- 平均寻找数据时间:5+4.15=9.15ms
2.4.2 固态硬盘工作原理
- 基于算法和电存储的外存
三、计算机操作系统
3.1 文件是什么?
操作系统提供的一个虚拟的单位
3.2 应用程序是什么?
应用程序其实就是一堆文件,用来完成具体的某个任务
3.3 操作系统能干什么?
接受应用程序/人的外部指令,然后控制硬件
3.4 计算机三大组成?
3.4.1 应用程序
应用程序其实就是一堆文件,用来完成具体的某个任务,与人/操作系统交互
3.4.2 操作系统
接受应用程序/人的外部指令,然后控制硬件,与人/应用程序/硬件交互
3.4.3 硬件
最终的目的是用来存储数据,与操作系统交互
3.4.4 应用程序的启动和操作系统的启动?
3.4.4.1 应用程序的启动
- 双击qq(发送指令给操作系统)
- 操作系统接收指令,将指令转化成0和1发送给CPU
- CPU接收指令,发送给内存
- 内存从硬盘中取出qq的程序,执行,打开qq
3.4.4.2 操作系统的启动
- 按下开机键(启动一个临时操作系统)
- 临时操作系统唤醒真正的操作系统
四、编程语言分类
4.1 机器语言
- 优点(汇编语言):执行效率高
- 缺点(汇编语言):开发效率低
4.2 汇编语言
- 优点(机器语言):开发效率高
- 缺点(机器语言):执行效率低
4.3 高级语言
4.3.1 解释型语言
类似于同声传译,写一句翻译一句
- 优点(编译型语言):开发效率高
- 缺点(编译型语言):执行效率低
4.3.2 编译型语言
类似于谷歌翻译,写完所有的代码,一次性编译后得到结果,并且结果可以保存,无法得到及时的报错反馈
- 优点(解释型语言):执行效率高
- 缺点(解释型语言):开发效率低
五、网络的瓶颈效应
由于网络传输的数据可能为10ms,而Python的代码运行时间为1ms,机器语言的代码运行时间为0.001ms,在你上一段数据运输成功之前,无论你的代码运行时间是1ms,还是0.0000001ms,还是9ms,本质上没啥区别,这就是互联网中的网络的瓶颈效应。