书签 分享 收藏 举报 版权申诉 / 12

软件执行方法及其电子装置.pdf

  • 上传人:GAME****980
  • 文档编号:4264716
  • 上传时间:2018-09-12
  • 格式:PDF
  • 页数:12
  • 大小:532.89KB
  • 摘要
    申请专利号:

    CN201110248574.7

    申请日:

    2011.08.26

    公开号:

    CN102955704A

    公开日:

    2013.03.06

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):G06F 9/445申请公布日:20130306|||实质审查的生效IPC(主分类):G06F 9/445申请日:20110826|||公开

    IPC分类号:

    G06F9/445

    主分类号:

    G06F9/445

    申请人:

    联咏科技股份有限公司

    发明人:

    刘洪明; 易鲲明; 魏丹丹; 龙翔

    地址:

    中国台湾新竹科学工业园区

    优先权:

    专利代理机构:

    北京市柳沈律师事务所 11105

    代理人:

    史新宏

    PDF完整版下载: PDF下载
    内容摘要

    本发明是一种软件执行方法及其电子装置。一种软件执行方法,包括如下步骤。启动一操作系统核心。所述操作系统核心是由一第一操作系统与一第二操作系统所共享。加载一至多个驱动模块至该操作系统核心。在第一与第二操作系统当中的一者的根目录下,开始执行第一与第二操作系统当中的该者。建立一程序,以调用第一与第二操作系统当中的另一者的根目录。在第一与第二操作系统当中的该另一者的根目录下,开始执行第一与第二操作系统当中的该另一者。另外,一种执行上述软件执行方法的电子装置亦被提出。

    权利要求书

    权利要求书一种软件执行方法,包括:
    启动一操作系统核心,其中该操作系统核心是由一第一操作系统与一第二操作系统所共享;
    加载一至多个驱动模块至该操作系统核心;
    在该第一与第二操作系统当中的一者的根目录下,开始执行该第一与第二操作系统当中的该者;
    建立一程序,以调用该第一与第二操作系统当中的另一者的根目录;
    在该第一与第二操作系统当中的该另一者的根目录下,开始执行该第一与第二操作系统当中的该另一者。
    根据权利要求1所述的软件执行方法,其中该操作系统核心的种类为该第一操作系统的核心种类。
    根据权利要求1所述的软件执行方法,其中该第一与第二操作系统当中分别的根目录下分别储存有该第一与第二操作系统的文件架构。
    根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的该者的步骤包括:
    利用该一至多驱动模块当中至少的一者及该第一与第二操作系统当中的该者的函数库,来开始执行该第一与第二操作系统当中的该者的一至多个应用程序。
    根据权利要求4所述的软件执行方法,其中该一至多驱动模块当中该至少的一者是由该第一与第二操作系统当中的该者专用,或由该第一与第二操作系统所共享。
    根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的该者的步骤是于建立该程序之前、之后或同时实施。
    根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的该者的步骤是早于、同时、或晚于开始执行该第一与第二操作系统当中的该另一者的步骤。
    根据权利要求1所述的软件执行方法,其中开始执行该第一与第二操作系统当中的该另一者的步骤包括:
    利用该一至多驱动模块当中至少的一者及该第二操作系统的函数库开始执行该第一与第二操作系统当中的该另一者的一至多应用程序。
    根据权利要求8所述的软件执行方法,其中该一至多驱动模块当中该至少的一者是由该第一与第二操作系统当中的该另一者专用,或由该第一与第二操作系统所共享。
    根据权利要求2所述的软件执行方法,其中该第一操作系统为Linux操作系统。
    根据权利要求10所述的软件执行方法,其中该第二操作系统为Android操作系统。
    根据权利要求10所述的软件执行方法,其中该一至多个驱动模块包括一至多个第一驱动模块,该一至多个第一驱动模块当中至少的一者是由该第一操作系统执行时所使用,且是选自下列驱动模块至少其中之一:音频驱动模块、视频驱动模块、绘图驱动模块及遥控驱动模块。
    根据权利要求11所述的软件执行方法,其中该一至多个驱动模块还包括一至多个第二驱动模块,该一至多个第二驱动模块当中至少的一者是由该第二操作系统执行时所使用,且该一至多第二驱动模块是选自下列驱动模块至少其中之一:闪存驱动模块、通用串行总线驱动模块、系结程序间沟通管道的驱动模块、以太网驱动模块及电源管理驱动模块。
    根据权利要求1所述的软件执行方法,其中该一至多个驱动模块当中至少的一者是由该第一或第二操作系统单独使用。
    根据权利要求1所述的软件执行方法,其中该一至多个驱动模块当中至少的一者是由该第一与第二操作系统共同使用。
    根据权利要求11所述的软件执行方法,其中调用该第一与第二操作系统当中的该另一者的根目录的步骤是通过一chroot函数来进行。
    根据权利要求1所述的软件执行方法,还包括:
    执行一应用程序管理程序,统一管理该第一操作系统与该第二操作系统的应用程序的执行。
    根据权利要求1所述的软件执行方法,其中该应用程序管理程序还控制一应用环境于该第一操作系统的应用程序与该第二操作系统的应用程序之间作切换。
    一种具有双重操作系统的电子装置,包括:
    一存储装置,其储存有多个指令,其中该多个指令用以执行如权利要求1所述的软件执行方法;以及
    一处理器,存取该存储装置以执行该多个指令。

    说明书

    说明书软件执行方法及其电子装置
    技术领域
    本发明是有关于一种软件执行方法及其电子装置,且特别是有关于一种在双重操作系统下的软件执行方法及其电子装置。
    背景技术
    在具有不同的函数库的双重操作系统中,若欲在其中之一的操作系统中执行另一操作系统的软件时,则该等软件必须对应地作大幅度地修改,以使该其中之一的操作系统可顺利地运行该另一操作系统的软件。
    举例而言,目前Android操作系统已经广泛地应用在很多领域,包括智能型手机、智能型电视等等。在电视领域中,Android操作系统出现之前已有很多基于Linux的电视软件解决方案。Android操作系统基于Linux操作系统,但相对应作了较大的改变,尤其是C函数库。Andro id操作系统并没有采用glibc函数库作为其C函数库,而是采用了Google自行开发的Bionic Libc函数库。其文件编译工具组(Toolchain)也是基于Bionic Libc函数库而非glibc函数库。
    此技术特征导致很多现有的多媒体应用程序无法轻易地植入Android操作系统中,而需要作大幅度地修改,包括使用JNI(Java Native Interface)等沟通接口来联系Java程序以及底层的C函数库,因此增加了使用既有多媒体应用程序的困难度。
    发明内容
    本发明提供一种软件执行方法,能够在双重操作系统当中启动已有的基于特定函数库的应用程序,且基本上可以不需修改该等应用程序即可直接运行(run)。
    本发明提供一种具有双重操作系统的电子装置,用以执行前述的软件执行方法。
    本发明提供一种软件执行方法,包括如下步骤。启动一操作系统核心(Kernel)。所述操作系统核心是由一第一操作系统与一第二操作系统所共享。加载一至多个驱动模块至该操作系统核心。在第一与第二操作系统当中的一者的根目录下,开始执行第一与第二操作系统当中的该者。建立(fork)一程序,以调用第一与第二操作系统当中的另一者的根目录。在第一与第二操作系统当中的该另一者的根目录下,开始执行第一与第二操作系统当中的该另一者。
    在本发明的一实施例中,上述的操作系统核心的种类为第一操作系统的核心种类。
    在本发明的一实施例中,上述的第一与第二操作系统当中分别的根目录下分别储存有第一与第二操作系统的文件架构。
    在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该者的步骤包括利用一至多驱动模块当中至少的一者及第一与第二操作系统当中的该者的函数库,来开始执行第一与第二操作系统当中的该者的一至多个应用程序。
    在本发明的一实施例中,上述的一至多驱动模块当中该至少的一者是由第一与第二操作系统当中的该者专用,或由第一与第二操作系统所共享。
    在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该者的步骤是于该建立程序的步骤之前、之后或同时实施。
    在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该者的步骤是早于、同时、或晚于开始执行第一与第二操作系统当中的该另一者的步骤。
    在本发明的一实施例中,上述的开始执行第一与第二操作系统当中的该另一者的步骤包括利用一至多驱动模块当中至少的一者及第二操作系统的函数库开始执行第一与第二操作系统当中的该另一者的一至多应用程序。
    在本发明的一实施例中,上述的一至多驱动模块当中该至少的一者是由第一与第二操作系统当中的该另一者专用,或由该第一与第二操作系统所共享。
    在本发明的一实施例中,上述的第一操作系统为Linux操作系统。
    在本发明的一实施例中,上述的第二操作系统为Android操作系统。
    在本发明的一实施例中,上述的一至多个驱动模块包括一至多个第一驱动模块。一至多个第一驱动模块当中至少的一者是由第一操作系统执行时所使用,且是选自下列驱动模块至少其中之一:音频驱动模块、视频驱动模块、绘图驱动模块及遥控(Remote control)驱动模块。
    在本发明的一实施例中,上述的一至多个驱动模块还包括一至多个第二驱动模块。一至多个第二驱动模块当中至少的一者是由第二操作系统执行时所使用,且一至多第二驱动模块是选自下列驱动模块至少其中之一:闪存驱动模块、通用串行总线驱动模块、系结程序间沟通管道(Binder Inter‑Process Communication)的驱动模块、以太网(Ethernet)驱动模块及电源管理驱动模块。
    在本发明的一实施例中,上述的一至多个驱动模块当中至少的一者是由第一或第二操作系统单独使用。
    在本发明的一实施例中,上述的一至多个驱动模块当中至少的一者是由第一与第二操作系统共同使用。
    在本发明的一实施例中,上述的调用第一与第二操作系统当中的该另一者的根目录的步骤是通过一chroot函数来进行。
    在本发明的一实施例中,上述的软件执行方法还包括执行一应用程序管理程序。应用程序管理程序统一管理第一操作系统与第二操作系统的应用程序的执行。
    在本发明的一实施例中,上述的应用程序管理程序还控制一应用环境于第一操作系统的应用程序与第二操作系统的应用程序之间作切换。
    本发明提供一种具有双重操作系统的电子装置,包括一存储装置以及一处理器。存储装置储存有多个指令。所述多个指令是用以执行前述的软件执行方法。处理器存取存储装置以执行所述多个指令。
    基于上述,在本发明的范例实施例中,第一与第二操作系统的应用程序可同时运行,且基本上不需要修改任一操作系统的应用程序。
    为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
    附图说明
    图1绘示本发明一实施例的双重操作系统的架构示意图。
    图2绘示本发明一实施例的软件执行方法的步骤流程图。
    图3绘示本发明另一实施例的软件执行方法的步骤流程图。
    图4绘示本发明一实施例的具有双重操作系统的电子装置示意图。
    [主要元件标号说明]
    100:双重操作系统
    110:第一操作系统
    112:Linux操作系统核心
    114:第一驱动模块
    120:第二操作系统
    124:第二驱动模块
    S200、S202、S204、S206、S208、S210、S212、S300、S302、S304、S306、S308、S310、S312:软件执行方法的步骤
    400:电子装置
    410:存储装置
    420:处理器
    具体实施方式
    图1绘示本发明一实施例的双重操作系统的架构示意图。请参考图1,本实施例的双重操作系统100包括一第一操作系统110及一第二操作系统120。在此,第一操作系统110例如是Linux操作系统;第二操作系统120例如是Android操作系统,但本发明并不限于此。
    在本实施例中,第一操作系统110与第二操作系统120共同提供一应用环境给基于Linux操作系统及Android操作系统的多媒体应用程序运行。在底下的范例实施例中,多媒体应用程序是以电视的应用程序以及Android操作系统的应用程序例示说明,但本发明并不限于此。所述多媒体应用程序也可以是平板计算机、笔记本型计算机、智能型手机等任何具有双重操作系统的电子装置上可执行的多媒体应用程序。
    就第一操作系统110而言,其系统架构包括电视的应用程序、中介软件(middleware)、平台(platform)、设备驱动程序、GLIBC/uClibc函数库以及与第二操作系统120共享的Linux操作系统核心112。
    就第二操作系统120而言,其系统架构包括Android操作系统的应用程序、应用程序框架(application framework)、各种库(libraries)及Android运行环境(Android runtime)、Bionic Libc函数库以及与第一操作系统110共享的Linux操作系统核心112。上述第一操作系统110与第二操作系统120的系统架构仅用以例示说明,本发明并不限于此。
    当双重操作系统100就绪以后,其应用程序是以多进程的方式在运行,因此本实施例的系统架构可还包括一个应用程序管理单元(未绘示),用来协调Andro id操作系统的应用程序以及电视应用程序的工作,该应用程序管理单元的工作包括但不限于资源管理以及应用场景切换等。该资源管理工作包括遥控器、音频/视频译码器、屏幕及硬件图像层集(graphics layer)等资源的管理工作。该应用场景切换的工作包括从Android操作系统的应用环境切换到电视软件的应用环境,或者从电视软件的应用环境切换到Android操作系统的应用环境。因此,本实施例的应用程序管理单元执行一应用程序管理程序,用来统一管理第一操作系统110与第二操作系统120的应用程序的执行。并且,该应用程序管理单元还通过此应用程序管理程序来控制系统的应用环境于第一操作系统110的应用程序与第二操作系统120的应用程序之间作切换。
    图2绘示本发明一实施例的软件执行方法的步骤流程图。请参考图1至图2,在步骤S200中,所述软件执行方法首先启动一操作系统核心。此操作系统核心是由第一操作系统110与一第二操作系统120所共享,较佳地该操作系统核心112的种类是设计为该第一操作系统110的核心种类,在此实施例中也就是Linux操作系统核心112。
    接着,在步骤S202中,加载多个驱动模块至该操作系统核心112(即Linux操作系统核心112)。在本实施例中,被加载至Linux操作系统核心112的驱动模块譬如可包括驱动多媒体功能所需的第一驱动模块114,以及驱动系统管理功能所需的第二驱动模块124。
    更具体而言,第一驱动模块114可由第一操作系统110执行时所使用,且至少包括音频驱动模块、视频驱动模块、绘图驱动模块及遥控(Remote control)驱动模块等驱动模块当中的一至多者,以提供电子装置执行多媒体功能。第二驱动模块124可由第二操作系统120执行时所使用,且至少包括闪存驱动模块、通用串行总线驱动模块、系结程序间沟通管道(Binder Inter‑Process Communication)的驱动模块、以太网(Ethernet)驱动模块及电源管理驱动模块等驱动模块当中的一至多者,以使电子装置系统可顺利运作。上述第一驱动模块114与第二驱动模块124所包括的驱动模块仅用以例示说明,本发明并不限于此。值得注意的是,第一驱动模块114当中一部分的驱动模块是由第一操作系统110专用,其它部分的驱动模块可由第一与第二操作系统110、120所共享。第二驱动模块124当中一部分的驱动模块是由第二操作系统120专用,其它部分的驱动模块可由第一与第二操作系统110、120所共享。
    之后,在步骤S204中,在第一操作系统110的根目录下,软件执行方法利用第一驱动模块114及第一操作系统110的譬如是GLIBC/uClibc函数库,来开始执行第一操作系统110中的应用程序。举例而言,若欲驱动电视播送声音及显示图像,在步骤S204中,软件执行方法可利用第一驱动模块114的音频驱动模块及视频驱动模块,以及GLIBC/uClibc函数库来执行第一操作系统110中的有关音频及视频的应用程序。亦即,执行Linux操作系统中的电视应用程序。因此,在步骤S204后,软件执行方法可以持续运行第一操作系统110中的应用程序,如步骤S206。亦即,电视的应用程序可以持续运行中。
    继之,为了能够同时运行第二操作系统120的应用程序,在步骤S208中,软件执行方法建立一程序,并通过该程序及譬如是chroot函数来调用第二操作系统120的根目录。在此,第一与第二操作系统110、120分别的根目录下分别储存(较佳在系统出厂时即已存放)有第一与第二操作系统110、120的文件架构,以使软件执行方法通过chroot函数在调用第一与第二操作系统110、120分别的根目录时可顺利执行相对应的文件功能。在此所谓的文件架构中譬如可包括启动第一操作系统或第二操作系统所需的可执行程序、动态数据库、脚本程序、图片、音频文件、用户配置文件、系统内定参数(default parameters)等等。
    值得注意的是,在本实施例中,开始执行第一操作系统110的步骤S204是在建立该调用程序的步骤S208之前实施,但本发明并不限于此。在另一实施例中,开始执行第一操作系统110的步骤S204也可在建立该调用程序的步骤S208之后或与其同时实施。
    接着,在步骤S210中,在第二操作系统120的根目录下,软件执行方法利用第二驱动模块124及第二操作系统120的譬如是Bionic Libc函数库,来开始执行第二操作系统120中的应用程序。举例而言,若欲对双重操作系统100的整体进行节能管制时,在步骤S210中,软件执行方法可利用第二驱动模块124的电源管理驱动模块,以及Bionic Libc函数库来执行第二操作系统110中的有关电源管理的应用程序。亦即,执行Android操作系统中的应用程序。之后,在步骤S212中,软件执行方法可以持续运行第二操作系统120中的应用程序。值得一提的是,于此同时,软件执行方法亦可以持续运行第一操作系统110中的应用程序,即步骤S206。
    因此,在本实施例中,第一与第二操作系统110、120的应用程序可同时运行,且基本上不需要修改任一操作系统的应用程序。进而,配合应用程序管理程序即可统一管理第一操作系统110与第二操作系统120的应用程序的执行。
    值得注意的是,在本实施例中,开始执行第一操作系统110的步骤S204是早于开始执行第二操作系统120的步骤S210,但本发明并不限于此。在其它实施例中,开始执行第一操作系统110的步骤S204也可同时或晚于开始执行第二操作系统120的步骤S210。于实际应用上,第一操作系统110与第二操作系统120的执行顺序可依据设计需求,甚至根据使用者来决定。甚至,第一操作系统的应用程序(亦即电视的应用程序)与第二操作系统的应用程序当中任一者也不要求一定都得执行,而可根据使用或应用需求来决定。另外,在执行中途,第一或第二操作系统的应用程序也可进一步根据需要动态选择为休眠状态而停止执行。
    图3绘示本发明另一实施例的软件执行方法的步骤流程图。请参考图1至图3,本实施例的软件执行方法类似于图2的软件执行方法,惟两者之间主要的差异例如在于开始执行第一操作系统110的步骤以及开始执行第二操作系统120的步骤的先后顺序。
    详细而言,在本实施例中,软件执行方法加载完多个驱动模块至Linux操作系统核心112之后(即执行完在步骤S302),首先开始执行步骤S304,即在第二操作系统120的根目录下,利用第二驱动模块124及第二操作系统120的譬如是Bionic Libc函数库,来开始执行第二操作系统120中的应用程序。此一步骤类似于步骤S210,在此便不再赘述。
    接着,在步骤S306中,软件执行方法可以持续运行第二操作系统120中的应用程序。亦即,Android操作系统的应用程序持续运行中。
    另一方面,为了能够运行第一操作系统110的应用程序,在步骤S308中,软件执行方法建立一程序,并通过该程序及chroot函数来调用第一操作系统110的根目录。
    值得注意的是,在本实施例中,开始执行第二操作系统110的步骤S304是在建立该调用程序的步骤S308之前实施,但本发明并不限于此。在另一实施例中,开始执行第二操作系统120的步骤S304也可在建立该调用程序的步骤S308之后或与其同时实施。
    之后,在步骤S310中,在第一操作系统110的根目录下,软件执行方法利用第一驱动模块114及第一操作系统110的譬如是GLIBC/uClibc函数库,来开始执行第一操作系统110中的应用程序。此一步骤类似于步骤S204,在此便不再赘述。至此可知,在本实施例中,开始执行第一操作系统110的步骤S310是晚于开始执行第二操作系统120的步骤S304。
    继之,在步骤S312后,软件执行方法可持续运行第一操作系统110中的应用程序。值得一提的是,于此同时,软件执行方法可以持续运行第二操作系统120中的应用程序,即步骤S306。
    图4绘示本发明一实施例的具有双重操作系统的电子装置的示意图。请参考图4,本实施例的电子装置400至少适于执行上述图2或图3的软件执行方法,其包括一存储装置410以及一处理器420。存储装置410储存有多个指令,该等指令用以执行上述图2或图3的软件执行方法。处理器420存取存储装置410以执行该等指令。电子装置400可以例如但不限于是平板计算机、笔记本型计算机、智能型手机等任何具有双重操作系统的电子装置。
    综上所述,在本发明的范例实施例中,第一与第二操作系统的应用程序可同时运行,无论先执行两者当中的一者的应用程序或同时执行,基本上都不需要修改任一操作系统的应用程序。此外,有关调用根目录程序的步骤的先后次序,亦不影响第一与第二操作系统的应用程序的同时运行。进而,配合应用程序管理程序即可统一管理第一操作系统与第二操作系统的应用程序的执行。
    虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。

    关 键  词:
    软件 执行 方法 及其 电子 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:软件执行方法及其电子装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4264716.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1