| 菊风ZOS操作系统服务平台 |
| ZOS(Zero Operating System)是菊风公司的的操作系统服务平台,提供了支持多种操作系统环境下的统一抽象接口操作,使得软件产品能够独立于特定的处理机、编译器和操作系统等应用环境。此外,ZOS增强了系统服务功能,提供任务管理、消息队列、计时器管理、内存管理、数据缓冲区管理、日志管理,抽象了很多协议相关的服务功能接口,如ABNF、ASN.1编解码库。 |
| ZOS软件模块: |
|
| ZOS软件模块描述: |
Memory Management 协议内存管理
Data Buffer 数据缓冲区管理
Task Management 任务管理
Message Queue 消息队列和分发策略
Timer Management 类分计时器管理
ABNF/ASN.1 Codec ABNF、ASN.1(BER和PER)编解码库
XML解析器 支持SAX, DOM接口
Portable OS OS兼容接口 (只需涉及到OS的 任务/信号量/互斥/时间/网络/内存堆 接口)
String/Time/List/... Library 字符串、时间、队列、信号量等库函数
Utility Function 协议ABNF和ASN扫描器、XML解析器,协议公共库和调式跟踪、协议日志等接口 |
| ZOS已经支持的OS: |
Windows (2000 / XP / CE)
Linux (Redhat, ArmLinux...)
VxWorks (2.0, 2.02, 2.2)
Solaris
ThreadX OS
|
| ZOS在实际产品中的位置: |
|
| 实际的Operating System可能是Windows、Linux、Solaris、VxWorks、pSOS等。 |
| ZOS中的主要技术优势有: |
菊风公司的技术优势考虑了两方面因素:首先,我们从系统平台上如何保证产品架构的完整性、稳定性、可移植性等技术要求;其次我们关注系统平台之上的协议系统(包括协议栈和协议应用程序等)的健壮性、高效性、可扩展性、可维护性、可管理性。除此之外我们对系统内外模块的灵活性考虑的非常细致,这实际上需要优秀的设计和编码质量的支撑。 |
| 菊风公司在技术上有一个非常突出的特点就是我们对规范的严格化要求非常高,我们在编码上和协议设计上首先考虑的是满足公司和标准上对规范的要求,其次我们才考虑其他方面上的想象力发挥。 |
| 高度可移植的架构设计 |
| 菊风的操作系统服务平台实现了很多操作系统的基本功能,如任务管理、内存管理、缓冲区管理、时间管理、计时器管理等,还提供了自己实现的很多库函数,如队列、字符串处理、时间管理等其他算法,这些都是自有代码,独立开发的。而且我们把涉及到移植性问题的技术实现进行了接口归纳,即使在我们尚未支持的操作系统中,也只要添加相关功能就能成功工作。 |
| 采用了先进的层次模型 |
| 国际电信联盟(ITU)和国际标准组织(ISO)设计了一套开放系统互连的模型(OSI),国外Trillium公司的协议软件层次模型就是从中提炼出来的。我们在分析了ITU关于OSI的大量文档后,结合我们自己的技术经验,总结了一套能够适用于所有产品(软硬件)的层次设计模型。层次设计模型在所有产品中的应用,保证了软件设计中的概念完整性,使软件开发的速度和质量得到了保证。 |
| 独特的缓冲区设计机制 |
缓冲区机制目的是减少内存复制,降低访问开销。现有常见的二层体系方案(如FreeBSD中的mbuf)和STREAMS三层体系结构,都有用法约束,存在着不小的访问开销。Juphoon设计的缓冲区采用更加直接的管理方式,并且把数据进行分类管理。这样可以有效的减少内存复制。使用Dbuffer,可使数据和结构在协议栈处理过程中实现零拷贝。
更多信息... |
| 独创的一次快速扫描机制 |
协议开发中数据解析时使用的方法一般都是采用字符串比较、分组解析,而我们运用的是协议字符集管理机制,只需要做到一次扫描就可以把数据信息解析出来,据我们了解,目前业界的其他协议软件都不能做到这一点。使用Juphoon的ABNF Parser可使编解码效率提高3-9倍,而扫描技术是影响协议性能最关键的因素,通常协议编解码占产品系统开销的40%-60%。
更多信息... |
| 安全内存管理技术 |
菊风的Bucket内存管理技术特别适应嵌入式设备的内存管理需要。Bucket管理对象可根据上层应用需要配置各类合适的内存块,并在内存块中设置了安全数据(magic data)。这种技术保证了内存的安全使用,也避免了底层操作系统动态申请和释放内存的开销。
更多信息... |
| Dump精确的语法错误定位 |
将菊风的Dump Stack 应用到ABNF Parser,可以精确到字符地定位协议语法错误,并指出错误原因,同时提供协议分析的过程堆栈。如在示例的sip消息中,错误是没有forward value,dump就明确的指出报文的语法错误。
另外,Dump Stack作为一个独立的模块,也可以应用到其它任何模块中,如dbuf、fsm等。
更多信息... |
| 任何资源的垃圾回收机制 |
在我们的平台中提供了一套垃圾回收机制,可以保证对任何资源的管理和垃圾收集,使用户不用担心内存和其他资源泄露或者无效占用的问题。
这些任何资源可以包括,memory,ZOS提供的dbuf,memory bucket,file handle,socket handle或任何其它可得到句柄并可传入的计算机资源。
更多信息... |
| 提供多种计时器策略 |
一般系统平台中只提供一种计时器策略,而在不同协议系统和应用场景中对计时器的时间长度、数量等要求都不相同,所以在我们的平台中提供了多种计时器策略,
QTimer是一个类分计时器,是一个适用于信令协议处理的线性计时器,供应用层使用。如果需要大量的计时器,应用层可以使用RTimer计时器,RTimer 可以由 QTimer 驱动。
RTimer的设计目的是为了解决需要大量计时器的情况。精良的 RTimer 设计能够适应大量(如几万个)并发的计时器需求,而消耗的系统的空间资源和CPU指令资源却非常少。
RTimer可以由其它计时器如QTimer驱动,也可以由中断驱动。
更多信息... |
| 其他技术优势 |
1. 对内存池中的内存块进行生命周期的跟踪, 具有上下溢出检查,内存改写检查,内存重复释放检查等功能
2. 系统资源的 Brick 管理技术,抽象了用户应用程序的资源管理和操作。
3. 有限状态机映射,3维表状态机机制,具有其他常用状态机所不具备的优势
4. 用 C 实现 C++ 模板化功能
5. 模块队列管理技术,有效地加强模块层次概念,并且有助于提高线程安全性。
6. 高加密和高效的高精度时间戳算法
7. 跟协议无关的呼叫测试引擎技术
8. 严格的命名规范
9. 为数众多的工具
更多信息... |
| 详细的ZOS操作系统服务平台描述请参考包含在菊风软件产品用户手册中的ZOS操作系统服务平台业务功能规格说明书。 |
| |