执行使用者空间程式方法、使用其的电脑系统及纪录媒体技术方案

技术编号:7594915 阅读:206 留言:0更新日期:2012-07-21 16:41
一种执行使用者空间程式方法、使用其之电脑系统及纪录媒体。使用者空间包括不同编译器所编译的第一程式与第二程式。第一程式可藉由核心所提供档案系统模组与第二程式沟通,以透过第二程式连结至第三方函式库。在此,第二程式透过档案系统函式库向档案系统模组注册虚拟档案系统,使得第一程式得以透过虚拟档案系统传送操作请求至第二程式。而第二程式依据操作请求连结至第三方函式库,藉以执行第三方函式库中对应的函式。之后,第二程式透过虚拟档案系统传送回应至第一程式。

【技术实现步骤摘要】
执行使用者空间程式方法、使用其的电脑系统及纪录媒体
本专利技术是有关于一种使用者空间程式的使用方法,且特别是有关于一种可连结不同编译器所编译的函式库的执行使用者空间程式的方法、使用其的电脑系统及纪录媒体。
技术介绍
在电脑科学中,函式库(library)是用于开发软体的子程式集合。函式库是向其他程式提供服务的程式码,而非独立程式。函式库链结(link)则是指把一个或多个函式库包括到程式中。而不同编译器所编译出的动态函式库,由于定址方式不同,因此在不同编译器所编译的程式中便无法直接连结。例如,一般Linux核心通用的编译器为GNU编译器集合(GNUCompilerCollection,底下称为GCC编译器)与GNU的GLIBC装载程式。而Android系统是基于Linux核心的软体平台与作业系统,其是采用自行研发的BIONIC编译器与BIONIC的装载程式。而由BIONIC编译器所编译的装载程式无法在装载时更新GCC编译器所编译的动态函式库记忆体位址,导致原本Linux的动态函式库无法连结,所有的程式都必须透过BIONIC编译器重新编译,以正确连结。但是在没有原始码的情况下,BIONIC编译器无法重新编译。
技术实现思路
本专利技术提供一种执行使用者空间程式的方法及使用其的电脑系统,在不重新编译的情况之下,可连结不同编译器所编译的函式库。具体而言,本专利技术提出一种执行使用者空间程式的方法,适用于电脑系统。此电脑系统包括使用者空间与核心,使用者空间包括第一程式,其中第一程式连结至第一标准函式库,且第一程式与第一标准函式库由第一编译器所编译。在此,于使用者空间中提供第二程式以及第三方函式库,其中第二程式连结至第二标准函式库,且第二程式与第二标准函式库由第二编译器所编译,而第三方函式库相依于第二标准函式库。第一程式藉由核心所提供档案系统模组与第二程式沟通,以透过第二程式连结至第三方函式库,其中档案系统模组于使用者空间中有对应的档案系统函式库。而第一程式透过第二程式连结至第三方函式库的步骤包括第二程式透过档案系统函式库向档案系统模组注册虚拟档案系统;第一程式透过虚拟档案系统传送操作请求至第二程式;第二程式依据操作请求连结至第三方函式库,藉以执行第三方函式库中对应的函式;第二程式透过虚拟档案系统传送回应至第一程式。在本专利技术之一实施例中,上述第二程式透过档案系统函式库向档案系统模组注册虚拟档案系统的步骤包括第二程式呼叫档案系统函式库的注册函式,以传送档案系统路径以及第二标准函式库的函式指标;注册函式透过第二标准函式库的开启函式向核心传送开启请求;核心依据开启请求,开启虚拟装置,使得虚拟装置传送运算描述子至第二程式;第二程式透过第二标准函式库的控制函式向核心传送建立请求,以依据档案系统路径建立虚拟档案系统。在本专利技术之一实施例中,在上述第二程式透过档案系统函式库向档案系统模组注册虚拟档案系统的步骤之后,第二程式会呼叫档案系统函式库的等待函式,以轮询虚拟档案系统是否接收到操作请求。在本专利技术之一实施例中,在上述第二程式依据操作请求连结至第三方函式库,藉以执行第三方函式库中对应的函式的步骤之前,倘若等待函式轮询到虚拟档案系统接收到操作请求时,呼叫档案系统函式库的处理函式来解析操作请求。在本专利技术之一实施例中,上述第一程式透过虚拟档案系统传送操作请求至第二程式的步骤包括第一程式呼叫第一标准函式库的函式以透过虚拟档案系统传送操作请求至档案系统模组,其中操作请求包括档案系统路径;档案系统模组依据档案系统路径传送操作请求至第二程式。在本专利技术之一实施例中,上述档案系统模组为使用者空间档案系统(Filesystemin User space, FUSE)模组。另外,操作请求的格式为可扩展标记语言(Extensible MarkupLanguage, XML)。另外,本专利技术提出一种电脑系统,包括核心与使用者空间。核心提供一档案系统模组。使用者空间中包括对应于档案系统模组的档案系统函式库、第一程式、第一标准函式库、第二程式、第二标准函式库以及第三方函式库。其中,第一程式连结至第一标准函式库,其皆由第一编译器所编译;而第二程式连结至第二标准函式库,其皆由第二编译器所编译;第三方函式库是相依于第二标准函式库。第二程式透过档案系统函式库向档案系统模组注册虚拟档案系统,使得第一程式得以透过虚拟档案系统传送操作请求至第二程式。而第二程式依据操作请求连结至第三方函式库,藉以执行第三方函式库中对应的函式。之后,第二程式透过虚拟档案系统传送回应至第一程式。本专利技术更提出一种电脑可读取纪录媒体,用以储存使用者空间程式并适用于载入电脑系统以执行之。其中,使用者空间程式包括第一程式与第二程式,电脑系统包括使用者空间与核心。而使用者空间包括第一程式,其中第一程式连结至第一标准函式库,且第一程式与第一标准函式库由第一编译器所编译。而执行使用者空间程式的方法包括于使用者空间中提供第二程式以及第三方函式库,其中第二程式连结至第二标准函式库,且第二程式与第二标准函式库由第二编译器所编译,而第三方函式库相依于第二标准函式库。第一程式会藉由核心所提供档案系统模组与第二程式沟通,以透过第二程式连结至第三方函式库,其中档案系统模组于使用者空间中具有对应的档案系统函式库。而第一程式透过第二程式连结至第三方函式库的步骤包括第二程式透过档案系统函式库向档案系统模组注册虚拟档案系统;第一程式透过虚拟档案系统传送操作请求至第二程式;第二程式依据操作请求连结至第三方函式库,藉以执行第三方函式库中对应的函式;第二程式透过虚拟档案系统传送一回应至第一程式。基于上述,本专利技术透过核心所提供的档案系统模组使得使用者空间中不同编译器所编译的第一程式与第二程式能够进行沟通,进而利用此一沟通模式让第一程式呼叫第二程式,而透过第二程式来连结至第三方函式库。据此,在不重新编译第三方函式库之下,第一程式透过第二程式的帮忙,便能够呼叫第三方函式库。为让本专利技术之上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。附图说明图1是依照本专利技术第一实施例之一种电脑系统的示意图。图2是依照本专利技术第一实施例之一种执行使用者空间程式的方法流程图。图3A 图3C是依照本专利技术第二实施例之一种执行使用者空间程式方法的示意图。图4是依照本专利技术第三实施例之一种电脑系统的示意图。图5是依照本专利技术第三实施例之一种XML格式的示意图。具体实施方式不同编译器所编译的函式库,由于定址方式不同,因此第一编译器所编译的程式若想连结至第二编译器所编译的函式库,则要先透过第一编译器重新编译上述函式库。然而,在没有原始码的情况下,并无法对上述函式库重新编译。为此,本专利技术提出一种执行使用者空间程式的方法及使用其的电脑系统,可在不重新编译的情况之下,连结不同编译器所编译的函式库。为了使本专利技术的内容更为明了,以下特举实施例作为本专利技术确实能够据以实施的范例。第一实施例图1是依照本专利技术第一实施例之一种电脑系统的示意图。请参照图1,电脑系统100具有使用者空间110与核心150。电脑系统100例如为嵌入式系统。在使用者空间110中具有第一程式111、第二程式121。其中,第一程式111连结至第一标准函式库113,第一程式111与第一标准函式库113是由第本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:林纬政
申请(专利权)人:技嘉科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术