硬盘的工作原理
机械硬盘
机械手臂
用来读写数据
磁道
存储数据
扇区
一个扇区,规定了容量为512kb。电脑分C盘与D盘为了减少IO操作,减少数据寻找的时间,C盘的文件不会在D盘里寻找。
平均寻道时间
工业限制,平均寻道时间为5ms
平均延迟时间
最差的情况下,磁道转动一圈才找到数据,最快直接找到,最慢8ms最快0ms,平均4ms。
寻找数据的时间
寻找数据的时间=平均寻道时间+平均延迟时间=5+4=9ms
缺点
找寻数据的时间慢,受工业限制平均寻道时间及平均延迟时间
固态硬盘
解决机械硬盘寻找数据慢的缺点
操作系统
开机的时候会发现少掉一部分内存
文件是什么
文件是某一个东西提供的虚拟单位,文件写入“我很帅”,某个东西会将它转换为0和1,然后写入硬盘
程序的启动
我们用鼠标双击qq,这个东西将指令转换为0和1组成的指令,将0和1组成的指令发送给CPU……
这个东西
这个东西就是CPU
为什么要有操作系统
操作系统帮助我们控制硬件
计算机的三大组成
- 硬件
- 操作系统
- 应用程序
早期我们写一个应用程序,必须得自己写一个操作系统,
现在,微软,苹果等厂商会写好一个操作系统。
最底层:硬件
存储数据,发送命令
中间层:操作系统
控制底层硬件,接收应用程序与用户的指令
最上层:应用程序
帮人干活,实现某个功能
编程语言的分类
编程语言:人与计算机之间交流的介质
机器语言
计算机只能识别0和1,为了与计算机交流,我们要学会0和1
优点:执行效率非常快
缺点:普通人根本写不了这种代码,开发效率非常低
汇编语言
也是直接与计算机沟通,汇编语言将一串二进制码转变为了英文单词
优点(与机器语言比较):开发效率高
缺点(与机器语言比较):执行效率慢
高级语言
类似谷歌翻译(编译型语言)
把写完后的代码一次性写完,并且可以保留结果,下次可以直接使用。
优点(汇编语言):开发效率高
缺点(汇编语言):执行效率慢(需要翻译过程)
类似同声传译(解释型语言)
我说一句话,翻译就翻译一句
print ('wohenshuai')
#翻译
if i == 'handsome':
#翻译
print ('handsome')
#翻译
优点(编译型语言):开发效率高
缺点(编译型语言):执行效率低
瓶颈效应
如果你开发一个软件
你开发一个软件,就是需要实现某个功能,比如视频软件需要联网。但是由于受网速的限制,下载两个软件之间的延迟为1ms。高级语言延迟为0.1ms,机器语言执行效率0.000000001ms,使用高级语言。
你开发一个操作系统,假设使用汇编语言需要10年,使用高级需要8年。操作系统使用20年。操作系统更在乎用户的体验,用户体验就是速度快。而你打开一个应用程序,你是不是无法直接操控硬件,需要通过操作系统,操作系统控制硬件越快越好。使用机器语言或者汇编语言。
你以后要干的是什么,应用程序,你写的应用程序是不是都需要联网,只要联网就会受到网速的限制,开发效率越快的语言越好。使用解释型的,python。
python,简单,他有大量成型库,也是为什么python能够做少儿编程/加入高考的。使用的人会越来越多,库也越来越多。
补充:源码就是create_file() 的实现的源代码
import 导入
import os(控制操作系统的)
os.create_file()
而Java则要写很多行程序来控制,例如下
uhdxiosajdpfk
akucfuajd
fiafjioafj
fjafmakf