欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    symbian开发培训symbian系统简介.ppt

    • 资源ID:2363296       资源大小:269KB        全文页数:36页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    symbian开发培训symbian系统简介.ppt

    Symbian系统简介,概述,Symbian系统结构Symbian线程Symbian内存管理Window ServerSymbian系统性能优化S60版本差异分析,Symbian系统结构,EKA2介绍Symbian系统模块Symbian硬件模块,EKA2简史,EPOC8操作系统1984年第一款Psion掌上电脑诞生基于8位处理器封闭式操作系统EPOC161990年开发完成支持Intel8086 CPU提供了基于C语言的软件接口 带来了诸多问题,EKA2简史(2),EKA1 EPOC32_11997年Psion S5掌上电脑32位操作系统设计中考虑到了硬件平台移植性硬件移植性问题未得到根本解决新硬件的支持必须对内核代码从新编译EKA22003年开发完成并被手机厂商应用将硬件平台特性与内核彻底分离,EKA2特性,系统模块化单用户系统实际硬件几乎一致的模拟器支持单核移动通讯平台更好的内存管理更灵活的设备驱动程序结构,Symbian系统模块,Nanokernel初始内核提供最基本的功能来启动GSM信号栈硬件中断派发者Symbian OS内核线程与进程管理动态库调用等等、,Symbian系统模块(2),ASSP和variant硬件驱动LDD:逻辑硬件驱动程序PDD:物理硬件驱动程序ExtensionsEUSERFile ServerWindow Server,Symbian硬件模块,Baseband Processor(BP)手机modem管理SIM卡管理通话相关声音控制Application Processor(AP)Symbian系统功能部分,Symbian硬件模块(2),Symbian硬件(数据存储),RAM:读写最快,成本高SDRAM:低电耗,速度是RAM的1/4Flash:成本低,读写相对较慢NOR FlashNAND Flash,线程与进程,线程执行(Execution)的最小单位时间分片的受载体进程线程的集合所属线程共享同段物理内存和其他系统资源,用户模式线程,iUserStackRunAddress,iSupervisorStack,Nano-Thread,用户栈,内核栈,Symbian线程分类,初始线程系统启动时第一个创建的线程在系统中是唯一的内核线程只存在于内核模式用户线程大部分时间在用户模式,线程创建,RThread:Creat-DThread:Creat(SThreadInfo,线程状态,CreatedDeadReadyWaitSemaphoreWaitSemaphoreSuspendedWaitMutexWaitMutexSuspendedHoldMutexPending,Symbian线程-Cleanup队列,每个线程拥有一个Cleanup队列class TThreadCleanup:public TPriListLinkpublic:IMPORT_C TThreadCleanup();void ChangePriority(TInt aNewPriority);IMPORT_C void Remove();virtual void Cleanup()=0;public:DThread*iThread;,线程同步对象,信号量(Semaphore)标准信号量机制Wait:计数器减,如果计数器为负,线程等待Signal:计数器加,如果不为负,下一个等待线程开始运行互斥(Mutex)用于多个线程共享资源可多次复用,线程同步对象(2),Condition Variable用于等待某共享资源达到某一条件时触发须与互斥联合使用避免Polling,提高效率RConVar类,线程同步对象(3),Condition Variables实例:发送线程与接受线程共享消息队列发送线程在队列满时阻塞接收线程在消息空时阻塞mutex.Wait();while(queue.empty()condvar.Wait(mutex);mutex.Signal,线程间通讯,ClientServer消息队列(Message Queues)异步消息传递机制Publish/Subscribe用户层和内核层数据交互机制Shared Chunk线程间内存共享,Publish/Subscribe,IdentityTypeSecurity,1 WORD/多字节,category,key,写,读,Publisher,Subscriber,Publisher,TFileName n;RProcess().Filename(n);TInt r=RProperty:Set(KMyPropertyCat,EMyPropertyName,n);User:LeaveIfError(r);/retrieve the first 10 characters of 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);,Subscriber,void CPropertyWatch: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,简单的内存分配实现在一块线形内存区域里分块管理内存分配与释放算法简单,但效率不是最好有内存碎片的问题,导致效率下降,Window Server,两大功能屏幕显示管理系统事件管理,Window Tree,Root Window树的起点每个Screen Device都会有一个Group Window窗口分组的起始节点不直接参与显示Top Client WindowClient Windows,Window类,Direct screen access,绘制不经过Window Server有可能污染屏幕上其他的窗口CDirectScreenAccess实例,效率优化,优化目标程序自身执行速度程序对外部事件的响应速度优化方法避免小循环优化通用代码减少小调用线程优先级调整内存管理优化,避免小循环,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*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;,快,线程优先级调整,将执行代码分段处理常用或耗时的任务调高优先级将单线程改为多线程处理以空间换时间,内存管理优化方法,对重要执行代码避免进行动态内存分配,改以程序启动时分配静态内存替换RHeap算法固定大小内存块,提高分配速度,S60版本差异分析,S60版本差异分析(2),

    注意事项

    本文(symbian开发培训symbian系统简介.ppt)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备2025010119号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开