函式库萃取装置及方法

文档序号:6513875阅读:120来源:国知局
专利名称:函式库萃取装置及方法
技术领域
本发明涉及一种萃取函式库的装置及方法,特别涉及一种可自动萃取嵌入式操作系统的函式库的装置及方法。
背景技术
随着嵌入式系统(Embedded System)的发展,相关的应用装置也日渐普及,举例来说,信息家电(information appliance,IA)、智能型手机(smartphone)、机顶盒(set-top-box)与个人数字助理等此用嵌入式系统架构的装置均是目前业界极力发展的产品,一般而言,嵌入式系统是由计算机软件(嵌入式操作系统)与计算机硬件(系统单芯片)所构成,亦即其是基于某一种特殊用途而开发出来,因此,相较于一般个人计算机,嵌入式系统往往具有稳定性高、体积小与成本低的优点。对于嵌入式操作系统而言,目前业界所使用的产品很多,例如Palm OS、Windows CE与Linux等,其中Linux操作系统由于具有免费授权的特性,因此目前是大量地应用于嵌入式系统中。
对于嵌入式系统而言,其开发的方式相当奇特,主要的原因是真正的产品,也就是目标装置和开发平台是分属不同的操作环境,举例来说,当开发个人计算机的程序时,该程序和开发程序是运作在同一平台(个人计算机),但是,对于嵌入式系统的程序开发而言,系统开发者是尝试通过一平台(个人计算机)规划另外一平台(嵌入式系统)上所要执行的程序(例如嵌入式操作系统),且当嵌入式系统所要执行的程序在个人计算机上开发完成后,系统开发者另必须制作一可执行的相对应图像文件并将其烧录到目标装置的非易失性储存装置,例如一只读存储器(ROM)或者一闪存(flash memory)。最后,该目标装置便依据上述图像文件(image file)产生可执行文件(binary),并执行可执行文件来验证所开发完成的程序的功能。
一般来说,嵌入式操作系统是针对嵌入式系统本身硬件来量身订作以提供嵌入式系统适当的功能,而为了降低嵌入式系统的生产成本,嵌入式系统仅提供有限的储存容量,故在设计嵌入式系统时,系统开发者必须对对储存空间的使用斤斤计较。如业界所习知,函式库(library)是可执行文件的一部份,由于许多可执行文件都有可共享的组件,因此若将这些组件独立出来成为函式库,就可以大幅地缩减所需的储存空间,因此,多余的函式库会造成成本的增加和效率的减少,而不足够的函式库则会让嵌入式操作系统无法正常运作,所以,系统开发者必须自己一一检查目标装置中的可执行文件,并且列出所有可执行文件在运作时所需要的所有函式库,再一一比对目标装置内储存的函式库以判断目标装置中是否短缺必要的函式库或是包含冗余的函式库,这样的工作即称为函式库萃取。
现有应用于嵌入式系统的函式库萃取方法非常花时间并且容易发生错误。以下进一步地说明现有函式库萃取的操作。首先,系统开发者手动地逐一检查一根文件系统(root file system)中各个可执行文件所需的函式库,并手动地建立一所需函式库清单,此外,系统开发者另需手动地逐一检查该根文件系统中目前所具有的函式库,并手动地建立一现存函式库清单。接着,系统开发者便依据该所需函式库清单与该现存函式库清单来手动地进行比对,若系统开发者发现该所需函式库清单中一必要函式库并未列在该现存函式库清单中,则系统开发者便手动地自一具有该必要函式库的储存装置来将该必要函式库复制至该根文件系统中;另一方面,若系统开发者发现该现存函式库清单中一冗余函式库并未列在该所需函式库清单中,则系统开发者便手动地自该根文件系统中移除该冗余函式库。综上所述,现有方法因为是由人工来手动地进行数据库萃取的操作,故不但效率差且易出错。

