西门子平凉授权代理商
1 什么是嵌入式操作系统
随着计算机技术的发展,嵌入式应用已经成为计算机应用领域的一个重要组成部分。所谓嵌入式应用,是指应用系统不是以计算机为主,而是把计算机技术做为应用系统的一个组成部分嵌入到应用系统中,使其具有更高的性能。例如:程控交换机、手持式电话等,计算机的嵌入式应用领域是十分广阔的。
为了适应嵌入式应用的复杂性和多样性,并缩短其开发周期,嵌入式操作系统应运而生。嵌入式操作系统是相对于一般操作系统而言,通常指的是操作系统的核,严格地说是微内核。嵌入式操作系统为了适应被嵌入系统的要求具备了一般操作系统较基本的功能,如任务调度、同步机制、中断处理,但是没有一般操作系统的用户界面,如Shell。嵌入式操作系统是以库的形式提供给用户,用户可以通过操作系统的API(Application Programming Interface)使用嵌入式操作系统。
2 操作系统的几种结构
单一操作系统
操作系统由许多模块组成,这些模块之间可以相互调用。在这样的操作系统中通常有二种工作模式,即系统模式和用户模式。在系统模式下可以执行任何操作,而在用户模式下有些操作是受限制的,例如I/O操作和一些特殊指令。运行在用户模式的应用程序可以通过系统调用进入系统模式,完成操作后再返回用户模式,但是这样的操作系统很难维护和调试。
层次结构操作系统
层次结构操作系统通常可以分为用户程序、I/O管理、进程通信、存储管理4层。程序可以在各层运行,这样的操作系统提供了“环”管理机制,即*n环的程序无权修改*n-1环的数据,从而提高了操作系统的安全性。
客户/服务器方式操作系统
这种操作系统只有一个很小的内核,以完成进程间通信等基本功能,而把许多其它功能作为服务进程,运行于用户模式,用户程序作为客户进程。其工作方式是客户进程发出请求,服务进程响应请求,操作系统仅完成它们之间的通信。
嵌入式操作系统
一般的操作系统不仅向用户提供开发应用程序的各种API,而且,还必须以命令行的形式或是图形的形式提供一个界面。但是嵌入式操作系统只有API而没有通常意义下的界面,亦即只有一个核心。在核心里只有操作系统的一些基本功能,如任务(线程)调度、存储管理、同步机制、中断管理、API等,而这些功能又可以根据不同的应用系统裁剪和扩充,以便以较小的代码量满足嵌入式系统的需求。
3 设计嵌入式操作系统应考虑的问题
确切地说,嵌入式设计不是一种技术,而是一种概念,一种设计哲学,即把计算机相关技术嵌入到各种应用系统中去,嵌入的方式可以是软件嵌入或硬件嵌入。在这种概念下,一个好的嵌入式设计应该满足以下几点:
使用相关计算机的技术使被嵌入的系统获得很好的性能价格比;
能很好地与被嵌入系统相匹配;
在满足被嵌入系统功能的前提下尽可能简单,避免导致大的系统开销。
从某种意义上说,操作系统是计算机的一个扩展,它赋予了计算机更多的功能;从另一个角度看,操作系统也是计算机系统的资源管理者。因此,在嵌入式操作系统中,内核的较小构成也应包含下列各部分。
(1)任务调度
在当前的嵌入式应用中,特别是对一个复杂的嵌入式应用而言,用单任务来实现是不可能的,而只能采用多任务实现,因此任务调度策略的优劣是至关重要的。
虽然有各种各样的任务调度方法,但概括起来可以分为**级调度、轮转调度、时间片调度3种。
**级调度又可以分为2种:**级抢占和**级不抢占。**级抢占是指当有高的**级进程被后,则立即终止当前运行的进程,使其抢占CPU运行。**级不抢占是指当有高的**级进程被后,并不立即终止当前运行的进程使其抢占CPU,而是将其放到进程就绪队列中,在当前运行的进程结束后,从进程就绪队列中选择**级较高的进程运行。轮转调度是进程管理者按照一个固定的时间间隔让就绪进程轮流运行。时间片调度是根据每个进程各自的实际情况在不同数量的单位时间的时间片内运行。
在一般的操作系统中,固定采用其中的1种或几种方法进行任务调度。例如在Unix和Linux中,采用了**级不抢占、轮转和时间片3种方法,而在实时操作系统中,**级抢占则是的。
无论是在一般的操作系统中还是在嵌入式操作系统中,任务调度都是操作系统的核心。在嵌入式操作系统设计中,很难明确地说哪一种方法比其它方法更好,而要根据被嵌入的实际系统的需求进行优化选择。由于线程的切换速度快于进程的切换速度,因此,在实时嵌入式应用中,多采用单进程多线程调度来提高实时性。在嵌入式操作
嵌入式系统正在试图描绘未来的生活:因为它的存在,机器变得更加智能,因而相互之间的交流成为可能,而嵌入式数据库,无疑是其中较为重要的一环。
嵌入式系统正在试图描绘未来的生活:因为它的存在,机器变得更加智能,因而相互之间的交流成为可能,而嵌入式数据库,无疑是其中较为重要的一环。
随着价格下跌、新技术不断涌入市场,传真机、路由器、POS终端和其他硬件设备的开发者正在寻找更大商业价值的战略——支持设备与企业级服务器交互的嵌入式商业智能设备。在这方面已有一些例子,包括能自动查询库存并在午饭高峰时间自动调价的自动售货机,故障自动呼叫的复印机,甚至当你关掉闹钟后就自动开启的咖啡机。
下一代嵌入式系统数据库
嵌入式系统原来的设计者白手起家,自己编写数据结构。通过使用关系型数据库和同步技术,开发者能为嵌入式设备提供更多复杂功能并提高企业竞争力。
为了更方便地开发数据驱动式嵌入式系统,Sybase在其良好的移动数据库解决方案SQL Anywhere Studio发布了UltraLite署选项。UltraLite提供了灵活、驻留内存、高性能数据库的技术,适合嵌入式系统的*特需求。Sybase的分析技术能轻松定制数据库功能,并与运行在嵌入式设备上的应用所需内存匹配。加上Sybase的Mobibbbb服务器同步技术,用户可以将数据直接从嵌入式设备无缝同步到包括Sybase、甲骨文和微软的企业级数据库上。
毫无疑问,以Sybase为代表的数据库厂商正试图**下一代嵌入式数据库的未来。
更灵活、更符合标准
Sybase的UltraLite部署选项是可运行在嵌入式设备上且具有SQL数据库的功能和可靠性的数据库。其UltraLite分析器技术仅将需要的表、列和索引构建成一个较优化的数据库,它拥有非常快的查询和更新速度。
丰富的SQL功能
UltraLite利用行业标准SQL来存储、检索和操纵数据,显著提高了生产力。UltraLite数据库与强大的企业级数据库一样支持参照完整性、事务处理、双向游标和各种类型的多表连接。工程师不必自己编写这些东西。UltraLite提供了数据存储、检索和操作的可靠解决方案,节省了工程师从零开始自己编写数据结构的复杂度。
所有对数据库的访问都通过嵌入式SQL(bbbbbded SQL,ESQL)
来编写,它是一个访问数据库的业界标准接口。分析器技术读取ESQL并决定运行嵌入式系统应用需要对数据进行的操作。经过处理的SQL代码与应用代码一起编译,并与数据库中的必要部分连接生成一个可执行文件,部署到嵌入式系统中。
高性能内存应用
UltraLite运行时优化内存使用,并提供较优算法与数据结构确保较佳性能。UltraLite生成的数据库仅占用50K内存,它维护内存数据持久化、完全参照完整性与双向同步等功能。
与企业数据双向同步
Mobibbbb服务器同步技术支持在远程系统与统一的企业级数据库之间收发信息。Mobibbbb支持直接与包括Sybase、甲骨文和微软在内的任何主流企业级数据库进行无缝的数据同步。另外,Mobibbbb也支持包括TCP/IP在内的众多有线与无线通信传输协议。
在嵌入式系统中运行的UltraLite数据库,通过Mobibbbb同步服务器与统一数据库服务器进行同步。Mobibbbb同步服务器为UltraLite数据库与其他数据库服务器间的通信提供了接口。
运行在嵌入式系统上的UltraLite数据库与统一数据库的每次同步将更新数据。UltraLite在运行时自动决定哪些数据需要上传;同步脚本用来定义下载数据。Mobibbbb通过使用统一数据库上编写的脚本来管理同步。Mobibbbb管理器也能轻松定义、管理同步与冲突解决规则。
提高生产力
为了提高开发人员的生产力,Sybase
UltraLite支持使用业界标准的工具、技术和组件。这意味着系统工程师在设计UltraLite数据库时能使用他们已经熟悉的开发环境。UltraLite同样提供高层编程接口,它统一了不同系统与操作系统的差异。同样,Mobibbbb服务器同步技术也隐藏了通过不同渠道同步传输数据的复杂性。
嵌入式数据库与各种硬件设备的广泛结合,不仅能够将企业现有的信息以各种方式联合起来。更重要的是,企业因此可以将更多的设备集成到企业IT系统中来加以利用和控制,这将是下一代嵌入式数据库和下一代嵌入式系统所能够带来的利益。
UltraLite客户端支持的平台:
·微软bbbbbbs CE操作系统;
·风河VxWORKS实时操作系统;
·QNX公司Neutrino;
·Symbian EPOC32操作系统。
UltraLite技术特性:
·生成的数据库在嵌入式系统内存中驻留,是可靠、