编程
编程:编程就是通过某种编程语言与计算机进行交流,从而通过计算机完成自己想做的某些事情。这种与计算机交流的过程就叫做编程。通过编程语言做一些自己想做的事
写一堆py/.obj/.css文件
编程的目的:替代劳动力,然后才帮人类完成一些具体的工作
冯诺依曼-计算机构造
CPU
一、控制器
控制硬件(运算器,存储器,输入设备,输出设备)
二、运算器
算术与逻辑运算
三、存储器
主存
内存
优点:快
缺点:量小,断电即消失
外存
硬盘
优点:容量大,永久存储
缺点:速度慢
I/O 设备(Input/Output设备)
四、输入设备
输入信息,键盘/鼠标
五、输出设备
输出信息,显示屏/打印机
多核CPU
一个CPU相当于一个大脑,多核CPU--计算机同时拥有多个CPU,同一时刻处理多件事情(多进程)
32位和64位
计算机如何存储图片:计算机只认识0(低电频)和1(高电频),图片本质就是0和1
光盘:凹0凸1刻印
32位:计算机一次性处理32个0和1
64位:计算机一次性处理64个0和1
32位和64位本质相同
向下兼容
机械硬盘原理
磁道
存储数据
扇面
划分磁道,分区,一个扇面是512K,计算机一次性从盘里读取512kb数据
机械臂
读取数据
平均寻道时间
由于工业水平限制--5ms
平均延迟时间
7200r/min 电脑
7200/60=120r/s1/120=0.0083s=8.3ms平均时间=8.3ms/2=4.15ms
平均寻找数据时间
5+4.15=9.15ms
固态硬盘
基于电容存储
优点:不需要机械臂,基于电存储
文件
存储信息的介质,操作系统提供给你的一个虚拟的概念,这个虚拟的概念可以用来存储信息
文件接口(操作系统提公的,而文件只是其中的一个接口):帮你把对硬件的复杂操作简单化
双击接口(操作系统提供的):让你快速打开一个应用程序
操作系统作用
提供接口,复杂操作简单化
应用程序的启动
1.双击qq--》让操作系统通知CPU(企鹅图标是操作系统提供给你的)(找到qq在硬盘的位置)
2.CPU让内存去外存读取qq的数据,qq数据进入内存
3.启动qq
计算机组成(有操作系统)
1.(软件)应用程序:和操作系统进行交互
2.(软件)操作系统:和硬件进行交互
3.硬件:硬件直接交互
操作系统的启动
启动软件,首先操作系统找软件在硬盘中的位置;操作系统本质也是一个软件,启动操作系统也必须找到操作系统在硬盘中的位置(要找到必须通过操作系统)
临时操作系统(ROM存储器)
计算机出厂是就已经写死了,它会去调用存储在CMOS上的操作系统路径,只负责寻找操作系统路径
临时内存
用电池供电,存储了操作系统的路径(重装操作系统修改启动盘的位置,改的就是这个),存储了时间
1.开机,启动临时操作系统
2.临时操作系统去CMOS存储器上找到操作系统的路径
3.启动操作系统,临时操作系统关闭
编码
机器语言
写0和1
优点:速度快,直接和硬件进行交互
缺点:开发速度慢
汇编语言
使用英文单词代替二进制数
优点:相较于机器语言而言开发效率高
缺点:相较于机器语言执行效率低
高级语言
加一层映射,更符合人类习惯
编译型语言(通过设备的翻译形式)
类似于谷歌翻译,一次性翻译所有代码为机器代码,翻译完成后运行
x=1y=2print(x + y)
优点: 相较于解释型语言执行效率高
缺点: 相较于解释型语言开发效率低(调试bug很复杂)
解释型语言(通过设备的翻译形式)
类似于同声传译,逐句翻译,逐句运行,翻译器是通过编译型语言写出来的
优点(相较于编译型而言):开发效率高
缺点(相较于编译型语言):执行效率低
程序一定要通过网络通信
木桶效应
网络的瓶颈效应
假设一个程序使用编译型语言发送消息的执行效率为0.001ms;使用解释型语言的执行效率为0.1ms,互联网的网络延迟可能需要1ms,而你这靠语言节省下来的0.099ms相较于网络延迟的1ms可能无伤大雅,因为你发送第二条消息需要等网络延迟结束才能开始发送。这也就是互联网中的瓶颈理论。
2.5hz 5hz光纤
5hz速度快但穿透效率低,范围小