|
虽然为Xipos编写AP并非难事,但与嵌入式Linux相比,AP少还是Xipos的最大缺点。对于图形用户界面,Linux上已有很多较为完善的系统,如MicroWindow, MiniGUI, TinyX等。通过一个Linux兼容库,可以容易地为Xipos移植Linux应用程序,我们以这种方式移植了大量Linux AP, 其中约有30个基MicroWindow的GUI应用。这些程序运行得很好,但它们并不能充分利用Xipos的优点。因为它们的支持系统MicroWindow, MiniGUI等,是以Linux的方式工作的。
以MicroWindow为例,它可以配置为两种工作方式: Client/Server方式或单进程方式. 虽然也有一些PDA使用单个进程的GUI模型(这倒不意味着这样的机器一定不支持并发多任务,有可能 只是同一时刻只能有一个 GUI 进程与用户交互,一般占据全屏,其它GUI进程 ,如果有的话,既 不能绘画也不能接受输入), 但GUI进程之间不能互相交互,可用性受到很大限制。而Client/Server方式,绘制和接受输入都需要进程上下文的切换,开销太大,GUI进程的响应不够流畅,在目前的 嵌入式硬件环境下,不利影响还是比较明显的。曾有厂家因在60MHz的RISC PDA(运行 linux)上无法 接受其表现而放弃了C/S 模式的GUI。
大陆开发的MiniGUI, 其早期版本基于pthreads库,界面处于一个进程中,GUI开销是很小的, 但不利于GUI环境中增加应用,同时整个GUI系统也不够健壮。其后的版本支持 "Lite" 配置, 基 于C/S 模式并进行了优化,但在同时显示上有限制。
另外两种典型的嵌入式GUI系统,TinyX 和 QT/Embedded 相当完善且功能强,但对于XIPOS能支持的 最小系统来说,它们都太大了,占用资源过多并且运行缓慢。
XIPOS对小型嵌入式设备的支持有独到之处,XIPOS GUI是为应用程序能够充分利用这种好处而专门设计的图形界面系统。为了保护AP开发的投入,XIPOS GUI可以配置到Linux或更简单的环境中运行。
|