操作系统与编程语言分类
操作系统在人机中所处的位置可以抽象表达为人与奴隶(计算机)中间的管家。
人发出指令,管家(操作系统)接收到消息翻译给奴隶(计算机),计算机(奴隶)接收到指令干活。
那么在实际的人机对话中,操作系统是将人给出的指令(双击、单击等等)转换成计算机硬件能够理解的0和1传达给CPU。
操作系统的作用:
- 接收外部指令转化成0和1;
- 翻译人写出的字符,把对文件的操作从繁(操作高低电平)到简;
- 把一些对硬件的复杂操作简化成一个一个接口。
为什么要有操作系统?
如果我们想要控制计算机就必须要由操作系统,理由如下:
有操作系统——使用电脑非常方便
无操作系统但能自己写操作系统使用——自己短时间写出来的系统不好用而且花大量时间写好才方便使用。(这种情况只属于能写出操作系统的技术大牛)
无操作系统自己也写不了操作系统——要计算机只能当板砖。(我们绝大部分人如果没有操作系统都会处于这种局面)
操作系统的本质
人想要使用计算机,只有硬件是远远不能够帮助我们做事的,还需要有软件,操作系统实质上就是软件的一种,当然,软件不只包含操作系统还包括我们经常见到的应用程序。
应用程序:便利生活,具体干活,完成一个个任务。——和操作系统、用户交互
操作系统:接受外部指令,控制硬件,从繁(控制高低压电平)到简(一个个指令接口)——和应用程序、硬件、用户交互
硬件:操作数据(存储、输出、输入)——与操作系统交互
应用程序启动和操作系统启动的区别
对于应用程序来说
- 双击
- 发送指令给操作系统
- 操作系统把指令转换成0和1的语言发给CPU
- CPU把这条指令发给内存
- 内存从硬盘中调取应用程序的数据
- 应用程序读入内存后启动
对于操作系统来说
- 按下开机键(双击)
- (这一步操作系统作为一个软件自身都没有启动,所以无法由操作系统发送指令给CPU)ROM存储器暂时接管发送指令给CPU的任务,从CMOS存储器中寻出操作系统程序在外存中的路径并启动这个软件。
- 操作系统复活,重新接管CPU,ROM和CMOS下场等待下一次开机。
编程语言分类
编程语言发展至今经历了机器语言到汇编语言到高级语言的过程
- 机器语言:语言都由0和1组成,是直接和计算机用计算机的"母语"沟通的语言
- 优点:执行效率高
- 缺点:开发效率低
- 汇编语言:通过英文提示符翻译为计算机能理解的0和1,但本质上还是与硬件交互
- 优点:开发效率高(相比机器语言)
- 缺点:执行效率低(相比机器语言)
- 高级语言(解释型):写一行读一行,结果不保存,例如python
- 优点:开发效率高(相比汇编语言)
- 缺点:执行效率低(相比汇编语言)
- 高级语言(编译型):全部写完一起读完出结果,结果可保存至下次使用,例如C和Java
- 优点:执行效率高(相比解释型语言)
- 缺点:开发效率低(相比解释型语言)