物联网 *** 作系统的体系架构

物联网 *** 作系统的体系架构,第1张

物联网 *** 作系统内核、辅助外围模块(文件系统、图形用户界面、通信协议栈、各类常见设备的驱动程序等)、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用。
物联网 *** 作系统与传统的个人计算机 *** 作系统和智能手机类 *** 作系统不同,它具备物联网应用领域内的一些独特特点,现说明如下。
物联网 *** 作系统内核的特点
1、内核尺寸伸缩性强,能够适应不同配置的硬件平台。比如,一个极端的情况下,内核尺寸必须维持在10K以内,以支撑内存和CPU性能都很受限的传感器,这时候内核具备基本的任务调度和通信功能即可。在另外一个极端的情况下,内核必须具备完善的线程调度、内存管理、本地存储、复杂的网络协议、图形用户界面等功能,以满足高配置的智能物联网终端的要求。这时候的内核尺寸,不可避免的会大大增加,可以达到几百K,甚至M级。这种内核尺寸的伸缩性,可以通过两个层面的措施来实现:重新编译和二进制模块选择加载。重新编译措施很简单,只需要根据不同的应用目标,选择所需的功能模块,然后对内核进行重新编译即可。这个措施应用于内核定制非常深入的情况下,比如要求内核的尺寸达到10K以下的场合。而二进制模块选择加载,则用在对内核定制不是很深入的情况。这时候维持一个 *** 作系统配置文件,文件里列举了 *** 作系统需要加载的所有二进制模块。在内核初始化完成后,会根据配置文件,加载所需的二进制模块。这需要终端设备要有外部存储器(比如硬盘、Flash等),以存储要加载的二进制模块;
2、内核的实时性必须足够强,以满足关键应用的需要。大多数的物联网设备,要求 *** 作系统内核要具备实时性,因为很多的关键性动作,必须在有限的时间内完成,否则将失去意义。内核的实时性包涵很多层面的意思,首先是中断响应的实时性,一旦外部中断发生, *** 作系统必须在足够短的时间内响应中断并做出处理。其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须能够马上得到调度。显然,基于非抢占式调度方式的内核很难满足这些实时性要求;
3、内核架构可扩展性强。物联网 *** 作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在 *** 作系统内核上增加新的功能的新的硬件支持。因为物联网的应用环境具备广谱特性,要求 *** 作系统必须能够扩展以适应新的应用环境。内核应该有一个基于总线或树结构的设备管理机制,可以动态加载设备驱动程序或其它核心模块。同时内核应该具备外部二进制模块或应用程序的动态加载功能,这些应用程序存储在外部介质上,这样就无需修改内核,只需要开发新的应用程序,就可满足特定的行业需求;
4、内核应足够安全和可靠。可靠性就不用说了,物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。安全对物联网来说更加关键,甚至关系到国家命脉。比如一个不安全的内核被应用到国家电网控制当中,一旦被外部侵入,造成的影响将无法估量。为了加强安全性,内核应支持内存保护(VMM等机制)、异常管理等机制,以在必要时隔离错误的代码。另外一个安全策略,就是不开放源代码,或者不开放关键部分的内核源代码。不公开源代码只是一种安全策略,并不代表不能免费适用内核;
5、节能省电,以支持足够的电源续航能力。 *** 作系统内核应该在CPU空闲的时候,降低CPU运行频率,或干脆关闭 CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。同时, *** 作系统内核应最大程度的降低中断发生频率,比如在不影响实时性的情况下,把系统的时钟频率调到最低,以最大可能的节约电源。
物联网 *** 作系外围模块的特点
外围模块指为了适应物联网的应用特点, *** 作系统应该具备的一些功能特征,比如远程维护和升级等。同时也指为了扩展物联网 *** 作系统内核的功能范围,而开发的一些功能模块,比如文件系统、网络协议栈等。物联网 *** 作系统的外围模块(或外围功能)应该至少具备下列这些:
1、支持 *** 作系统核心、设备驱动程序或应用程序等的远程升级。远程升级是物联网 *** 作系统的最基本特征,这个特性可大大降低维护成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。即使在升级失败的情况下, *** 作系统也应该能够恢复原有的运行状态。远程升级和维护是支持物联网 *** 作系统大规模部署的主要措施之一;
2、支持常用的文件系统和外部存储。比如支持FAT32/NTFS/DCFS等文件系统,支持硬盘、USB stick、Flash、ROM等常用存储设备。在网络连接中断的情况下,外部存储功能会发挥重要作用。比如可以临时存储采集到的数据,再网络恢复后再上传到数据中心。但文件系统和存储驱动的代码,要与 *** 作系统核心代码有效分离,能够做到非常容易的裁剪;
3、支持远程配置、远程诊断、远程管理等维护功能。这里不仅仅包涵常见的远程 *** 作特性,比如远程修改设备参数、远程查看运行信息等。还应该包涵更深层面的远程 *** 作,比如可以远程查看 *** 作系统内核的状态,远程调试线程或任务,异常时的远程dump内核状态等功能。这些功能不仅仅需要外围应用的支持,更需要内核的天然支持;
4、 支持完善的网络功能。物联网 *** 作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。这个协议栈要具备灵活的伸缩性,以适应裁剪需要。比如可以通过裁剪,使得协议栈只支持IP/UDP等协议功能,以降低代码尺寸。同时也支持丰富的IP协议族,比如Telnet/FTP/IPSec/SCTP等协议,以适用智能终端和高安全可靠的应用场合;
5、对物联网常用的无线通信功能要内置支持。比如支持GPRS/3G/HSPA/4G等公共网络的无线通信功能,同时要支持Zigbee/NFC/RFID等近场通信功能,支持WLAN/Ethernet等桌面网络接口功能。这些不同的协议之间,要能够相互转换,能够把从一种协议获取到的数据报文,转换成为另外一种协议的报文发送出去。除此之外,还应支持短信息的接收和发送、语音通信、视频通信等功能;
6、内置支持XML文件解析功能。物联网时代,不同行业之间,甚至相同行业的不同领域之间,会存在严重的信息共享壁垒。而XML格式的数据共享可以打破这个壁垒,因此XML标准在物联网领域会得到更广泛的应用。物联网 *** 作系统要内置对XML解析的支持,所有 *** 作系统的配置数据,统一用XML格式进行存储。同时也可对行业自行定义的XML格式进行解析,以完成行业转换功能;
7、支持完善的GUI功能。图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。GUI应该定义一个完整的框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如文本框、按钮、列表等。另外,GUI模块应该与 *** 作系统核心分离,最好支持二进制的动态加载功能,即 *** 作系统核心根据应用程序需要,动态加载或卸载GUI模块。GUI模块的效率要足够高,从用户输入确认,到具体的动作开始执行之间的时间(可以叫做click-launch时间)要足够短,不能出现用户点击了确定、但任务的执行却等待很长时间的情况;
8、支持从外部存储介质中动态加载应用程序。物联网 *** 作系统应提供一组API,供不同应用程序调用,而且这一组 API应该根据 *** 作系统所加载的外围模块实时变化。比如在加载了GUI模块的情况下,需要提供GUI *** 作的系统调用,但是在没有GUI模块的情况下,就不应该提供GUI功能调用。同时 *** 作系统、GUI等外围模块、应用程序模块应该二进制分离, *** 作系统能够动态的从外部存储介质上按需加载应用程序。这样的一种结构,就使得整个 *** 作系统具备强大的扩展能力。 *** 作系统内核和外围模块(GUI、网络等)提供基础支持,而各种各样的行业应用,通过应用程序来实现。最后在软件发布的时候,只发布 *** 作系统内核、所需的外围模块、应用程序模块即可。
物联网 *** 作系统集成开发环境的特点
集成开发环境是构筑行业应用的关键工具,物联网 *** 作系统必须提供方便灵活的开发工具,以开发出适合行业应用的应用程序。开发环境必须足够成熟并得到广泛适用,以降低应用程序的上市时间(GTMT)。集成开发环境必须具备如下特点:
1、 物联网 *** 作系统要提供丰富灵活的API,供程序员调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java、Basic等程序设计语言;
2、 最好充分利用已有的集成开发环境。比如可以利用Eclipse、Visual Studio等集成开发环境,这些集成开发工具具备广泛的应用基础,可以在Internet上直接获得良好的技术支持;
3、 除配套的集成开发环境外,还应定义和实现一种紧凑的应用程序格式(类似Windows的PE格式),以适用物联网的特殊需要。通过对集成开发环境进行定制,使得集成开发环境生成的代码,可以遵循这种格式;
4、 要提供一组工具,方便应用程序的开发和调试。比如提供应用程序下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网 *** 作系统内核、外围模块、应用开发环境等,都是支撑平台,支撑更上一层的行业应用。行业应用才是最终产生生产力的软件,但是物联网 *** 作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网 *** 作系统,物联网这棵大树才能结出丰硕的果实。

