Symbian OS Internals——内存模型、个性层、扩展和变量

来源:互联网 发布:如何查看淘宝消费总额 编辑:程序博客网 时间:2024/06/07 15:15

1.3.2.3 内存模型

EKA2里,我们把关于ASIC内存结构的设想限定在一个模块中,就是内存模型。从而内存管理模型封装了重要的MMU(存储器管理单元)差异,比如一个缓存是被虚拟标记还是被实际标记,也就是:到底存不存在MMU。在EKA1里,关于内存和MMU的设想遍布于整个操作系统,这样,使得生产一个基于没有MMUASIC的手机比较困难。但EKA2的到来使得它变得容易得多,既然内存模型允许以不同的形式访问内存,那么改变这个结果就相应地容易了。

Symbian目前提供四种不同的内存模型:

1、直接内存模型(没有MMU)

2、移动内存模型(类似于EKA1)

3、多重内存模型(用于实际标记缓存的ASIC,比如IntelX86和以后的ARM内核)

4、模拟器内存模型(用于运行在Windows上的Symbian OS模拟器)

内存模型提供低级别(low-level)内存管理服务,比如每进程寻址空间和内存映射。它在调度器有要求的时候执行上下文转换并参与进程内数据传输。

内存模型也帮助创建进程,作为由文件服务器装载的可执行映射的实例,并且它也参与促成进程内数据传输。

如果有兴趣在内存模型上有更多发现,请查看第七章:内存模型。

 

1.3.2.4 个性层

我们设计微内核以提供刚好够用的功能集来运行GSM信号栈。之后的想法是允许手机厂商在单处理器上即能运行他们自己的信号栈,也能运行他们的个人信息管理(PIM)软件,相比双处理器方案而言可以节省可观的费用。

大部分手机厂商为现有的诸如Nucleus或者μITRONRTOS写了自己的信号栈。这些信号栈意味着时间和金钱上相当大的投资,而手机厂商要把它们移植到微内核上也将产生很大的耗时——这里还没有考虑肯定会增加的其它一些缺陷。

因此,我们设计的微内核允许第三方编写个性层。个性层是跨越微内核为客户端软件提供RTOS API的一个模拟层。个性层将把RTOS调用翻译成微内核调用,以取得同样的结果。在这种方式下,我们允许为这样的RTOS写的源代码运行在Symbian OS之下,这些代码可以有一些小的改动或者没有改动。

要获得关于个性层的更多细节描述,以及微内核对它的支持,请查阅第十七章:实时。

 

1.3.2.5 ASSP/可变扩展

移动设备上的CPU和大部分硬件外设往往实现在一个通常称为ASSP (Application-Specific Standard Product)的半导体设备集成电路上。为了减少材料上的花费和电话的大小,现在比较流行的做法是往ASSP上增加不断增多的组件,这将在同一个硅包上包括堆叠RAMFlash组件,或者把组件合并到硅层里去。这些组件的例子有:一个用于声频/视频处理的DSP(Digital signal processor),专用的图形处理器和运行GSM或者CDMA通信栈的电话基带处理器。

我们提及ASSP之外的任何硬件组件时,都把它们当作可变的特定组件。代表性的组件有:FlashRAM存储设备、显示设备、基带和蓝牙单元。它们通常使用半导体供应商指定的总线结构和互联接口与处理器连接,并且互连,也可以通过更标准的通信线,比如USB和串行UARTASSP也有意MMC卡检测和触摸屏笔点击中断线等定制功能提供可配置的GPIO(general purpose I/O)线。

因此,在Symbian OS里,ASSP/可变扩展提供了内核所需要的依赖硬件的服务,比如计时器滴答中断和实时时钟访问。在EKA1时期,我们把ASSP集成到内核里,而且在下节中描述的独立的可变层是托管的。这使得往ASSP进行新的移植时不需要重新编译内核,因此,在EKA2中我们已经把ASSP从内核中完全地分离出去。当然,这意味着如果你要移植EKA2,将不必在每次调整硬件的时候重新编译内核。

 

1.3.2.6 变量

EKA2里,我们不强制你如同我们在EKA1中所做的的那样必须在ASSP和变量间进行区分。如果你愿意,你可以提供一个单独的变量DLL。然而,如果你把OS移植到一系列相似的ASIC,你可能选择分离,把实现一系列范性ASIC的代码放到ASSP扩展中,而实现特殊ASIC的代码放到变量DLL里。比如,在Symbian里,Intel SA1100 ASSP有两个变量,即BrutusAssabet

 

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

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 支付宝话费充错号码了怎么办 村书记打了人不给赔偿药费怎么办 淘宝退给的支付的钱怎么办 淘宝支付了钱没回信息怎么办 微信话费充值暂时缺货怎么办 天猫过敏无忧不给退款怎么办 顺丰快递指定丰巢柜发现柜满怎么办 阿里购物申请退款过期末退怎么办 韵达签收了发现里面东西丢了怎么办 没有收到快递但是显示签收了怎么办 支付宝充话费显示商家未发货怎么办 快递被买家签收后调包了怎么办 快递买家签收了东西坏了怎么办 快递没签收到买家评价了怎么办 快递买家签收后现在要退货怎么办 支付宝充话费充错对方关机怎么办 闲鱼同意退款了买家不退东西怎么办 被骗了说给存q币怎么办 方正说我的淘宝字体侵权怎么办 买家说收到衣服没有吊牌该怎么办 淘宝下完订单店主不发货怎么办 工商局不给查被告企业的信息怎么办 被职业打假人起诉到法院怎么办 京东购物如果换货不给你发货怎么办 淘宝上发的快递没有了怎么办 天猫购物半个月不发货怎么办 京东网同一产品购买多规格的怎么办 天猫商城购买的家具要退换货怎么办 亚马逊美国站会员日前没销量怎么办 淘宝买的鞋子把脚磨坏了怎么办 拼多多下单 没货 没法发货怎么办 闲鱼退货物流弄坏了卖家拒收怎么办 客户说物流太慢了 要退货怎么办 京东退货物流系统不更新怎么办 把货交给物流但是物流丢货了怎么办 货还在物流就申请退款怎么办 荣耀4x返回键不管用怎么办 华为手机关不了机也开不了机怎么办 荣耀畅玩5x手机密码忘了怎么办 华为短信验证码失败其他错误怎么办 红米3x手机卡顿反应慢怎么办