之前我们学习了计算机三大核心硬件,那有的小伙伴会问了:“计算机的操作系统到底是个啥?”
假设我现在要开发一款程序,名字叫快播,这是一款播放小视频的软件。既然说到播放视频必然涉及到从硬盘里面读取视频数据。现在我们要明白一件事,计算机硬件说到底就是一堆破铜烂铁,它本身是不可能自己就能运行的,硬件所有的运行都受限于软件的支配。
现在我们要写快播这款软件,把视频给播放出来,一定是要控制硬件的。我们要先写一个最基本的控制程序,去让你计算机的硬件,且不单单是硬盘,是计算机所有的组件都能先运行起来。然后才是在这个控制程序的基础上,再来写我们快播这款视频播放软件。
每当我们要控制硬件的时候,我们就要去控制程序的功能,让程序帮我们去控制硬件。像快播这种程序,我们就称之为应用程序。所以控制程序的作用就是把使用硬件的复杂操作封装成简单的功能,给上层的应用程序使用控制程序本身十分复杂,你需要深入了解计算机硬件最最底层是怎么运行的。
现在问题来了,第一:如果我要开发快播这款软件,要从控制程序开始写的话,那可能要给我十年时间,让我先写个控制程序,这就太浪费时间了。
第二:这时候换另一个程序员,要写另一个应用程序QQ,是不是也要再写一遍控制程序?
现在问题来了,我们都在做重复的劳动。由于上层的应用程序功能是各不相同的,QQ是用来聊天的,快播是用来播放小视频的,但是下层的控制程序基本上都是一致的。基于这两个原因,就有专门的公司跳出来了。
就是中间写控制程序的这么复杂过程他来做,你就什么都不用管了,只要专注开发应用程序就行了。这样大家都不用做重复劳动了。
这个控制程序就是我们使用的操作系统,常用的Linux操作系统、Windows操作系统。所以说现在我们读写数据其实都是跟操作系统打交道,让操作系统帮我们控制硬盘的读写。
领取专属 10元无门槛券
私享最新 技术干货