007❤计算机基础小结
一、计算机之编程
1.1 什么是编程语言
编程语言是人与计算机交流的介质
1.2 什么是编程
编程就是使用编程语言编写一个个文件,例如QQ,微信等软件都是编程的结果
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设备,例如U盘
2.2 32位和64位操作系统
2.2.1 32位
一次性能读取32个二进制位的操作系统
只可以运行32的软件
2.2.2 64位
一次性能读取64个二进制位的操作系统
操作系统具有向下兼容性,64位的操作系统既可以运行64位的软件,也可以运行32位的软件
2.3 多核CPU
可以同时完成多件事的CPU,如4核CPU则一个大的CPU集成了4个小的CPU
2.4 硬盘工作原理
2.4.1 机械硬盘工作原理
- 机械手臂:寻找数据
- 磁道:存储数据
- 扇区:划分磁道
- 平均寻道时间:由于工业水平的限制,为5ms
- 平均延迟时间:以7200r/min的硬盘为例,为4.15ms
平均延迟时间:
7200/60=120(r/s)
1/120=0.0083(s/r)=8.3(ms/r)
8.3/2=4.15(ms/r)(1)(2)(3)(4)
- 平均寻找数据时间:5+4.15=9.15ms
2.4.2 固态硬盘工作原理
- SSD不同机械构造,无需移动的部件,主要由主控与闪存芯片组成的SSD可以以更快速度和准确性访问驱动器到任何位置。传统机械硬盘必须得依靠主轴主机、磁头和磁头臂来找到位置,而SSD用集成的电路代替了物理旋转磁盘,访问数据的时间及延迟远远超过了机械硬盘。SSD有如此的“神速”,完全得益于内部的组成部件:主控--闪存--固件算法。SSD通过这套组成部件,让数据以电荷的方式存储在每个NAND存储单元内。
三、计算机操作系统
3.1 什么是文件
操作系统提供的一个虚拟的单位
3.2 应用程序是什么
应用程序其实就是一堆文件,例如QQ,微信,用来完成具体的某个任务
3.3 操作系统能干什么
接受应用程序/人的外部指令,然后控制硬件
3.4 计算机的三大组成部分
3.4.1 应用程序
应用程序其实就是一堆文件,用来完成具体的某个任务,与人/操作系统交互
3.4.2 操作系统
接受应用程序/人的外部指令,然后控制硬件与人/应用程序/硬件交互
3.4.3 硬件
用来存储数据,执行操作,与操作系统交互
3.4.4 应用程序的启动和操作系统的启动
3.4.4.1 应用程序的启动,例如QQ
- 双击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,本质上没啥区别,这就是互联网中的网络的瓶颈效应