Symbian OS Internals——设计目标
在开始设计
EKA2
的时候,我们给自己制定了一些约束。我们确定了不想抛弃掉的
EKA1
中的某些部分,这就意味着我们想保证新的内核仍然可以做到以下几点:
1、
遵循嵌入式
OS
的传统
2、
适合资源受限的环境
3、
模块化:由微内核和用户端服务器组成
4、
兼容多种芯片集
5、
健壮,可以容忍糟糕的代码
6、
完整,保证用户数据的安全
接着,我们制定了新的目标。主要的目标是:新的核心将是实时的,并且提高了整体性能。我们决定如果能在新的操作系统上运行一个
GSM
协议栈,这个目标就可以达到。一个好处,而且是一个有价值的好处,是这个核心将具备更好的支持高带宽活动比如通讯和多媒体的能力。这个目标可分解为几个子目标和需求:
1、
用户线程响应中断的反应时间小于等于
1ms
2、
核心进程响应中断的反应时间小于等于
500
μ
s
3、
快速的互斥量操作
(Fast mutex operations)
4、
必要时,系统调用的时间长度是已确定的
5、
系统调用是抢占式的
6、
基于信号量
(semaphore)
和互斥量
(mutex)
的优先级队列
7、
高分辨率的计时器
接着,我们还考虑了其他可以使这个系统更优化的措施,并提出了下列方案:
1、
易于移植——虽然
EKA1
在设计上已经实现了可移植性,但为了更简单地将这个系统移植到新的硬件上,我们还可以再进一步。
2、
对恶意代码
(
而不仅仅是写得很糟糕
)
的免疫力。
3、
支持单核——内嵌的和用户应用代码可以在同一个处理器内核上运行。
4、
为开发和调试提供更好的模拟器,这个模拟器可以更真实地模拟硬件环境。
5、
更易于编写设备驱动。
当我们考虑这些设计目标的时候,我们知道在设计中有一个很重要的约束,那就是与
EKA1
的
ESUER
类库的兼容性。
EUSER
是所有
Symbian OS
应用到内核的接口,而且存在很多这样的
EUSER
类库。
==================================================================
说明: 本文由Bequan翻译自Symbian Press的Symbian OS Internals: Real-time Kernal Programming一书。任何人需要转载或引用,请先通过Email(a-pangu@163.com或symbianchn@gmail.com)与Bequan联系,在获得许可后方可转载或引用,否则视为侵权行为。转载或引用时,请在文章中注明上述翻译信息。
说明: 本文由Bequan翻译自Symbian Press的Symbian OS Internals: Real-time Kernal Programming一书。任何人需要转载或引用,请先通过Email(a-pangu@163.com或symbianchn@gmail.com)与Bequan联系,在获得许可后方可转载或引用,否则视为侵权行为。转载或引用时,请在文章中注明上述翻译信息。