既然操作系统可以抽象,那么就可以做一个中间层,提供类似于操作系统功能的接口。然后这个中间层可以移植到不同的平台之上。基于这个思想,基于中间件接口的软件,就不用操心移植的问题了。软件开发过程中遇到的问题也可以更好的利用中间件来定位。
很多的嵌入式软件,都有自己的移植层,而核心的代码却是跟具体平台无关的。这个做法是基于封装变化的思想,把使用的接口抽象出来,具体的实现由移植层来完成。有一种设计模式叫门面模式则在这个情形下得到了很好的利用。更有甚者,给移植层增加了可动态加载应用的功能,那么它就变成一个中间件了。在MTK上很多的SP公司都是有自己的平台的,它们的平台也是大同小异,基本原理都是一样的。仔细分析中间件的接口是多么的类似,提供的功能也是一样的。所以大家不要觉得中间件有多么的神秘,平台类的中间件就是这么简单。
对于抽象操作系统这个话题,就到这里了。有很多知识点只是简单带过,毕竟不是专门写操心系统原理的。对于列举到的内容,基本都可以再百度上搜索到更加详细的解释。
在操作系统之上,还有太多的东西,协议栈(比如HTTP),应用程序框架,GUI系统,软件设计与架构,软件工程,产品战略等。希望程序猿们的眼光不要只盯在一些狭隘的知识上,这个世界上,还有太多的东西,需要去观察与学习。
总之一句话:这个话题对操作系统整理了一个知识的结构,更加详细的理解还是在实践中慢慢积累。
很多的嵌入式软件,都有自己的移植层,而核心的代码却是跟具体平台无关的。这个做法是基于封装变化的思想,把使用的接口抽象出来,具体的实现由移植层来完成。有一种设计模式叫门面模式则在这个情形下得到了很好的利用。更有甚者,给移植层增加了可动态加载应用的功能,那么它就变成一个中间件了。在MTK上很多的SP公司都是有自己的平台的,它们的平台也是大同小异,基本原理都是一样的。仔细分析中间件的接口是多么的类似,提供的功能也是一样的。所以大家不要觉得中间件有多么的神秘,平台类的中间件就是这么简单。
对于抽象操作系统这个话题,就到这里了。有很多知识点只是简单带过,毕竟不是专门写操心系统原理的。对于列举到的内容,基本都可以再百度上搜索到更加详细的解释。
在操作系统之上,还有太多的东西,协议栈(比如HTTP),应用程序框架,GUI系统,软件设计与架构,软件工程,产品战略等。希望程序猿们的眼光不要只盯在一些狭隘的知识上,这个世界上,还有太多的东西,需要去观察与学习。
总之一句话:这个话题对操作系统整理了一个知识的结构,更加详细的理解还是在实践中慢慢积累。