发明内容
因此,本发明是提供一种可自动萃取嵌入式操作系统的函式库的装置及方法,以解决上述的问题。
依据本发明的实施例,其是揭露一种萃取一嵌入式操作系统的函式库的方法,该嵌入式操作系统包含有多个可执行文件与多个函式库。该方法包含有提供一自动化处理机制;以及执行该自动化处理机制以依据该多个可执行文件所需的函式库产生一所需函式库清单、依据该多个函式库产生一现存函式库清单、比对该所需函式库清单以及该现函式库清单来检测一可执行文件所需的一必要函式库未包含在该多个函式库中以及自一预设函式库集合中读取该必要函式库并将该特定函式库加入至该多个函式库中。
依据本发明的实施例,其另揭露一种函式库萃取装置,用来萃取一嵌入式操作系统的函式库,该嵌入式操作系统包含有多个可执行文件与多个函式库。该函式库萃取装置包含有一第一检查模块,用来依据该多个可执行文件所需的函式库产生一所需函式库清单;一第二检查模块,用来依据该多个函式库产生一现存函式库清单;一比对模块,用来比对该所需函式库清单以及该现函式库清单,以检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及一萃取模块,用来自一预设函式库集合中撷取该必要函式库,并将该特定函式库加入至该多个函式库中。
本发明自动萃取嵌入式操作系统的函式库的装置及方法是利用一函式库萃取软件/硬件来自动地比对一所需函式库清单与一现存函式库清单、自动地萃取可执行文件所缺少的函式库以及自动地删除可执行文件不需要的函式库,因此,本发明自动萃取嵌入式操作系统的函式库的装置及方法不但可提升函式库萃取的操作效率,并且可减少函式库萃取产生错误的机率。


