symbian开发培训symbian系统简介

上传人:hs****ma 文档编号:568013178 上传时间:2024-07-23 格式:PPT 页数:36 大小:269KB
返回 下载 相关 举报
symbian开发培训symbian系统简介_第1页
第1页 / 共36页
symbian开发培训symbian系统简介_第2页
第2页 / 共36页
symbian开发培训symbian系统简介_第3页
第3页 / 共36页
symbian开发培训symbian系统简介_第4页
第4页 / 共36页
symbian开发培训symbian系统简介_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《symbian开发培训symbian系统简介》由会员分享,可在线阅读,更多相关《symbian开发培训symbian系统简介(36页珍藏版)》请在金锄头文库上搜索。

1、Symbian系统简介概述Symbian系统结构Symbian线程Symbian内存管理Window ServerSymbian系统性能优化S60版本差异分析Symbian系统结构EKA2介绍Symbian系统模块Symbian硬件模块EKA2简史EPOC8EPOC8操作系统操作系统 19841984年第一款年第一款PsionPsion掌上电脑诞生掌上电脑诞生 基于基于8 8位处理器位处理器 封闭式操作系统封闭式操作系统EPOC16EPOC16 19901990年开发完成年开发完成 支持支持Intel8086 CPUIntel8086 CPU 提供了基于提供了基于C C语言的软件接口语言的软件

2、接口 带来了诸多问题带来了诸多问题EKA2简史(2)EKA1 EPOC32_1EKA1 EPOC32_1 19971997年年Psion S5Psion S5掌上电脑掌上电脑 3232位操作系统位操作系统 设计中考虑到了硬件平台移植性设计中考虑到了硬件平台移植性 硬件移植性问题未得到根本解决硬件移植性问题未得到根本解决 新硬件的支持必须对内核代码从新编译新硬件的支持必须对内核代码从新编译EKA2EKA2 20032003年开发完成并被手机厂商应用年开发完成并被手机厂商应用 将硬件平台特性与内核彻底分离将硬件平台特性与内核彻底分离EKA2特性系统模块化单用户系统实际硬件几乎一致的模拟器支持单核移

3、动通讯平台更好的内存管理更灵活的设备驱动程序结构Symbian系统模块Nanokernel初始内核初始内核提供最基本的功能来启动提供最基本的功能来启动GSMGSM信号栈信号栈硬件中断派发者硬件中断派发者Symbian OS内核线程与进程管理线程与进程管理动态库调用动态库调用等等、等等、Symbian系统模块(2)ASSPASSP和和variantvariant硬件驱动硬件驱动 LDD: LDD: 逻辑硬件驱动程序逻辑硬件驱动程序 PDD: PDD: 物理硬件驱动程序物理硬件驱动程序ExtensionsExtensionsEUSEREUSERFile ServerFile ServerWindo

4、w ServerWindow ServerSymbian硬件模块Baseband Processor(BP)手机手机modemmodem管理管理SIMSIM卡管理卡管理通话相关声音控制通话相关声音控制Application Processor(AP)SymbianSymbian系统功能部分系统功能部分Symbian硬件模块(2)Symbian硬件(数据存储)RAM : 读写最快,成本高SDRAM:低电耗,速度是RAM的1/4Flash:成本低,读写相对较慢NOR FlashNOR FlashNAND FlashNAND Flash线程与进程线程执行(执行(ExecutionExecution)

5、的最小单位)的最小单位时间分片的受载体时间分片的受载体进程线程的集合线程的集合所属线程共享同段物理内存和其他系统资源所属线程共享同段物理内存和其他系统资源用户模式线程iUserStackRunAddressiSupervisorStackNano-Thread用户栈内核栈Symbian线程分类初始线程系统启动时第一个创建的线程在系统中是唯一的内核线程只存在于内核模式用户线程大部分时间在用户模式线程创建 RThread:CreatRThread:Creat - - DThread:Creat(SThreadInfoDThread:Creat(SThreadInfo&)&)struct SThre

6、adCreateInfoTAny* iHandle;TInt iType;TThreadFunction iFunction;TAny* iPtr;TAny* iSupervisorStack;TInt iSupervisorStackSize;TAny* iUserStack;TInt iUserStackSize;TInt iInitialThreadPriority;TPtrC iName;TInt iTotalSize;线程状态CreatedCreatedDeadDeadReadyReadyWaitSemaphoreWaitSemaphoreWaitSemaphoreSuspended

7、WaitSemaphoreSuspendedWaitMutexWaitMutexWaitMutexSuspendedWaitMutexSuspendedHoldMutexPendingHoldMutexPendingSymbian线程-Cleanup队列每个线程拥有一个每个线程拥有一个CleanupCleanup队列队列class TThreadCleanup : public TPriListLinkpublic:IMPORT_C TThreadCleanup();void ChangePriority(TInt aNewPriority);IMPORT_C void Remove();vi

8、rtual void Cleanup()=0;public:DThread* iThread;线程同步对象信号量(Semaphore)标准信号量机制标准信号量机制WaitWait:计数器减,如果计数器为负,线程等待:计数器减,如果计数器为负,线程等待Signal:Signal:计数器加,如果不为负,下一个等待线计数器加,如果不为负,下一个等待线程开始运行程开始运行互斥(Mutex)用于多个线程共享资源用于多个线程共享资源可多次复用可多次复用线程同步对象(2)Condition Variable用于等待某共享资源达到某一条件时触发用于等待某共享资源达到某一条件时触发须与互斥联合使用须与互斥联合使

