首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian开发 >> 正文
Symbian OS Internals——软件分层
作者:Bequan 译    文章来源:Symbian OS Internals: Real-time Kernal Programming一书    更新时间:2007-5-31 16:43:35

    我们也可以从软件分层的观点来看待Symbian OS的结构,见图1.2

如果你熟悉EKA1,你会发现EKA2的分层与它有点不同。但是,当我们把代码在所有平台上共享的大部分通用的独立层下移到专用的变量层——它们的代码为特定开发板(development board)或特定手机上的特定ASIC编写,它们有更多的相似之处。

我们把它上面的四层叫做“内核层”,下面两层叫做“串行层”。后面的这些形式是支持手机厂商在把Symbian OS移植到新硬件时所实现的集合包的平台的主要部分。它也组成了引导程序、设备驱动和扩展。

独立层组成了大约60%的内核源代码。它提供了微内核和Symbian OS内核的基本组成成员,即——微线程、线程、进程、数据块、C-S等等。这些基类被低层次的类继承,从而为Symbian OS运行于其上的特定硬件提供实现。

平台层关心可执行映像——Symbian OS是运行在模拟器上还是在真实的硬件上,因此,它也有另一个名字,即映像层。只有内存模型在这个层次上有代码,它提供了两个实现,即用于硬件设备的EPOC和用于模拟器的WIN32

模型层实现了每进程驻留内存的所有组织,而且,也只有内存模型在这个层次上由代码。内存模型提供了四种不同的实现——MovingMultipleDirectEmulator。第七章内存模型,将深入讨论这四个问题。

CPU层为Symbian OS所运行处理器准备了不同的代码;这部分属于汇编代码。微内核、内存模型和Symbian OS内核都在这个层上有代码。在写代码的时候,Symbian提供三种可能的CPU层——X86(PC硬件的端口)ARM(手机)Win32(用于模拟器)

内存模型的CPU层有专用CPUMMU的代码以及专用的内存模型代码。微内核的CPU层包含了核心CPU结构的大部分知识——异常和中断怎样被捕获,哪一个寄存器需要被保存到上下文转换环境里等等。Symbian OS内核的CPU层上的一部分代码是编成汇编代码以改善性能的独立层功能。

变量层提供了微内核和Symbian OS内核所期望的控制函数的实现。就像上面提到的,手机厂商可以在往新硬件移植的时候选择把该层分离到ASSP或者一个变量。

该变量层也提供硬件抽象层函数的专用硬件实现,虽然这些可能在内核或扩展中被同等地实现。

    在第五章内核服务,我将解释每层暴露给其他层的服务。
相关文章:
Symbian OS v9上信息摘要算法的实现(MD5/SHA1)
symbian学习的开始
Symbian 应用软件开发、测试与S60 平台安全常见问题问答
Symbian 认证启用新 CA 颁发的认证证书常见问题问答
小试Python for Symbian
Symbian开发环境设置(Microsoft Visual Studio.Net 2003工具)已测试通过
Symbian OS Internals——Symbian OS模拟器
在Symbian程序中使用汇编代码
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号