Symbian OS Internals——EKA2的历史

Symbian OS Internals——EKA2的历史
 

    在软件工程中,内核设计是最令人激动的一种机遇。在80年代的8位和16位服务于PsionPDA的内核设计后,EKA2是对32Symbian内核结构的重构。

Psion’s Organiser发行于1984年,它基于8位处理器,并且仅支持内置的应用程序。对于这样的设备而言,必需的内核用于系统引导和系统设备管理,而且在8位内核和中间件或应用程序间,也没有清晰的区别。

1986年,Psion发行了8位的提供基于交互式OPL语言扩展的Organiser II。这时候,提供足够高效的内存管理对OS就变得重要起来,比如支持交互式语言。

主要的变革开始于90年代,Psion发行了一系列的新版本,包括LaptopClamshell OrganizerIndustrial Organizer,它们都是基于单操作系统的。16位的EPOC内核被绑定到Intel 8086结构,并且支持扩展,编写这些应用程序不仅可以使用OPL语言,而且也可以使用EPOC OS上的原生C API——它开放了OS以支持任何第三方应用的编写。

这种开放对内核提出了更多要求。首先,它必须形成文档并向第三方开发人员提供。假如有些应用写得很糟糕:内核将必须提供内存保护,以使它们产生的Bug不影响其他的程序,更要保证它们不使整个OS发生崩溃。应用程序要求有成熟的内存管理来管理它们自己的工作区内存。在资源受到严格管理的机器上,大量的事件驱动服务必须高效地执行。所有的这些问题都提交到了8086的分段式内存模型平台,这种平台同时还要面对能够让PC程序员在将来乐于接受的挑战。

因此,16位的EPOC内核必须处理今天的EKA2仍然也要处理的大量请求,因为它的配置介于嵌入式实时系统和传统的比如Windows桌面系统之间。它类似于嵌入式RTOS,但比RTOS更大,因为它支持丰富的功能并且对第三方应用开放。同时,它类似于桌面型系统(开放的、也使用8086结构),但它又更小,因为它可用的内存和电源等资源比桌面型系统更少。

对于EKA2的诞生,两个更深远的变革是必需的。

EPOC32,形成于1994年,发布于1997年的Psion’s Series5 PDA中。它的内核采用EKA1的配置,继承了16EPOC内核的优良品质,同时还增加了一些重要的特性。首先,由于采用8086的分段内存结构,EKA1完全是32位的,EPOC可以尽量避免那种因设计的不合理而产生的崩溃。其次,EKA1内核诞生于硬件的种类和革新都很丰富的年代,这使它与被绑定到80186总线结构上的16EPOC不同。基本结构的差异,使得很多的实现细节发生了改变,但EKA116位的EPOC还是有本质上的相似性。

就在那时,我职业生涯中最值得骄傲的时刻在我的卧室里发生了。那时,团队中其他都不在办公室,所以我在家里工作了了一个星期,我近乎疯狂地努力,试图在他们回来之前第一次成功引导内核。最后,在星期五的下午,空线程终于打印出来了它的调试信息——EKA1诞生了。

显然,EKA1并不是故事的终结。支持事件驱动编程的Symbian OS系统很有效率,但它不提供实时的保证。它的内核设计得很健壮——以支持用户个人数据的PDA产品——这是基本的目标。当Symbian OS开始专注于处理移动电话的需求时,提供实时处理的支持就显得很重要了。

还有其他的一些因素在影响着EKA2。在EKA1的环境下进行实时硬件移植的经验表明,EKA1模块的边界不太好确定,这就给移植工作带来了困难。有些端口,只需要很小的一点驱动上的改变,但在实现上,却要求重构内核。

所以,新的内核结构在设计之初就区别于最初的32EPOC内核,它被命名为EKA2(EPOC Kernel Architecture 2),这个命名暗示了EKA1是它的先驱。

EKA2的设想形成于1998年,而且渐渐地被推向市场。到2003年,Symbian主要的授权用户和半导体供应商都承诺在未来的产品中采用EKA2

写这本书是为了向用户提供新实时内核的详细说明,并向读者介绍设计和实现这个内核的软件工程师对它的理解。

本章作为本书的基础,它应该让你对新实时内核的整体体系结构有一个良好的理解,同时理解我们对设计选择的论证。我也将对模拟器的设计有所涉及,然后在本书的稍后部分返回这个主题,更详细地介绍它。

======================================================================

说明: 本文由Bequan翻译自Symbian Press的Symbian OS Internals: Real-time Kernal Programming一书。任何人需要转载或引用,请先通过Email(a-pangu@163.com或symbianchn@gmail.com)与Bequan联系,在获得许可后方可转载或引用,否则视为侵权行为。转载或引用时,请在文章中注明上述翻译信息。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值