说说操作系统
操作系统的由来
打个比方:如果我们要开发一个应用程序,比如音乐播放器,该软件的一个核心业务就是播放音乐,开发者如果想要完成播放音乐的业务逻辑,必然先涉及到底层硬件硬盘的基本操作(音乐文件等是存放在硬盘中的),这也就意味着开发者在编写逻辑代码之前,必须先编写一个控制硬盘基本操作的控制程序,当然这一个控制程序是远远不够的,事实上,在编写应用程序的业务逻辑之前,开发者需要编写出一套完整的控制程序用来控制所有硬件的基本运行(这意味着开发者需要详细了解计算机硬件的各种控制细节,例如CPU内的所有指令集,这对于一个开发者来说工程量实在是太大了)
了解了上述,我们知道了开发者在开发程序时都必须依次开发两种程序:
1.一套完整的的控制程序,用来控制硬件的基本运行,以及把复杂的硬件的操作封装成简单的接口;
2.基于控制程序的接口开发包含一系列业务逻辑的程序,为了与控制程序区分,可以称为应用程序。
对于不同公司的开发者来说,应用程序的业务逻辑各不相同,但硬件的控制程序都大致相同,为了避免所有程序员做重复劳动,以及不再耗费精力去了解所有硬件的运行细节,有公司专门跳出来承担起控制程序(即操作系统)的开发任务。
操作系统的功能就是帮我们把复杂的硬件的控制封装成简单的接口,对于开发应用程序来说只需要调用操作系统提供给我们的接口即可。