为什么要有操作系统?

搞过单片机开发的同学或者压根儿没有搞过开发的同学一定心中都或多或少的有这样的以为?操作系统到底是什么?
我也算是从DOS阶段开始接触电脑的人了,大部分人接触的第一个操作系统应该都是windows,windows以其无敌的封装,让操作系统这个角色一直让人们感觉到神秘。也是因为windows的原因,让操作系统真正意义上成为了一个超级牛逼的软件;
回归正题?为什么要有操作系统。
学习过单片机的同学,肯定心中有万种不解?直接操作寄存器,I/O高低电平的变化,以及自行书写中断处理程序。也能完成一个项目,做出来一个产品。为啥还有有操作系统呢?
但是,万一有人不想操作寄存器?或者不会操作这种CPU的寄存器怎么办?产品可能就做不出来了。
所以我认为操作系统的第一层含义,它其实是一种驱动程序。让人们不需要关心一些硬件细节,就可以使用硬件。
有了驱动程序我们就可以通过程序调用的方式使用硬件了。如果只有一个程序想使用硬件,其实操作系统到了驱动程序这一层就可以结束了,但情况远远没有结束。有需求都想使用同一个硬件,这样直接调用的方式去使用硬件看来就不太现实了。
所以我认为操作系统的第二层含义,它其实是为了共享使用硬件资源;为使用者指定一些规范,让不同的使用者可以共享使用硬件。(生活中的红绿灯就是一种规范)
这种共享硬件:如何共享使用CPU,内存,如何共享使用其他硬件。如果将其他硬件集中管理其他为使用者提供服务?
这个过程中我们一直提到使用者的概念?当然使用者最直接的就是我们人类了。但是人能怎么能直接使用硬件资源呢?都是通过 程序来完成的、这里帮助我们适用硬件资源的程序,就是我们常说的应用程序。
其实到这里我们就明白了?其实 操作系统就是为了让人们更加方便的使用硬件资源的一个工具。例如为了让我们更加方便使用网卡,就有了网卡驱动,使用网卡驱动是为了通讯,于是操作系统提供了网络协议栈帮助我们更好的通讯。为了让我们更好的使用内存?于是又了内存管理。为了方便我们使用硬件,为我们提供了文件系统,文件系统多了麻烦,又给我们提供了虚拟文件系统。。说到底,操作系统内核意在为我们提供它认为的更方便使用硬件的方法,但又不至于减少硬件的功能;为了让我们尽可能的使用好CPU,又提供了多进程,多线程。
所以我认为操作系统的第三层含义,就是为了更方便的利用硬件资源;为使用者提供尽可能方便的接口来使用与利用硬件资源;
最后:明白一定操作系统就是为了让我们更好地使用硬件资源各种硬件资源;





你可能感兴趣的:(关于自己的思考)