[发明专利]一种单进程DirectFB的虚拟多进程运行方法有效
申请号: | 201110262090.8 | 申请日: | 2011-09-06 |
公开(公告)号: | CN102981895A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 朱小勇;孙鹏;姜艳;程钢 | 申请(专利权)人: | 中国科学院声学研究所;上海尚恩华科网络科技股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 北京法思腾知识产权代理有限公司 11318 | 代理人: | 杨小蓉;高宇 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 directfb 虚拟 运行 方法 | ||
技术领域
本发明涉及嵌入式平台领域,特别涉及一种单进程DirectFB的虚拟多进程运行方法。
背景技术
DirectFB是专门为满足嵌入式设备要求而开发的小巧、强大、灵活和易于使用的图形系统,并且试图成为一个建构于Linux Framebuffer Device之上的新图形标准。它在FrameBuffer的基础上提供了图形加速、输入设备处理提取、透明窗口和多重显示层的功能,能够对嵌入式系统GUI有较好的支持。与那些通用的嵌入式GUI系统相比,它具有非常简洁、高效的体系结构和硬件图形加速功能。目前国内外大多数嵌入式平台均已支持DirectFB图形系统,如sigma design,broadcom,NXP,华为的海思等。
DirectFB主要有两种工作方式:单进程和多进程。在单进程方式下,使用DirectFB的进程首先创建DirectFB,退出时释放DirectFB,在释放DirectFB时平台会清除显存,因此屏幕上会出现黑屏。而在多进程工作方式下,采用Master/Slave的方式,通过linux内核的fusion模块进行通信,每个进程均可以单独使用DirectFB资源,用于显示各自的UI,对于嵌入式平台上多业务的同时运行提供了强力的支撑。但由于平台资源等各方面的限制,并非所有的嵌入式平台都支持DirectFB的多进程运行。
单进程DirectFB对于支持单一业务的运行是足够的,系统启动后运行该应用,该应用直至关机时才退出,因此该应用只需在启动时初始化DirectFB资源,退出时释放即可。但在嵌入式平台上同时运行多个业务已经成为一种趋势,每个业务都需要调用DirectFB来显示自身的UI,为了避免DirectFB资源的释放申请导致切换时出现黑屏、等待时间长等问题,现有技术采用把多个业务集成到同一进程中,对软件的集成开发,稳定运行带来了极大的挑战。因此这种措施在多进程共享DirectFB资源为避免DirectFB资源的频繁释放申请导致切换时出现黑屏、等待时间长等问题时并没有实用价值。
发明内容
本发明的目的在于,为了更好地支持单进程DirectFB嵌入式平台上运行多业务,本发明提出了一种单进程DirectFB的虚拟多进程运行方法。
为了达到上述目的,本发明提供一种单进程DirectFB的虚拟多进程运行方法,该方法用于在单进程DirectFB嵌入式平台上支持多业务时,每个业务都可以单独使用DirectFB,所述方法包含如下步骤:
步骤1,用于后台业务管理进程初始化DirectFB资源的步骤。
步骤2,用于各个子进程向所述后台业务管理进程申请获取DirectFB资源后才能使用DirectFB资源的步骤。
其中,所述后台业务管理进程在系统启动后创建并一直处于运行状态,所述业务管理进程负责管理子进程业务间切换,DirectFB资源的使用与分配。
可选的,所述步骤1具体包含如下步骤:系统启动后创建后台业务管理进程,该进程用于初始化DirectFB资源并创建DirectFB句柄。
可选的,所述步骤2进一步包含如下步骤:
步骤2-1,用于为新创建的子进程分配DirectFB资源的步骤;
步骤2-2,用于当运行中的两个子进程状态切换时再分配DirectFB资源的步骤。
优化的,所述步骤2-1为:当运行新业务时,后台业务管理进程创建子进程,并将创建的DirectFB句柄传递给子进程,完成子进程的图形显示;其中,所述子进程在创建时完全继承后台业务管理进程的内存和环境变量资源。
进一步优化的,所述步骤2-2为:当从子进程A切换至子进程B时,子进程A释放DirectFB资源的使用,转至后台,并将其当前显示的UI以像素的方式保存至内存,当需要再次运行子进程A时,只需恢复对DirectFB资源的使用,并将其保存的UI内容显示。
采用上述的技术方案后,本发明具有以下优点:
1、本发明通过在系统启动创建后台业务管理进程,其负责对DirectFB资源完成基本的初始化,每个业务子进程需要使用DirectFB时不再重新初始化DirectFB资源,而是向父进程(即后台业务管理进程)申请,当使用完毕后将DirectFB资源归还给父进程,实现了在嵌入式平台上单进程DirectFB的多进程使用;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;上海尚恩华科网络科技股份有限公司,未经中国科学院声学研究所;上海尚恩华科网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110262090.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种保坍型混凝土泵送剂
- 下一篇:一种用于微型驱动电机的定位支架