9、用避免避免Polling, Polling, 提高效率提高效率RConVarRConVar类类线程同步对象(3)Condition VariablesCondition Variables 实例:实例: 发送线程与接受线程共享消息队列发送线程与接受线程共享消息队列 发送线程在队列满时阻塞发送线程在队列满时阻塞 接收线程在消息空时阻塞接收线程在消息空时阻塞mutex.Wait();while(queue.empty() condvar.Wait(mutex);mutex.Signal线程间通讯ClientServer消息队列(Message Queues)异步消息传递机制异步消息传递机制Publ

10、ish/Subscribe用户层和内核层数据交互机制用户层和内核层数据交互机制Shared Chunk线程间内存共享线程间内存共享Publish/SubscribeIdentityTypeSecurity1 WORD/多字节categorykey写读PublisherSubscriberPublisherTFileName n;RProcess().Filename(n);TInt r=RProperty:Set(KMyPropertyCat,EMyPropertyName,n);User:LeaveIfError(r);/ retrieve the first 10 characters o

11、f the name valueTBuf name;r=RProperty:Get(KMyPropertyCat,EMyPropertyName,name);if (r!=KErrOverflow)User:LeaveIfError(r);/ retrieve and publish a new value using the attached counter/ propertyTInt count;r=counter.Get(count);if (r=KErrNone)r=counter.Set(+count);User:LeaveIfError(r);Subscribervoid CPro

12、pertyWatch:RunL()/ resubscribe before processing new value to prevent/ missing updatesiProperty.Subscribe(iStatus);SetActive();/ property updated, get new valueTFileName n;if (iProperty.Get(n)=KErrNotFound)/ property deleted, do necessary actions here.NameDeleted();else/ use new value .RHeap简单的内存分配实

13、现在一块线形内存区域里分块管理内存分配与释放算法简单,但效率不是最好有内存碎片的问题,导致效率下降Window Server两大功能屏幕显示管理屏幕显示管理系统事件管理系统事件管理Window TreeRoot Window树的起点树的起点每个每个Screen DeviceScreen Device都会有一个都会有一个Group Window窗口分组的起始节点窗口分组的起始节点不直接参与显示不直接参与显示Top Client WindowClient WindowsWindow类Direct screen access绘制不经过Window Server有可能污染屏幕上其他的窗口CDirect

14、ScreenAccess实例效率优化优化目标优化目标 程序自身执行速度程序自身执行速度 程序对外部事件的响应速度程序对外部事件的响应速度优化方法优化方法 避免小循环避免小循环 优化通用代码优化通用代码 减少小调用减少小调用 线程优先级调整线程优先级调整 内存管理优化内存管理优化避免小循环TInt trivial_checksum(TInt8* aBlock, TInt aLen)TInt i=0;TInt8* j;for (j=aBlock; jaBlock+aLen; j+) i+=*j;return i;慢避免小循环TInt trivial_checksum_unrolled(TInt8*

15、 aBlock, TInt aLen)TInt i=0;TInt8* j, endptr;endptr=aBlock+aLen;for (j=aBlock; jendptr; )if (jendptr) i+=*j+;elsebreak;if (jendptr) i+=*j+;elsebreak;if (jendptr) i+=*j+;elsebreak;if (jendptr) i+=*j+;elsebreak;Return 1;快线程优先级调整将执行代码分段处理常用或耗时的任务调高优先级将单线程改为多线程处理以空间换时间内存管理优化方法对重要执行代码避免进行动态内存分配,改以程序启动时分配

16、静态内存替换RHeap算法固定大小内存块,提高分配速度固定大小内存块,提高分配速度S60版本差异分析Symbian VersionNew FeatureFlash LiteWeb RuntimeS60v5.0Symbian9.4HomeScreenPublishAPI,SensorAPI,newcontrolsforTouchScreen,touchfeedbackAPIFlash3.0+newActionScriptfornativeserviceaccessSupportwidget+JavaScriptextensiontoaccessS60services(Calendar,conta

17、cts,Logsandmessaging)S60v3.0Symbian9.1SIP,DRMandIMAPI,OpenCandOpenC+,LocationAPIs,WebServicesAPI,OMADRMv2.0,OMADataSynchronization1.2,LightAPI,Bluetooth1.2,FindItemAPI,ExchangeableImageFileAPI.FlashLite1.1WebBrowserforS60isanoptionS60v3.0FP1Symbian9.2OCR,OpenGLV1.1,FOTA,NokiaPushtoTalk,GallaryConten

18、tListingAPI,CentralRepositoryNotificationHandlerAPI,ProfileEngineAPI,ScreenModeAPI,TelnetAPI,AppFrameworkAnimationAPIFlashLite2.0WebbrowserbecomingstandardbrowserS60v3.0FP2Symbian9.3Seamlessconnectiontransition,Aunifiedmessageeditor,ConnectionSettinganditsUIAPI,VersionInforAPIFlashLite3.0IntroducedW

19、ebRuntime-supportwidgetsS60版本差异分析(2)Symbian VersionNew FeaturesS60v2.0Symbianv7.0Skinning(theme)API,DRMAPI,MMSoverHTTPandSMILsupport,OMAClientProvisioningS60v2.0FP1Symbianv7.0sBluetoothnotifierAPI,supportamegapixelcamerawith4xzoomandvideoclipsplayingandrecordingS60v2.0FP2Symbianv8.0aSpeechrecognitio

20、n,GIFscaler,messagequeue,publish&subscribe,LocationAcquisition,OpenGLES,XMLframework,connectionmonitorserver,WCDMAandEDGEnetwork,andIPv6S60v2.0FP3Symbianv8.1ascalableicons,browsercontrol,downloadmanagerUIandengine,imagetransformlibandplug-ins,USBclientdriver,scalableUisS60v1.0Symbianv6.1J2ME,XHTML/WMLbrowser,MMS

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号