图1为本发明函式库萃取装置的一实施例的示意图。
图2为图1所示的函式库萃取装置进行函式库萃取的流程图。
图3为图2所示的步骤102的详细流程图。
附图符号说明10函式库萃取装置12运算单元14、16储存单元 18根文件系统20函式库萃取程序22预设函式库集合24a、24b 检查模块 26比对模块28萃取模块 30删除模块32报告产生模块具体实施方式
请参阅图1,图1为本发明函式库萃取装置10的一实施例的示意图。函式库萃取装置10包含有一运算单元12以及多个储存单元14、16。本实施例中,储存单元14是一非易失性储存组件,用来纪录一嵌入式操作系统(例如Linux)的根文件系统18、一函式库萃取程序20以及一预设函式库集合22,其中根文件系统18是系统开发者针对一特定目标装置(嵌入式系统)所设计,以及预设函式库集合22是包含有可被嵌入式操作系统所使用的多个函式库LIB1-LIBn。如图1所示,根文件系统18是储存在储存单元14一特定目录TARGET/中,而特定目录TARGET/是包含有一可执行码目录bin/与一函式库目录lib/,其中可执行码目录bin/中储存有多个可执行码BIN1-BINm,以及函式库目录lib/中储存有多个函式库LIB1-LIBk,请注意,函式库LIB1-LIBk是为函式库LIB1-LIBn的子集合,此外,函式库萃取程序20是由多个检查模块24a、24b、一比对模块26、一萃取模块28、一删除模块30以及一报告产生模块32所构成。本实施例中,储存单元16是一易失性储存组件,用来暂存运算单元12执行函式库萃取程序代码20所产生的数据,例如运算单元12分别执行检查模块24a、24b所产生的所需函式库清单LISTn与现存函式库清单LISTe,以及运算单元12执行比对模块26所产生的函式库需求清单LIST’与冗余函式库清单LIST”。请注意,本实施例中,当函式库萃取装置10在完成一次函式库萃取的操作后,其会在储存单元14的特定目录TARGET/下纪录一状态报告STATUS_REPORT。
请参阅同时图1与图2,图2为图1所示的函式库萃取装置10进行函式库萃取的流程图。萃取一嵌入式操作系统的函式库的操作包含有下列步骤步骤100开始;步骤102运算单元12执行函式库萃取程序20来自动地萃取一嵌入式操作系统的根文件系统18的函式库;步骤104在一目标装置上对该嵌入式操作系统进行功能测试;步骤106该嵌入式操作系统在该目标装置是否可正确地运作?若是,则进行步骤108;否则,回到步骤102;步骤108结束。
当一系统开发者完成一目标装置(嵌入式系统)的嵌入式操作系统的设计后,该系统开发者可经由本发明函式库萃取装置10来进行自动化函式库萃取的操作(步骤100),该系统开发者便使用函式库萃取装置10来执行函式库萃取程序20,并下达适当的参数予函式库萃取程序20,举例来说,该系统开发者可输入待处理的嵌入式操作系统的根文件系统18的目录信息(目录TARGET/)、用来储存可执行码的目录信息(可执行码目录bin/)以及用来纪录函式库的目录信息(函式库目录lib/)至函式库萃取装置10,因此,本发明函式库萃取程序20便可依据上述参数来自动地对根文件系统18进行函式库萃取的操作(步骤102)。当函式库萃取装置10完成步骤102之后,该系统开发者可将储存单元14中已经由函式库萃取处理后的嵌入式操作系统制作一可执行的相对应图像文件,并将其烧录至该目标装置中,因此,该系统开发者便可进一步地经由该目标装置执行该嵌入式操作系统以测试其功能(步骤104),若根文件系统18在该目标装置中无法正确地执行以使该目标装置可正常地运作,则步骤102所执行的函式库萃取的操作可能发生错误,因此便回到步骤102以重新进行一次函式库萃取的操作;另一方面,若根文件系统18可正确地执行,则步骤102所执行的函式库萃取的操作是正确无误,因此,函式库萃取的流程便顺利完成(步骤108)。
请注意,本实施例中,函式库萃取装置10是以一现有个人计算机来加以实施,因此,运算单元12是一中央处理器,储存单元14是一硬盘,以及储存单元16是一主存储器,然而,上述仅为本发明的一实施例,亦即,函式库萃取装置10并未限定在仅能以现有个人计算机来实施。此外,储存单元14亦可整合网络来提供函式库萃取装置10更大的操作弹性,因此,根文件系统18、函示库萃取程序20以及预设函示库集合22并未限定在储存在同一储存装置上,举例来说,储存单元14包含有多个网络磁盘驱动器,而根文件系统18、函示库萃取程序20以及预设函示库集合22是分别储存在不同的网络磁盘驱动器,因此,经由网络的辅助,函式库萃取装置10中的运算单元亦可顺利地存取根文件系统18、函示库萃取程序20以及预设函示库集合22。
请参阅同时图1、图2与图3,图3为图2所示的步骤102的详细流程图。
本发明自动萃取函式库的操作包含有下列步骤步骤200开始;步骤202运算单元12执行检查模块24a来读取可执行码目录bin/中的可执行码BIN1-BINm以产生一所需函式库清单LISTn;步骤204运算单元12执行检查模块24b来读取函式库目录lib/中的函式库LIB1-LIBk以产生一现存函式库清单LISTe;步骤206运算单元12执行比对模块26来比较所需函式库清单LISTn与现存函式库清单LISTe;步骤208比对模块26是否检测到所需函式库清单LISTn中至少有一必要函式库的函式库名称未列在现存函式库清单LISTe上?若是,则执行步骤210;否则,执行步骤212;步骤210运算单元12执行萃取模块28以自预设函式库22中读取该必要函式库,并将该必要函式库复制至函式库目录lib/中;步骤212比对模块26是否检测到现存函式库清单LISTe中至少有一冗余函式库的函式库名称未列在所需函式库清单LISTn上?若是,则执行步骤214;否则,执行步骤216;步骤214运算单元12执行删除模块30以自函式库目录lib/中移除该冗余函式库;步骤216运算单元12执行报告产生模块32以产生函式库萃取操作的状态报告STATUS_REPORT;以及步骤218结束。
本发明函式库萃取装置10是执行函式库萃取程序20来达到自动萃取根文件系统18的函式库的目的,其运作详述如下。假设可执行码BIN1-BINm会使用到函式库LIB2-LIBk-1与LIBk+1-LIBk+3,且函式库LIBk+1-LIBk+3是函式库LIB1-LIBn的子集合。当自动萃取函式库的操作开始执行后(步骤200),检查模块24a会依据可执行码BIN1-BINm来产生一所需函式库清单LISTn,其中所需函式库清单LISTn会纪录函式库LIB2-LIBk-1与LIBk+1-LIBk+3的函式库名称(步骤202),同样地,另一检查模块24b会依据函式库LIB1-LIBk以产生一现存函式库清单LISTe,其中现存函式库清单LISTe会纪录函式库LIB1-LIBk的函式库名称(步骤204)。接着,比对模块26便比较所需函式库清单LISTn中所记载的函式库名称与现存函式库清单LISTe中所记载的函式库名称(步骤206),由于所需函式库清单LISTn与现存函式库清单LISTe并未吻合,因此,比对模块26会检测到所需函式库清单LISTn中函式库LIBk+1-LIBk+3的函式库名称并未记载在现存函式库清单LISTe中(步骤208),亦即根文件系统18中缺乏必要的函式库LIBk+1-LIBk+3,因此,比对模块26会产生一函式库需求清单LIST’(记录有函式库LIBk+1-LIBk+3的函式库名称),而萃取模块28便会依据函式库需求清单LIST’来自预设函式库22中读取根文件系统18所缺乏的函式库LIBk+1-LIBk+3,并将函式库LIBk+1-LIBk+3复制至函式库目录lib/中(步骤210)。另外,比对模块26亦会检测到现存函式库清单LISTe中函式库LIB1、LIBk的函式库名称并未记载在所需函式库清单LISTn中(步骤212),亦即根文件系统18中储存了操作上不需使用到的函式库LIB1、LIBk,所以,比对模块26会产生一冗余函式库清单LIST”(记录有函式库LIB1、LIBk的函式库名称),而删除模块30便会随即依据冗余函式库清单LIST”来自函式库目录lib/中移除上述冗余的函式库LIB1、LIBk(步骤216)。最后,报告产生模块32便依据上述函式库萃取的过程中针对函式库的处理产生一状态报告STATUS_REPORT,并将其储存在特定目录TARGET/下(步骤216),因此,在完成纪录状态报告STATUS_REPORT之后,萃取函式库的流程便顺利地结束(步骤218)。
请注意,图3所示的步骤202、204的执行顺序仅用来作为范例说明,实际上,本发明自动萃取函式库的操作可先执行步骤204,接着再执行步骤202,或者,本发明自动萃取函式库的操作在步骤200后同步地执行步骤202、204;同样地,图3所示的步骤208、212的执行顺序仅用来作为范例说明,实际上,本发明自动萃取函式库的操作可先执行步骤212,接着再执行步骤208,或者,本发明自动萃取函式库的操作在步骤206后同步地执行步骤208、212,上述变化均属本发明的范畴。此外,如上所述,函式库萃取装置10是以运算单元12执行函式库萃取程序20(软件)来进行自动萃取根文件系统18的函式库,然而,本发明函式库萃取装置10亦可以纯硬件的方式来实作检查模块24a、24b、比对模块26、萃取模块28、删除模块30以及报告产生模块32,亦属本发明的范畴。
相较于现有技术,本发明自动萃取嵌入式操作系统的函式库的装置及方法是利用一函式库萃取软件/硬件来自动地比对一所需函式库清单与一现存函式库清单、自动地萃取可执行文件所缺少的函式库以及自动地删除可执行文件不需要的函式库,因此,本发明自动萃取嵌入式操作系统的函式库的装置及方法不但可提升函式库萃取的操作效率,并且可减少函式库萃取产生错误的机率。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种萃取一嵌入式操作系统的函式库的方法,该嵌入式操作系统包含有多个可执行文件与多个函式库,该方法包含有提供一自动化处理机制;以及执行该自动化处理机制来依据该多个可执行文件所需的函式库产生一所需函式库清单,依据该多个函式库产生一现存函式库清单,比对该所需函式库清单以及该现函式库清单以检测一可执行文件所需的一必要函式库未包含在该多个函式库中,以及自一预设函式库集合中撷取该必要函式库并将该特定函式库加入至该多个函式库中。
2.如权利要求1所述的方法,其中,执行该自动化处理机制的步骤另包含有比对该所需函式库清单以及该现函式库清单以检测该多个可执行文件所不需要的一冗余函式库是包含在该多个函式库中;以及自该多个函式库中移除该冗余函式库。
3.一种萃取一嵌入式操作系统的函式库的方法,该嵌入式操作系统包含有多个可执行文件与多个函式库,该方法包含有提供一自动化处理机制,并执行该自动化处理机制来依据该多个可执行文件所需的函式库产生一所需函式库清单;依据该多个函式库产生一现存函式库清单;比对该所需函式库清单以及该现函式库清单,来检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及自一预设函式库集合中撷取该必要函式库并将该特定函式库加入至该多个函式库中。
4.一种萃取一嵌入式操作系统的函式库的方法,该嵌入式操作系统包含有多个可执行文件与多个函式库,该方法包含有依据该多个可执行文件所需的函式库产生一所需函式库清单;提供一自动化处理机制,并执行该自动化处理机制来依据该多个函式库产生一现存函式库清单;比对该所需函式库清单以及该现函式库清单,来检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及自一预设函式库集合中撷取该必要函式库并将该特定函式库加入至该多个函式库中。
5.一种萃取一嵌入式操作系统的函式库的方法,该嵌入式操作系统包含有多个可执行文件与多个函式库,该方法包含有依据该多个可执行文件所需的函式库产生一所需函式库清单;依据该多个函式库产生一现存函式库清单;提供一自动化处理机制,并执行该自动化处理机制来比对该所需函式库清单以及该现函式库清单,以检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及自一预设函式库集合中撷取该必要函式库并将该特定函式库加入至该多个函式库中。
6.一种萃取一嵌入式操作系统的函式库的方法,该嵌入式操作系统包含有多个可执行文件与多个函式库,该方法包含有依据该多个可执行文件所需的函式库产生一所需函式库清单;依据该多个函式库产生一现存函式库清单;比对该所需函式库清单以及该现函式库清单,来检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及提供一自动化处理机制,并执行该自动化处理机制来自一预设函式库集合中撷取该必要函式库并将该特定函式库加入至该多个函式库中。
7.一种函式库萃取装置,用来萃取一嵌入式操作系统的函式库,该嵌入式操作系统包含有多个可执行文件与多个函式库,该函式库萃取装置包含有一第一检查模块,用来依据该多个可执行文件所需的函式库产生一所需函式库清单;一第二检查模块,用来依据该多个函式库产生一现存函式库清单;一比对模块,用来比对该所需函式库清单以及该现函式库清单,以检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及一萃取模块,用来自一预设函式库集合中撷取该必要函式库,并将该特定函式库加入至该多个函式库中。
8.如权利要求7所述的函式库萃取装置,其中,该比对模块另比对该所需函式库清单以及该现函式库清单来检测该多个可执行文件所不需要的一冗余函式库是包含在该多个函式库中,以及该函式库萃取装置另包含有一删除模块,用来自该多个函式库中移除该冗余函式库。
9.如权利要求7所述的函式库萃取装置,其中,该第一、第二检查模块、该比对模块以及该萃取模块是为软件,以及该函式库萃取装置另包含有一储存单元,用来储存该第一、第二检查模块、该比对模块以及该萃取模块;以及一运算单元,耦接于该储存单元,用来执行该第一、第二检查模块、该比对模块以及该萃取模块。
10.如权利要求9所述的函式库萃取装置,其中,该运算单元是一计算机系统的中央处理器。
全文摘要
一种自动萃取一嵌入式系统的函式库的函式库萃取装置及方法。该嵌入式操作系统包含有多个可执行文件与多个函式库。该函式库萃取装置包含有一第一检查模块,用来依据该多个可执行文件所需的函式库产生一所需函式库清单;一第二检查模块,用来依据该多个函式库产生一现存函式库清单;一比对模块,用来比对该所需函式库清单以及该现函式库清单,以检测一可执行文件所需的一必要函式库未包含在该多个函式库中;以及一萃取模块,用来自一预设函式库集合中撷取该必要函式库,并将该特定函式库加入至该多个函式库中。
文档编号G06F9/44GK1811701SQ20051000577
公开日2006年8月2日 申请日期2005年1月25日 优先权日2005年1月25日
发明者黄峻峥, 曾瑞源 申请人:光宝科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1