1、ActiveDirectory改进

在Windows2000引入的MicrosoftActiveDirectory服务简化了复杂网络目录的管理,并使用户即使在最大的网络上也能够很容易地查找资源。此企业级目录服务是可扩展的,完全是基于Internet标准技术创建的,并与WindowsNETServer2003标准版、WindowsNETServer2003企业版和WindowsNETServer2003Datacenter版中的 *** 作系统完全集成。

WindowsServer2003为ActiveDirectory提供许多简捷易用的改进和新增功能,包括跨森林信任、重命名域的功能以及使架构中的属性和类别禁用,以便能够更改其定义的功能。

2、组策略管理控制台

管理员可以使用组策略定义设置以及允许用户和计算机执行的 *** 作。与本地策略相比,企业用户可以使用组策略在ActiveDirectory中设置应用于指定站点、域或组织单位的策略。基于策略的管理简化了系统更新 *** 作、应用程序安装、用户配置文件和桌面系统锁定等任务。

组策略管理控制台(GPMC)预计可作为WindowsServer2003的附加程序组件使用,它为管理组策略提供了新的框架。有了GPMC,组策略使用起来将更简单,此优势将使更多的企业用户能够更好地使用ActiveDirectory并利用其强大的管理功能。

3、策略结果集

策略结果集(RSoP)工具允许管理员查看目标用户或计算机上的组策略效果。有了RSoP,企业用户将具有强大灵活的基本工具来计划、监控组策略和解决组策略问题。

