一、计算机之编程
1.1 什么是编程语言
编程语言是人与计算机交流的介质。
1.2 什么是编程
编程就是使用编程语言编写成一个个的计算机可以识别的文件
1.3 为什么要编程
为了奴役计算机,解放劳动力,帮助人类完成一个个任务。
二、计算机组成原理
2.1计算机组成的五大部分
2.1.1CPU
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.1.7 32位和64位
2.2.1 32位
一次性能读取32个二进制位的操作系统
2.2.2 64位
一次性能读取64个二进制位的操作系统
2.3多核CPU
可以同时完成多件事的CPU,如CPU则一个大的CPU集成了4个小的CPU
2.4 硬盘的工作原理
2.4.1 机械硬盘工作原理
- 机械手臂:寻找数据
- 磁道:存储数据
- 扇区:划分磁道
- 平均寻道时间:由于工业水平的限制,为5ms
- 平均延迟时间:以7200r/min硬盘为例,为4.15ms
7200(r/min)/60=120(r/s)
1/120(r/s)=0.0083s=8.3ms
8.3/2=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 应用程序的启动
- 1、双击QQ(发送指令给操作系统)
- 2、操作系统接受指令、将指令转化成0和1发送给cpu
- 2、cpu接受指令,发送给内存
- 4、内存从硬盘中取出qq的程序,执行,打开qq
3.4.4.2 操作系统的启动
- 1、按下开机键(启动一个临时操作系统)
- 2、临时操作系统唤醒真正的操作系统
四、编程语言分类
4.1机器语言
优点(汇编语言):执行效率高
缺点(汇编语言):开发效率低
4.2 汇编语言
- 优点(机器语言):开发效率高
- 缺点(机器语言):执行效率低
4.3 高级语言
4.3.1 解释型语言
类似于同声传译,写一句翻译一句
- 优点(编译型语言):开发效率高
- 缺点(编译型语言):执行效率低
4.3.2 编译型语言
类似于谷歌翻译,写完所有的代码,一次性编译后得到结果,并且结果可以保存,无法得到及时的报错反馈
- 优点(解释型语言):执行效率高
- 缺点(解释型语言):开发效率低
五、网络的瓶颈效应
由于网络传输的数据可能为10ms,而python的代码运行时间为1ms,机器语言的代码运行时间为0.001ms,在你上一段数据运输成功之前,无论你的代码运行时间是1ms,还是0.0000001ms,还是9ms,本质上没啥区别,这就是互联网中的网络的瓶颈效应。