嵌入式学习小组
直播中

杨逊咏

8年用户 245经验值
私信 关注

采用中间件结构实现嵌入式操作系统

传统操作系统大多是静态链接而成,由某一家公司提供,所有功能都集成在同一个软件中,一旦链接之后就不可能替换其中的软件模块。这样的操作系统有两大功 能。首先它向用户提供一个分时系统; 其次是向用户提供一组函数库。用户程序从主程序起,一步一步驱动软件控制流程,最终完成计算工作。在这里操作系统始终处于被动地位,被动地为用户程序提供 服务。这类系统的典型范例有DOS和控制台模式下的Unix操作系统,以及目前存在的大多数嵌入式操作系统。



回帖(5)

田晴

2019-6-25 14:20:01
Internet时代新的应用模型与操作系统

在Internet时代,一个应用程序可以包括文字、图表、音频、连续图像播放等功能,各部分功能的软件模块可以来自不同的软件开发商,在运行时动态组织 起来,向用户提供一个“天衣无缝”,具有复合功能的应用软件。这种应用软件看上去象Internet的浏览器,其实质是构件化的软件工程技术。在 Internet时代的今天,构件化技术可以说是无处不在,比如微软最近发表的Win XP和Office XP的核心都是这种构件化技术,从视窗桌面到Word和Excel的窗口全部采用“浏览器”构件。
举报

王颖

2019-6-25 14:20:24
这种Internet应用模式的主要特点是:

程序作为动态构件自动加载运行,而不需要由用户去逐个启动。
构件支持脚本语言控制,多个构件可以相互操作,交换信息。
以浏览器为交互式操作界面,既便于用户掌握,又为程序开发提供了统一标准。
网络化资源管理,程序自动下载运行,不需要用户介入。

在这种新的应用模式下,“浏览器”实际上已经退隐为一个可见或不可见的“框”,用操作系统术语讲,这个框是一个可执行文件,它本身非常简单,不为用户提供应用功能,但能提供构件运行环境。
   
举报

殷晓婷

2019-6-25 14:20:36
“服务器-中间件-客户机”编程模型

中间件程序设计技术是Internet时代技术的纲。中间件是操作系统根据元数据生成的构件,Internet技术都是围绕中间件发展的。在软件技术的发 展中,为了处理元数据发明了新语言,为了生成中间件发明了虚拟机,为了建立软件工厂发明了构件库。语言、虚拟机、构件库三位一体形成了当今世界软件编程的 主流发展趋势。而虚拟机实际上可以看成为一种特殊的操作系统。
  
随着硬件和软件技术的发展,操作系统根据服务器构件中的元数据(用于描述构件中对象的各种信息)动态生成代理和存根(stub)成为可能, 形成典型的客户机/服务器应用模型。这里代理的主要作用是打包,就是把调用函数的变量与函数信息放到一个缓冲区里; 存根的主要作用是解包,也就是把缓冲区里打成包的函数的变量与函数信息恢复,成为一个服务器空间的函数调用。客户端源程序与代理程序编译、链接在一起,形 成客户端程序代码; 服务器源程序与存根程序编译、链接在一起,形成服务器程序代码。这就是典型的客户机/服务器应用模型。目前编程模型已经逐步转移到“服务器—中间件—客户机”三层结构。通信程序(如TCP/IP)不再是客户端程序或服务器程序的一部分,可以通过操作系统生成。既然TCP/IP协议可以生成,HTTP协议也 可以生成。换句话说,既然客户端程序和服务器程序都可以不包含通信协议,它们也就适用于任何通信协议(生成任何通信协议)。由此网络编程模式产生了革命性的飞跃。
  
中间件是操作系统根据服务器构件元数据动态生成的,介于客户端程序和服务器构件间的代理构件,是一种新型链接技术。面向中间件编程模型中的中间件可以想象成构件的代理构件(或虚拟构件),在系统管理员控制下由操作系统生成。
  
最典型的中间件就是跨地址空间的TCP/IP通信协议。此外,如果通信协议是HTTP,中间件就成了防火墙; 如果协议对来往消息作了备份,系统就可以容错; 如果协议根据服务器繁忙程度分配消息,就是负载均衡; 如果一个机器上只配有10份构件版权,代理构件可以挡住第11个用户直到前10个用户中有人离开; 如果一个事件是由几个分事件合成,代理构件可以执行事务处理; 如果怕病毒,就把构件放到远程,同时不给它文件支持。把这些功能实现在一个进程里,这个进程就叫作应用服务器。由此可见应用服务器处在Internet技 术的核心地位,中间件技术正是应用服务器的理论基础。
  
中间件技术的应用并不限于应用服务器。中间件技术为程序模块、构件库、软件工厂提供了联接“管道”、“连线”和“集成电路板”,软件构件的“即插即用”模 式即将走向主流市场。这种“软集成电路板”就是包含元数据的构件。因为元数据可以抽象描述构件功能和接口,从而使构件的发布、版本升级都省去了对头文件 (.h文件)和库文件(.lib文件)的依赖。元数据解决了软件工程的一大难题,中间件技术使得软件的工程化开发水平提高到一个新的层次。
举报

李朗雯

2019-6-25 14:20:46
操作系统与虚拟机

Java和C#基于中间代码,其虚拟机运行于其他操作系统之上。由于其运行效率、实时性、资源需求等方面的原因,至今没有在嵌入式系统中得到成功的应用。
  
其实操作系统可以作为虚拟机,直接提供中间件的运行环境。我们已经知道,应用程序员可以只写构件或动态链接库,而由操作系统自始至终控制程序运行的主动 权,那么显而易见,这种操作系统与DOS或Unix有着本质的不同。这种操作系统可以对应用程序构件进行各种各样的控制,使得封装好的构件能够适应不同的 运行环境和用户要求。比如说构件制造商对构件运行环境往往有些特殊的复杂要求,如构件是否支持多线程或信息加密,这些对于一般用户来讲很难理解和适应; 而众多用户会有不同好恶,如怀疑构件有病毒,也不是构件制造商料所能及的。这时由操作系统控制主动权,动态生成中间件和构造构件运行环境,就能很好地解决 这些问题。
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分