RSoP是以一组Microsoft管理控制台(MMC)管理单元的形式提供的结构。这些管理单元让管理员以两种模式确定并分析当前的策略集:登录模式和计划模式。在登录模式中,管理员可以访问已应用到特定目标的信息。在计划模式中,管理员可以看到策略将如何应用到目标,然后在部署组策略的更改之前进行检查其结果。

4、卷影子副本恢复

作为卷影子副本服务的一部分,此功能使管理员能够在不中断服务的情况下配置关键数据卷的即时点副本。然后可使用这些副本进行服务还原或存档。用户可以检索他们文档的存档版本,服务器上保存的这些版本是不可见的。

5、InternetInformationServices60

InternetInformationServices(IIS)60是启用了Web应用程序和XMLWeb服务的全功能的Web服务器。IIS60是使用新的容错进程模型完全重新搭建的,此模型很大程度上提高了Web站点和应用程序的可靠性。

现在,IIS可以将单个的Web应用程序或多个站点分隔到一个独立的进程(称为应用程序池)中,该进程与 *** 作系统内核直接通信。当在服务器上提供更多的活动空间时,此功能将增加吞吐量和应用程序的容量,从而有效地降低硬件需求。这些独立的应用程序池将阻止某个应用程序或站点破坏服务器上的XMLWeb服务或其他Web应用程序。

IIS还提供状态监视功能以发现、恢复和防止Web应用程序故障。在WindowsServer2003上,MicrosoftASPNET本地使用新的IIS进程模型。这些高级应用程序状态和检测功能也可用于现有的在InternetInformationServer40和IIS50下运行的应用程序,其中大多数应用程序不需要任何修改。

6、集成的NET框架

