|||
Dsworks是北京德思沃嵌入式计算机公司开发的基于OSEK标准的实时操作系统。
对于操作系统,我在学习OSEK标准以前,觉得种类太多,而且互通性太差,每一个公司都有一个特定的标准,TI有DSP/BIOS,keil有Keil Rtx51 Tiny,对于ARM就有数不清的操作系统了,从爱好者的51操作系统,到商用的thread、Vxworks等,国内外知名的就有数十种,但是每一个操作系统之间都没有互通的情况,除了最基本的概念。
OSEK标准统一了操作系统的外部接口函数,并对于任务(TASK)、EVENT、ALARM等提出了明确的描述,对于他们的动作、运行机制等也作出了详细的规定。作为汽车行业嵌入式操作系统的一个世界性的标准,OSEK为我们提供了一个非常标准的平台,只要符合这个标准的操作系统,我们的程序都可以很随意的去移植,而不用考虑TASK、EVENT等的重新划分问题。
长话短说,实时操作系统Dsworks将我带入了微处理器开发的一个新的领域,给我带来了不同的感觉。与uc/os II等主流嵌入式操作系统不同,Dsworks由于符合了OSEK标准,结构假设简单,接口API数量少,大大较低了编程的工作量。
开发一个含有嵌入式操作系统的程序,主要的目的是解决多任务执行时的调度问题,为了减少开发时间,降低开发难度,需要有一系列的硬件API函数,包括了各个硬件外设,以及现在最常用的GUI。
Dsworks的标准内核并没有Gui部分,德思沃专门为GUI部分开发了DSWGUI图形界面开发包,可以非常方便的开发具有GUI的应用程序。
我认为,一个良好的嵌入式操作系统可以使用户忽略硬件的差异,真正做到硬件无关,就像windows操作系统一样,对于不同的平台,用户没有因为硬件寄存器改变,而需要重新编写应用程序的问题。
这一点,Dsworks是通过编写通用硬件API函数来实现的,良好的API函数,可以使用户忘记硬件平台的各项内容,只剩下抽象的软件概念。