《软件执行方法及其电子装置.pdf》由会员分享,可在线阅读,更多相关《软件执行方法及其电子装置.pdf(12页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102955704 A (43)申请公布日 2013.03.06 C N 1 0 2 9 5 5 7 0 4 A *CN102955704A* (21)申请号 201110248574.7 (22)申请日 2011.08.26 G06F 9/445(2006.01) (71)申请人联咏科技股份有限公司 地址中国台湾新竹科学工业园区 (72)发明人刘洪明 易鲲明 魏丹丹 龙翔 (74)专利代理机构北京市柳沈律师事务所 11105 代理人史新宏 (54) 发明名称 软件执行方法及其电子装置 (57) 摘要 本发明是一种软件执行方法及其电子装置。 一种软件执行方法,包括如下。
2、步骤。启动一操作系 统核心。所述操作系统核心是由一第一操作系统 与一第二操作系统所共享。加载一至多个驱动模 块至该操作系统核心。在第一与第二操作系统当 中的一者的根目录下,开始执行第一与第二操作 系统当中的该者。建立一程序,以调用第一与第二 操作系统当中的另一者的根目录。在第一与第二 操作系统当中的该另一者的根目录下,开始执行 第一与第二操作系统当中的该另一者。另外,一种 执行上述软件执行方法的电子装置亦被提出。 (51)Int.Cl. 权利要求书2页 说明书6页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 3 页 1/2页 。
3、2 1.一种软件执行方法,包括: 启动一操作系统核心,其中该操作系统核心是由一第一操作系统与一第二操作系统所 共享; 加载一至多个驱动模块至该操作系统核心; 在该第一与第二操作系统当中的一者的根目录下,开始执行该第一与第二操作系统当 中的该者; 建立一程序,以调用该第一与第二操作系统当中的另一者的根目录; 在该第一与第二操作系统当中的该另一者的根目录下,开始执行该第一与第二操作系 统当中的该另一者。 2.根据权利要求1所述的软件执行方法,其中该操作系统核心的种类为该第一操作系 统的核心种类。 3.根据权利要求1所述的软件执行方法,其中该第一与第二操作系统当中分别的根目 录下分别储存有该第一与第。
4、二操作系统的文件架构。 4.根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的 该者的步骤包括: 利用该一至多驱动模块当中至少的一者及该第一与第二操作系统当中的该者的函数 库,来开始执行该第一与第二操作系统当中的该者的一至多个应用程序。 5.根据权利要求4所述的软件执行方法,其中该一至多驱动模块当中该至少的一者是 由该第一与第二操作系统当中的该者专用,或由该第一与第二操作系统所共享。 6.根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的 该者的步骤是于建立该程序之前、之后或同时实施。 7.根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操。
5、作系统当中的 该者的步骤是早于、同时、或晚于开始执行该第一与第二操作系统当中的该另一者的步骤。 8.根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的 该另一者的步骤包括: 利用该一至多驱动模块当中至少的一者及该第二操作系统的函数库开始执行该第一 与第二操作系统当中的该另一者的一至多应用程序。 9.根据权利要求8所述的软件执行方法,其中该一至多驱动模块当中该至少的一者是 由该第一与第二操作系统当中的该另一者专用,或由该第一与第二操作系统所共享。 10.根据权利要求2所述的软件执行方法,其中该第一操作系统为Linux操作系统。 11.根据权利要求10所述的软件执行方法,其中。
6、该第二操作系统为Android操作系统。 12.根据权利要求10所述的软件执行方法,其中该一至多个驱动模块包括一至多个 第一驱动模块,该一至多个第一驱动模块当中至少的一者是由该第一操作系统执行时所使 用,且是选自下列驱动模块至少其中之一:音频驱动模块、视频驱动模块、绘图驱动模块及 遥控驱动模块。 13.根据权利要求11所述的软件执行方法,其中该一至多个驱动模块还包括一至多个 第二驱动模块,该一至多个第二驱动模块当中至少的一者是由该第二操作系统执行时所使 用,且该一至多第二驱动模块是选自下列驱动模块至少其中之一:闪存驱动模块、通用串行 总线驱动模块、系结程序间沟通管道的驱动模块、以太网驱动模块及。
7、电源管理驱动模块。 权 利 要 求 书CN 102955704 A 2/2页 3 14.根据权利要求1所述的软件执行方法,其中该一至多个驱动模块当中至少的一者 是由该第一或第二操作系统单独使用。 15.根据权利要求1所述的软件执行方法,其中该一至多个驱动模块当中至少的一者 是由该第一与第二操作系统共同使用。 16.根据权利要求11所述的软件执行方法,其中调用该第一与第二操作系统当中的该 另一者的根目录的步骤是通过一chroot函数来进行。 17.根据权利要求1所述的软件执行方法,还包括: 执行一应用程序管理程序,统一管理该第一操作系统与该第二操作系统的应用程序的 执行。 18.根据权利要求1所。
8、述的软件执行方法,其中该应用程序管理程序还控制一应用环 境于该第一操作系统的应用程序与该第二操作系统的应用程序之间作切换。 19.一种具有双重操作系统的电子装置,包括: 一存储装置,其储存有多个指令,其中该多个指令用以执行如权利要求1所述的软件 执行方法;以及 一处理器,存取该存储装置以执行该多个指令。 权 利 要 求 书CN 102955704 A 1/6页 4 软件执行方法及其电子装置 技术领域 0001 本发明是有关于一种软件执行方法及其电子装置,且特别是有关于一种在双重操 作系统下的软件执行方法及其电子装置。 背景技术 0002 在具有不同的函数库的双重操作系统中,若欲在其中之一的操作。
9、系统中执行另一 操作系统的软件时,则该等软件必须对应地作大幅度地修改,以使该其中之一的操作系统 可顺利地运行该另一操作系统的软件。 0003 举例而言,目前Android操作系统已经广泛地应用在很多领域,包括智能型手机、 智能型电视等等。在电视领域中,Android操作系统出现之前已有很多基于Linux的电视软 件解决方案。Android操作系统基于Linux操作系统,但相对应作了较大的改变,尤其是C 函数库。Andro id操作系统并没有采用glibc函数库作为其C函数库,而是采用了Google 自行开发的Bionic Libc函数库。其文件编译工具组(Toolchain)也是基于Bioni。
10、c Libc 函数库而非glibc函数库。 0004 此技术特征导致很多现有的多媒体应用程序无法轻易地植入Android操作系统 中,而需要作大幅度地修改,包括使用JNI(Java Native Interface)等沟通接口来联系 Java程序以及底层的C函数库,因此增加了使用既有多媒体应用程序的困难度。 发明内容 0005 本发明提供一种软件执行方法,能够在双重操作系统当中启动已有的基于特定函 数库的应用程序,且基本上可以不需修改该等应用程序即可直接运行(run)。 0006 本发明提供一种具有双重操作系统的电子装置,用以执行前述的软件执行方法。 0007 本发明提供一种软件执行方法,包括。
11、如下步骤。启动一操作系统核心(Kernel)。 所述操作系统核心是由一第一操作系统与一第二操作系统所共享。加载一至多个驱动模块 至该操作系统核心。在第一与第二操作系统当中的一者的根目录下,开始执行第一与第二 操作系统当中的该者。建立(fork)一程序,以调用第一与第二操作系统当中的另一者的根 目录。在第一与第二操作系统当中的该另一者的根目录下,开始执行第一与第二操作系统 当中的该另一者。 0008 在本发明的一实施例中,上述的操作系统核心的种类为第一操作系统的核心种 类。 0009 在本发明的一实施例中,上述的第一与第二操作系统当中分别的根目录下分别储 存有第一与第二操作系统的文件架构。 00。
12、10 在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该者的步骤 包括利用一至多驱动模块当中至少的一者及第一与第二操作系统当中的该者的函数库,来 开始执行第一与第二操作系统当中的该者的一至多个应用程序。 0011 在本发明的一实施例中,上述的一至多驱动模块当中该至少的一者是由第一与第 说 明 书CN 102955704 A 2/6页 5 二操作系统当中的该者专用,或由第一与第二操作系统所共享。 0012 在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该者的步骤 是于该建立程序的步骤之前、之后或同时实施。 0013 在本发明的一实施例中,上述的开始执行第一与第二操作系统。
13、当中的该者的步骤 是早于、同时、或晚于开始执行第一与第二操作系统当中的该另一者的步骤。 0014 在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该另一者的 步骤包括利用一至多驱动模块当中至少的一者及第二操作系统的函数库开始执行第一与 第二操作系统当中的该另一者的一至多应用程序。 0015 在本发明的一实施例中,上述的一至多驱动模块当中该至少的一者是由第一与第 二操作系统当中的该另一者专用,或由该第一与第二操作系统所共享。 0016 在本发明的一实施例中,上述的第一操作系统为Linux操作系统。 0017 在本发明的一实施例中,上述的第二操作系统为Android操作系统。 0018。
14、 在本发明的一实施例中,上述的一至多个驱动模块包括一至多个第一驱动模 块。一至多个第一驱动模块当中至少的一者是由第一操作系统执行时所使用,且是选自 下列驱动模块至少其中之一:音频驱动模块、视频驱动模块、绘图驱动模块及遥控(Remote control)驱动模块。 0019 在本发明的一实施例中,上述的一至多个驱动模块还包括一至多个第二驱动模 块。一至多个第二驱动模块当中至少的一者是由第二操作系统执行时所使用,且一至多 第二驱动模块是选自下列驱动模块至少其中之一:闪存驱动模块、通用串行总线驱动模 块、系结程序间沟通管道(Binder Inter-Process Communication)的驱动。
15、模块、以太网 (Ethernet)驱动模块及电源管理驱动模块。 0020 在本发明的一实施例中,上述的一至多个驱动模块当中至少的一者是由第一或第 二操作系统单独使用。 0021 在本发明的一实施例中,上述的一至多个驱动模块当中至少的一者是由第一与第 二操作系统共同使用。 0022 在本发明的一实施例中,上述的调用第一与第二操作系统当中的该另一者的根目 录的步骤是通过一chroot函数来进行。 0023 在本发明的一实施例中,上述的软件执行方法还包括执行一应用程序管理程序。 应用程序管理程序统一管理第一操作系统与第二操作系统的应用程序的执行。 0024 在本发明的一实施例中,上述的应用程序管理程。
16、序还控制一应用环境于第一操作 系统的应用程序与第二操作系统的应用程序之间作切换。 0025 本发明提供一种具有双重操作系统的电子装置,包括一存储装置以及一处理器。 存储装置储存有多个指令。所述多个指令是用以执行前述的软件执行方法。处理器存取存 储装置以执行所述多个指令。 0026 基于上述,在本发明的范例实施例中,第一与第二操作系统的应用程序可同时运 行,且基本上不需要修改任一操作系统的应用程序。 0027 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式 作详细说明如下。 说 明 书CN 102955704 A 3/6页 6 附图说明 0028 图1绘示本发明一实施例的。
17、双重操作系统的架构示意图。 0029 图2绘示本发明一实施例的软件执行方法的步骤流程图。 0030 图3绘示本发明另一实施例的软件执行方法的步骤流程图。 0031 图4绘示本发明一实施例的具有双重操作系统的电子装置示意图。 0032 主要元件标号说明 0033 100:双重操作系统 0034 110:第一操作系统 0035 112:Linux操作系统核心 0036 114:第一驱动模块 0037 120:第二操作系统 0038 124:第二驱动模块 0039 S200、S202、S204、S206、S208、S210、S212、S300、S302、S304、S306、S308、S310、 S3。
18、12:软件执行方法的步骤 0040 400:电子装置 0041 410:存储装置 0042 420:处理器 具体实施 方式 0043 图1绘示本发明一实施例的双重操作系统的架构示意图。请参考图1,本实施例的 双重操作系统100包括一第一操作系统110及一第二操作系统120。在此,第一操作系统 110例如是Linux操作系统;第二操作系统120例如是Android操作系统,但本发明并不限 于此。 0044 在本实施例中,第一操作系统110与第二操作系统120共同提供一应用环境给基 于Linux操作系统及Android操作系统的多媒体应用程序运行。在底下的范例实施例中, 多媒体应用程序是以电视的应。
19、用程序以及Android操作系统的应用程序例示说明,但本发 明并不限于此。所述多媒体应用程序也可以是平板计算机、笔记本型计算机、智能型手机等 任何具有双重操作系统的电子装置上可执行的多媒体应用程序。 0045 就第一操作系统110而言,其系统架构包括电视的应用程序、中介软件 (middleware)、平台(platform)、设备驱动程序、GLIBC/uClibc函数库以及与第二操作系 统120共享的Linux操作系统核心112。 0046 就第二操作系统120而言,其系统架构包括Android操作系统的应用程序、应用 程序框架(application framework)、各种库(libra。
20、ries)及Android运行环境(Android runtime)、Bionic Libc函数库以及与第一操作系统110共享的Linux操作系统核心112。 上述第一操作系统110与第二操作系统120的系统架构仅用以例示说明,本发明并不限于 此。 0047 当双重操作系统100就绪以后,其应用程序是以多进程的方式在运行,因此本实 施例的系统架构可还包括一个应用程序管理单元(未绘示),用来协调Andro id操作系统 的应用程序以及电视应用程序的工作,该应用程序管理单元的工作包括但不限于资源管理 说 明 书CN 102955704 A 4/6页 7 以及应用场景切换等。该资源管理工作包括遥控器。
21、、音频/视频译码器、屏幕及硬件图像层 集(graphics layer)等资源的管理工作。该应用场景切换的工作包括从Android操作系 统的应用环境切换到电视软件的应用环境,或者从电视软件的应用环境切换到Android操 作系统的应用环境。因此,本实施例的应用程序管理单元执行一应用程序管理程序,用来统 一管理第一操作系统110与第二操作系统120的应用程序的执行。并且,该应用程序管理 单元还通过此应用程序管理程序来控制系统的应用环境于第一操作系统110的应用程序 与第二操作系统120的应用程序之间作切换。 0048 图2绘示本发明一实施例的软件执行方法的步骤流程图。请参考图1至图2,在步 骤。
22、S200中,所述软件执行方法首先启动一操作系统核心。此操作系统核心是由第一操作系 统110与一第二操作系统120所共享,较佳地该操作系统核心112的种类是设计为该第一 操作系统110的核心种类,在此实施例中也就是Linux操作系统核心112。 0049 接着,在步骤S202中,加载多个驱动模块至该操作系统核心112(即Linux操作系 统核心112)。在本实施例中,被加载至Linux操作系统核心112的驱动模块譬如可包括驱 动多媒体功能所需的第一驱动模块114,以及驱动系统管理功能所需的第二驱动模块124。 0050 更具体而言,第一驱动模块114可由第一操作系统110执行时所使用,且至少包括。
23、 音频驱动模块、视频驱动模块、绘图驱动模块及遥控(Remote control)驱动模块等驱动模 块当中的一至多者,以提供电子装置执行多媒体功能。第二驱动模块124可由第二操作系 统120执行时所使用,且至少包括闪存驱动模块、通用串行总线驱动模块、系结程序间沟通 管道(Binder Inter-Process Communication)的驱动模块、以太网(Ethernet)驱动模块 及电源管理驱动模块等驱动模块当中的一至多者,以使电子装置系统可顺利运作。上述第 一驱动模块114与第二驱动模块124所包括的驱动模块仅用以例示说明,本发明并不限于 此。值得注意的是,第一驱动模块114当中一部分的。
24、驱动模块是由第一操作系统110专用, 其它部分的驱动模块可由第一与第二操作系统110、120所共享。第二驱动模块124当中一 部分的驱动模块是由第二操作系统120专用,其它部分的驱动模块可由第一与第二操作系 统110、120所共享。 0051 之后,在步骤S204中,在第一操作系统110的根目录下,软件执行方法利用第一驱 动模块114及第一操作系统110的譬如是GLIBC/uClibc函数库,来开始执行第一操作系统 110中的应用程序。举例而言,若欲驱动电视播送声音及显示图像,在步骤S204中,软件执 行方法可利用第一驱动模块114的音频驱动模块及视频驱动模块,以及GLIBC/uClibc函数。
25、 库来执行第一操作系统110中的有关音频及视频的应用程序。亦即,执行Linux操作系统 中的电视应用程序。因此,在步骤S204后,软件执行方法可以持续运行第一操作系统110 中的应用程序,如步骤S206。亦即,电视的应用程序可以持续运行中。 0052 继之,为了能够同时运行第二操作系统120的应用程序,在步骤S208中,软件执行 方法建立一程序,并通过该程序及譬如是chroot函数来调用第二操作系统120的根目录。 在此,第一与第二操作系统110、120分别的根目录下分别储存(较佳在系统出厂时即已存 放)有第一与第二操作系统110、120的文件架构,以使软件执行方法通过chroot函数在调 用。
26、第一与第二操作系统110、120分别的根目录时可顺利执行相对应的文件功能。在此所谓 的文件架构中譬如可包括启动第一操作系统或第二操作系统所需的可执行程序、动态数据 库、脚本程序、图片、音频文件、用户配置文件、系统内定参数(default parameters)等等。 说 明 书CN 102955704 A 5/6页 8 0053 值得注意的是,在本实施例中,开始执行第一操作系统110的步骤S204是在建立 该调用程序的步骤S208之前实施,但本发明并不限于此。在另一实施例中,开始执行第一 操作系统110的步骤S204也可在建立该调用程序的步骤S208之后或与其同时实施。 0054 接着,在步骤。
27、S210中,在第二操作系统120的根目录下,软件执行方法利用第二 驱动模块124及第二操作系统120的譬如是Bionic Libc函数库,来开始执行第二操作系 统120中的应用程序。举例而言,若欲对双重操作系统100的整体进行节能管制时,在步骤 S210中,软件执行方法可利用第二驱动模块124的电源管理驱动模块,以及Bionic Libc函 数库来执行第二操作系统110中的有关电源管理的应用程序。亦即,执行Android操作系 统中的应用程序。之后,在步骤S212中,软件执行方法可以持续运行第二操作系统120中 的应用程序。值得一提的是,于此同时,软件执行方法亦可以持续运行第一操作系统110中。
28、 的应用程序,即步骤S206。 0055 因此,在本实施例中,第一与第二操作系统110、120的应用程序可同时运行,且基 本上不需要修改任一操作系统的应用程序。进而,配合应用程序管理程序即可统一管理第 一操作系统110与第二操作系统120的应用程序的执行。 0056 值得注意的是,在本实施例中,开始执行第一操作系统110的步骤S204是早于开 始执行第二操作系统120的步骤S210,但本发明并不限于此。在其它实施例中,开始执行第 一操作系统110的步骤S204也可同时或晚于开始执行第二操作系统120的步骤S210。于 实际应用上,第一操作系统110与第二操作系统120的执行顺序可依据设计需求,。
29、甚至根据 使用者来决定。甚至,第一操作系统的应用程序(亦即电视的应用程序)与第二操作系统 的应用程序当中任一者也不要求一定都得执行,而可根据使用或应用需求来决定。另外,在 执行中途,第一或第二操作系统的应用程序也可进一步根据需要动态选择为休眠状态而停 止执行。 0057 图3绘示本发明另一实施例的软件执行方法的步骤流程图。请参考图1至图3,本 实施例的软件执行方法类似于图2的软件执行方法,惟两者之间主要的差异例如在于开始 执行第一操作系统110的步骤以及开始执行第二操作系统120的步骤的先后顺序。 0058 详细而言,在本实施例中,软件执行方法加载完多个驱动模块至Linux操作系统 核心112。
30、之后(即执行完在步骤S302),首先开始执行步骤S304,即在第二操作系统120的 根目录下,利用第二驱动模块124及第二操作系统120的譬如是Bionic Libc函数库,来开 始执行第二操作系统120中的应用程序。此一步骤类似于步骤S210,在此便不再赘述。 0059 接着,在步骤S306中,软件执行方法可以持续运行第二操作系统120中的应用程 序。亦即,Android操作系统的应用程序持续运行中。 0060 另一方面,为了能够运行第一操作系统110的应用程序,在步骤S308中,软件执行 方法建立一程序,并通过该程序及chroot函数来调用第一操作系统110的根目录。 0061 值得注意的。
31、是,在本实施例中,开始执行第二操作系统110的步骤S304是在建立 该调用程序的步骤S308之前实施,但本发明并不限于此。在另一实施例中,开始执行第二 操作系统120的步骤S304也可在建立该调用程序的步骤S308之后或与其同时实施。 0062 之后,在步骤S310中,在第一操作系统110的根目录下,软件执行方法利用第一驱 动模块114及第一操作系统110的譬如是GLIBC/uClibc函数库,来开始执行第一操作系统 110中的应用程序。此一步骤类似于步骤S204,在此便不再赘述。至此可知,在本实施例中, 说 明 书CN 102955704 A 6/6页 9 开始执行第一操作系统110的步骤S。
32、310是晚于开始执行第二操作系统120的步骤S304。 0063 继之,在步骤S312后,软件执行方法可持续运行第一操作系统110中的应用程序。 值得一提的是,于此同时,软件执行方法可以持续运行第二操作系统120中的应用程序,即 步骤S306。 0064 图4绘示本发明一实施例的具有双重操作系统的电子装置的示意图。请参考图4, 本实施例的电子装置400至少适于执行上述图2或图3的软件执行方法,其包括一存储装 置410以及一处理器420。存储装置410储存有多个指令,该等指令用以执行上述图2或图 3的软件执行方法。处理器420存取存储装置410以执行该等指令。电子装置400可以例 如但不限于是平。
33、板计算机、笔记本型计算机、智能型手机等任何具有双重操作系统的电子 装置。 0065 综上所述,在本发明的范例实施例中,第一与第二操作系统的应用程序可同时运 行,无论先执行两者当中的一者的应用程序或同时执行,基本上都不需要修改任一操作系 统的应用程序。此外,有关调用根目录程序的步骤的先后次序,亦不影响第一与第二操作系 统的应用程序的同时运行。进而,配合应用程序管理程序即可统一管理第一操作系统与第 二操作系统的应用程序的执行。 0066 虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域 中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明 的保护范围当视所附的权利要求范围所界定者为准。 说 明 书CN 102955704 A 1/3页 10 图1 说 明 书 附 图CN 102955704 A 10 2/3页 11 图2 说 明 书 附 图CN 102955704 A 11 3/3页 12 图3 图4 说 明 书 附 图CN 102955704 A 12 。