RSS
热门关键字:
当前位置 : 主页>嵌入式开发>Symbian OS>列表

symbian与uiq开发教程[完整版](六)

来源:我要研发网 作者: 时间:1970-01-01 点击:



下面介绍symbian的系统结构

//=======================================================
//
// 第二部分:系统结构
//
//=======================================================
CODE

在symbian os上运行的四种软件
应用程序
服务
引擎
内核
symbian系统使用活动对象与客户-服务器对事件处理系统进行了优化
硬件资源:
一个cpu,32位arm
一个rom(只读存储器),里面有操作系统与内建的中间件和应用程序
ROM盘被映射到z:盘,所有的文件都可以通过Z:盘访问。
系统RAM.系统RAM用于两个方面,一是被当前活动的程序和系统核心使用,另一个是当成\"C\"盘的磁盘空间。这两个部分的大小是变化的,不可以保留某个的大小。由于RAM通常只有8MB到16MB,所以内存可能用完,因此经常出现内存越界错误或是(写文件时)磁盘已满错误
IO设备,包括带数字笔输入的触摸屏,键盘,记忆卡(被当成D盘),rs232串口,红外口,蓝牙。
电源,包括电池与外接电源

symbian os与pc系统的区别如下:
资源限制:cpu太慢与太少内存
没有硬盘,不能使用写到硬盘的虚拟内存,不能保证有足够的空间保存程序或是数据文件

字串5


电源条件严格.


symbian软件环境如下:

server | server| Application| Application | Application Dll
| | ----------------------- boundary
| | | |
| | | Enghine | Engine
------------------------------------------------- Privilege
boundary
Kernel


kernel工作在高级别,管理机器所有硬件资源。对其它软件模块提供访问这些硬件资源的接口
其它应用程序工作在用户模式
上面如果理解普通操作系统如linux的话,那跟普通操作系统没有区别
应用程序是一个有用户界面的程序,在独立的进程中运行
这与普通操作系统也没有区别
服务是没有用户界面的程序.服务管理一个或多个资源,并提供api,让客户可以访问它的服务.服务的客户可以是一个程序或是其它服务.每个服务也运行在独立的进程空间中。
字串6

在symbian中,使用服务的形式提供类似其它操作系统上用驱动程序或是内核程序提供的功能。如文件系统的访问也是客户/服务类型的。(微内核:P)
引擎是一个应用程序中操作数据而不是与用户交互的部分.通常你可以把一个程序分成引擎部分和一个GUI部分,多部symbian内带的程序都是这样做的。
一个应用程序引擎可以是一个独立的代码模块或是一个独立的dll,或是几个dll.
引擎和应用程序间的边界是模块或dll的边界。

所以在symbian中有四个组件类型与三个边界类型。dll或是模块组件对交叉引用来说很方便。它们使系统模块化与保持封装。
权限边界对交叉引用比较费资源,但是保证系统对用户太程序隐藏内核与设备
进程边界是所有的交叉中最昂贵的,它们保证在ram中分开每个程序


CODE

可执行文件的格式
在symbian中有两种类型的可执行文件:
exe,每个程序都有一个主入口E32main()(看上面的例子),它在独立的进程中运行
dll,提供多个入口,由系统或是已存在的线程(进程)调用
有两种类型的dll,
共享库dll,为一个或多个程序提供固定的api,这些dll多数后缀是.dll,当程序启动时就被读到内存中。
多态dll,这些dll实现抽象的api,如一个打印机驱动,socket协议或是一个应用程序。它们的扩展名多不是.dll,而是.prn或.prt或.app等。它们从与dll相关的类继承,并通常只有在程序需要它们时才读入。

字串6



从技术上看起来与普通系统上动态库的静态载入与动态载入没有区别
但是从功能上看就不一样了,一种是实现某种特殊功能的,从某个相关类继承的dll,另一个是普通dll
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
相关文章