MicrosoftNET框架是用于生成、部署和运行Web应用程序、智能客户应用程序和XMLWeb服务的MicrosoftNET连接的软件和技术的编程模型,这些应用程序和服务使用标准协议(例如SOAP、XML和>

NET框架为将现有的投资与新一代应用程序和服务集成起来而提供了高效率的基于标准的环境。

另外,它帮助企业用户解决部署和 *** 作Internet范围的应用程序所遇到的问题。

有了完全集成在WindowsServer2003 *** 作系统内的NET框架,开发人员可以从编写“管道”代码中解放出来,从而可以将他们的精力集中在实现真正的商业价值方面。NET框架兼顾了集成和管理细节,降低了编码复杂性并增加了一致性。

7、命令行管理

WindowsServer2003系列的命令行结构得到了显著增强,使管理员无须使用图形用户界面就能执行绝大多数的管理任务。最重要的是通过使用Windows管理规范(WMI)启用的信息存储来执行大多数任务的功能。此WMI命令行(WMIC)功能提供简单的命令行界面,与现有的外壳程序和实用工具命令交互 *** 作,并可以很容易地被脚本或其他面向管理的应用程序扩展。

总之,WindowsServer2003系列中更强大的命令行功能与现成的脚本相结合,可与其他通常具有更高所有权成本的 *** 作系统的功能相抗衡。习惯使用命令行管理UNIX或Linux系统的管理员可以继续从WindowsServer2003系列中的命令行进行管理。

8、集群(8节点支持)

此服务仅用于WindowsServer2003企业版和WindowsServer2003Datacenter版,它为任务关键型应用程序(例如数据库、消息系统以及文件和打印服务)提供高可用性和伸缩性。通过启用多服务器(节点)集中工作从而保持一致通讯。如果由于错误或维修使得集群中的某个节点不可用,另一个节点将立即开始提供服务,此过程称为故障转移。正在访问该服务的用户将继续他们的活动,而不会察觉到该服务现在是由另一台服务器(节点)提供。

WindowsServer2003企业版和WindowsServer2003Datacenter版都支持多达8个节点的服务器集群配置。

9、安全的无线LAN(8021X)

根据WindowsServer2003系列对8021X的支持,公司可以寻求一种安全模型,该模型将确保所有物理访问都是已授权和加密的。使用基于8021X的无线访问点或选项,公司可以确保只有受信任的系统才能与受保护的网络连接并交换数据包。因为是由8021X决定动态密钥,因此通过解决与有线设备隐私(WEP)(由IEEE80211网络使用)相关联的许多已知问题将会显著改善8021X无线网络加密。

此功能为无线局域网(LAN)提供了安全和性能方面的改进,如访问LAN之前的自动密钥管理、用户身份验证和授权。当有线以太网在公共场所使用时,它还提供对以太网络的访问控制。

10、紧急管理服务:无外设服务器支持

“无外设服务器”功能使IT管理员在没有监视器、VGA显示适配器、键盘或鼠标的情况下也能安装和管理计算机。紧急管理服务是一种新增功能,它使IT管理员在无法使用服务器时通过网络或其他标准的远程管理工具和机制,执行远程管理和系统恢复任务。

物联网系统开发涉及的环节、人员及内容非常多,把物联网系统开发分成四大阶段,主要是需求阶段、研发阶段、测试阶段、发布阶段等,实现循序渐进,完成物联网系统项目开发。
1、需求阶段
企业在开发前就需要清楚想要什么类型的系统,产品经理与客户进行沟通讨论时,就包括开发类型、开发平台、功能需求、页面设计、开发周期、开发预算等问题反复讨论,之后还将这些需求梳理、需求分类,整理出大致的物联网系统功能框架原型图,只到确认原型图符合要求。
2、研发阶段
在需求阶段梳理完成后,进入物联网系统项目研发时,UI设计师会根据互联网系统原型图进行界面设计,在经过过多次与项目经理沟通修改后,形成初步的互联网系统的页面设计效果图。页面设计完成后,项目开发的前后端工程师根据需求文档进行需求评审,需要程序编写人员根据计划表,按计划和模块进行编写;在编码阶段择合适的程序设计语言、制定编码规范、建立数据库系统、进行程序编码。
3、测试阶段
测试是项目中较为重要的环节,其保证软件系统最后的质量。在物联网系统开发的测试中大致环节包含:测试用例设计、单元测试、集成测试、系统测试、编写《测试分析报告》。在此过程中,测试人员会将出现bug的部分,按计划反馈给前后端的相关负责人或工程师,然后相应工程师进行修改,直至项目在测试环节无bug问题,与客户进行沟通开始验收。
4、发布交付
软件系统开发公司根据合同向企业交付相关程序和文档,


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13380834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存