基于应用程序构建操作系统镜像的制作方法

文档序号:6592969阅读:138来源:国知局
专利名称:基于应用程序构建操作系统镜像的制作方法
基于应用程序构建操作系统镜像背景嵌入式设备通常是单应用程序设备。为了使该应用程序在该嵌入式设备上正常工 作,嵌入式设备的操作系统必须支持应用程序的所有特征。常常,当一应用程序被集成到嵌 入式设备的操作系统镜像时,在应用程序中存在有在操作系统镜像中不被支持的依赖性。 例如,应用程序可能需要呈现视频并因此需要诸如视频播放器等系统组件来这样做。系统组件通常被添加到操作系统镜像以试图满足这样的依赖性。将所需系统组件 添加到操作系统镜像并测试所构建的镜像以确保依赖性得到满足的过程通常是使构建过 程长且乏味的反复试验方法。概述根据一个实施例,用于为嵌入式设备创建操作系统镜像的系统包括含有嵌入式设 备的操作系统的操作系统库模块、包含被编程为在嵌入式设备上执行的一个或多个软件应 用程序的软件应用程序模块、以及被编程为标识这一个或多个软件应用程序中的依赖性的 分析程序模块。该系统还包括包含被添加到操作系统库的一个或多个组件的组件模块、以 及被编程来将依赖性映射到来自组件模块的一个或多个组件的映射模块。根据另一实施例,用于为嵌入式设备创建操作系统镜像的集成开发系统包括含有 嵌入式设备的操作系统的操作系统库模块、以及含有以一种或多种格式提供的一个或多个 软件应用程序的软件应用程序模块。该系统还包括包含被编程为分析软件应用程序以确定 软件应用程序中的操作系统依赖性的一个或多个分析程序的分析程序模块、包含被编程为 被添加到操作系统的一个或多个组件的组件模块、允许选择格式和组件的用户界面模块、 以及执行分析程序以分析软件应用程序并将依赖性映射到在用户界面上显示的组件的依 赖性处理模块。根据又一实施例,使用集成开发系统为嵌入式设备创建操作系统镜像的方法包 括标识要在操作系统库上执行的软件应用程序;从集成开发系统的用户界面选择软件应 用程序的格式;使用集成开发系统中所包括的一个或多个分析程序对软件应用程序执行依 赖性分析;根据依赖性分析确定操作系统依赖性;将依赖性映射到要添加到操作系统库的 一个或多个组件;在用户界面上显示这一个或多个组件;将所选组件添加到操作系统库并 将该软件应用程序添加到操作系统库。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。附图描述合并在本说明书中并形成其一部分的附图示出了本发明的若干方面,并且与说明 书一起用于解释本发明的原理。在附图中

图1示出了用于为嵌入式设备创建操作系统镜像的示例系统。图2示出了用于使用集成开发系统为嵌入式设备创建操作系统镜像的示例系统。图3示出了用于使用集成开发系统为嵌入式设备创建操作系统镜像的系统的示例用户界面。图4示出了用于使用集成开发系统为嵌入式设备创建操作系统镜像的示例方法 的流程图。详细描述本申请针对用于为嵌入式设备构建操作系统镜像的系统和方法。在此处所述的示 例中,各系统和方法使用依赖性分析程序来为在嵌入式设备上运行的一个或多个软件应用 程序确定操作系统依赖性。标识可被添加到操作系统镜像以解决这些依赖性的操作系统组 件。分析程序可独立运行或作为集成开发系统的一部分运行。图1示出了用于在嵌入式设备上构建定制操作系统镜像的示例系统100。示例系 统100包括操作系统库模块102、软件应用程序模块104、分析程序模块106、组件模块108、 映射模块110以及构建模块112。构建的最终结果是定制的操作系统镜像114。示例操作系统库模块102包括用于嵌入式系统的诸如举例而言美国华盛顿州雷 德蒙市微软公司所提供的WINDOWS 嵌入式CE或XP嵌入式操作系统等的操作系统库。 也可使用其他操作系统。操作系统库是包含诸如内核、文件系统、核心组件等的基本功能的 完全操作系统的外壳。软件应用程序模块104包括在嵌入式操作系统上运行的一个或多个软件应用程 序,诸如举例而言运行在销售点(POS)设备上的POS应用程序。软件应用程序模块104可 需要一个或多个系统组件在操作系统中的支持。这样的需求被称为依赖性。例如,软件应 用程序模块104可需要音频能力,这又需要将媒体组件添加到操作系统库模块102。如以下 进一步描述地,某些其他示例依赖性包括而非限制用于呈现超文本标记语言格式的文档 的web浏览器以及用于限制来自和去往嵌入式设备的连接的防火墙。为确定依赖性,分析程序模块106被编程为分析并标识与软件应用程序模块104 相关联的依赖性。这样的分析程序的一个示例是Dumpbin. exe,这是可用于标识与软件应 用程序模块104相关联的依赖性的命令行工具。Dumpbin. exe分析二进制文件和动态链接 库的结构。在另一示例中,分析程序诸如是Depends, exe,它被编程为扫描软件应用程序模 块104并确定与之相关联的、可能阻止软件应用程序正常操作的任何依赖性。这样的分析 程序通常是可单独运行或在诸如由微软公司提供的VISUAL STUDIO 开发系统等集成开 发系统的上下文内运行的静态程序。软件应用程序中被分析程序模块106发现的依赖性被映射到用于解决依赖性的 操作系统组件。这些组件被包括在示例组件模块108中。由映射程序模块110执行映射。 操作系统组件的一些示例包括诸如由微软公司提供的INTERNET EXPLORER 因特网浏 览器等web浏览器;诸如WINDOWS MEDIA 播放器等媒体组件;以及诸如Windows防火墙 等防火墙组件。有可能有组件的其他示例。映射程序模块110可被编程为使用各种技术来完成将依赖性映射到组件。在某些 示例中,使用列表、表、数据库或任何其他数据结构来映射依赖性。在所示的非限制性示例 中,使用表来映射依赖性。可使用的一个示例表是包括将键与值相关联的数据结构的散列 表。散列表包括可能依赖性的列表,并将依赖性映射到满足依赖性的一个或多个系统组件。 有可能有其他配置。构建模块112被用于使用所标识的操作系统组件来构建操作系统镜像。这一过程的最终结果是满足软件应用程序模块104中的依赖性的操作系统镜像114。定制的操作系 统镜像114可被嵌入在诸如POS设备的嵌入式设备中以便在期望的环境中操作该设备。图2示出了用于为嵌入式设备构建操作系统镜像的示例集成开发系统200。这样 的示例集成开发系统的一个示例是VISUAL STUDIO 开发系统。也可使用其他工具。例 如,在另一示例中,开发系统200是用于标识依赖性、将依赖性映射至系统组件、和/或创建 定制操作系统镜像的独立工具,如以下进一步描述。集成开发系统200包括操作系统库模块102、软件应用程序模块104、分析程序模 块106、组件模块108以及构建模块112。示例集成开发系统200还包括用户界面模块210、 依赖性处理模块212、构建模块214以及测试和设计模块216。示例用户界面模块210 —般准许用户控制依赖性的标识、将依赖性映射至系统组 件以及创建定制操作系统镜像。例如,用户界面模块210准许用户为软件应用程序模块104 选择格式。可选择若干格式之一,包括二进制文件、源代码文件以及安装文件。示例用户界 面模块212也提供可被添加到操作系统库模块102的组件的显示。示例依赖性处理模块212在软件应用程序上运行一个或多个分析程序、标识该软 件应用程序中的操作系统依赖性、并将依赖性映射到解决这些依赖性的操作系统组件。在 一些实施例中,依赖性处理模块212将所标识的操作系统组件自动添加到操作系统组件列 表,并基于这些组件构建新的操作系统镜像。在其他实施例中,所标识的组件经由用户界面 模块210向用户呈现,并且用户选择要添加的组件。一旦用户选择要被添加到操作系统库模块102的组件,构建模块214就用于构建 操作系统镜像。所构建的操作系统镜像然后由测试和设计模块216测试以确定在操作系统 中是否存在任何附加的依赖性。测试和设计模块216包括分析由构建模块112创建的操作 系统镜像的分析程序。因为操作系统镜像可包括软件和硬件依赖性两者,所以测试和设计 模块216可被编程为发现依赖性处理模块212可能漏掉的新依赖性。示例测试和设计模块216标识任何新的操作系统依赖性并标识可解决这些依赖 性的操作系统组件。在一些实施例中,测试和设计模块216将所标识的操作系统组件自动 添加到操作系统组件列表,并基于这些组件构建新的操作系统镜像。在其他实施例中,所标 识的组件经由用户界面模块210向用户呈现,并且用户选择要添加的组件。图3示出了由用户界面模块210生成的示例用户界面300。示例用户界面300包 括用于选择软件应用程序的格式的分区302以及用户选择组件的分区304。示例分区302包括用于选择软件应用程序的文件格式的复选框。所包括的有用于 二进制文件格式的复选框306、用于源文件格式的复选框308以及用于安装文件格式的复 选框310。示例组件分区304包括用于选择系统组件以满足依赖性的复选框。在所示 示例中,组件分区304列出诸如以下的组件专有用户界面312如微软公司所提供的 WINDOWS XP操作系统界面;用于媒体播放器的复选框314 ;用于web浏览器的复选框 316 ;用于防火墙的复选框318 ;以及用于网络框架诸如举例而言由微软公司提供的.Net框 架的复选框320。有可能有其他组件。在示例实施例中,分区304中的一个或多个复选框可由集成开发系统200自动选 取以选择依赖性处理模块212所标识的组件来解决软件应用程序中的依赖性。除自动选取以外,用户可通过手动选取分区304中的复选框中的一个或多个来选择附加组件。在示例实施例中,系统100、200和用户界面300在一个或多个计算机系统上实现。 在示例实施例中,系统100、200包括处理单元和计算机可读介质。计算机可读介质可包括 存储器,如易失性(诸如RAM)、非易失性(诸如ROM、闪存等)或其某种组合。系统100、200 也包括海量存储(可移动和/或不可移动),如磁/光盘/带。操作系统和一个或多个应用 程序可被存储在系统100、200上。有可能有其他配置。图4是示出用于使用集成开发系统为嵌入式设备创建操作系统镜像的示例方法 400的流程图。如上所述,集成开发系统一般用于为指定嵌入式操作系统平台构建操作系统镜像。一开始,在方法400的操作402处,标识软件应用程序以添加到操作系统平台。这 例如可通过在打开示例集成开发系统中的项目文件和选择软件应用程序来完成。在操作 404处,选择软件应用程序的文件类型,诸如举例而言二进制文件、源代码文件或安装文件。 选择可通过选择对应于合适文件类型的复选框来在集成开发系统的用户界面上完成。有可 能有其他备选的选择方法,诸如举例而言通过使用集成开发系统中的项目文件。在其他示例中,用户也可选择其他参数。例如,在某些实施例中,集成开发系统被 编程为处理多种类型的操作系统,诸如WINDOWS 嵌入式CE或XP嵌入式操作系统。在 这样的示例中,用户可在软件应用程序的分析之前选择哪一操作系统是合乎需要的。在操作406处,针对该软件应用程序运行集成开发系统中所包括的一个或多个分 析程序以确定软件应用程序中是否存在任何操作系统依赖性。在操作408处,所标识的依 赖性被映射到用于解决依赖性的操作系统组件。所标识的操作系统组件然后在操作410处被显示在集成开发系统的用户界面上。 集成开发系统可例如通过在用户界面上选取所标识组件的复选框来显示这些组件。在操作 412处,用户选择接受所标识组件、取消选择一组件或手动选择附加组件。一旦用户对选择 满意,就在操作414处将软件应用程序添加到操作系统库并在操作416处构建操作系统镜像。在操作418处,测试所构建的镜像以确定是否存在附加的依赖性。例如,集成开发 系统可包括附加的测试和分析程序,它们从操作系统硬件的立场来测试所构建的操作系统 镜像。测试和分析程序可标识可被添加以进一步调节操作系统镜像的附加组件。在操作 420处,可将这些附加的组件添加到操作系统镜像。这些组件的添加可由集成开发系统自动 完成或可由用户手动添加。最后,在操作422处,如果添加了附加的组件,则在集成开发系 统上重新构建操作系统镜像。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权 利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为 实现权利要求的示例形式公开的。
权利要求
一种用于为嵌入式设备创建操作系统镜像(114)的系统(100),所述系统包括包括嵌入式设备的操作系统的操作系统库模块(102);软件应用程序模块(104),所述软件应用程序模块(104)包括被编程为在所述嵌入式设备上执行的一个或多个软件应用程序;被编程为标识所述一个或多个软件应用程序中的依赖性的分析程序模块(106);包括被添加到操作系统库的一个或多个组件的组件模块(108);被编程为将依赖性映射到来自组件模块(108)的一个或多个组件的映射模块(110)。
2.如权利要求1所述的系统,其特征在于,所述组件选自媒体播放器;web浏览器;和 防火墙。
3.如权利要求1所述的系统,其特征在于,所述映射模块还被编程为使用散列表来映 射依赖性。
4.如权利要求1所述的系统,其特征在于,还包括被编程为包含用于选择软件应用程 序的格式的第一分区以及用于选择组件的第二分区的用户界面。
5.如权利要求1所述的系统,其特征在于,还包括构建操作系统镜像的构建模块。
6.一种用于为嵌入式设备创建操作系统镜像(114)的集成开发系统(100),所述集成 开发系统包括包括嵌入式设备的操作系统的操作系统库模块(102);包含以一种或多种格式提供的一个或多个软件应用程序的软件应用程序模块(104); 包含被编程为分析所述软件应用程序以确定所述软件应用程序中的操作系统依赖性 的一个或多个分析程序的分析程序模块(106);包括被编程为添加到操作系统的一个或多个组件的组件模块(108); 准许选择所述格式和组件的用户界面模块(210);以及执行所述分析程序以分析所述软件应用程序并将依赖性映射到在用户界面(300)上 显示的组件的依赖性处理模块(212)。
7.如权利要求6所述的系统,其特征在于,所述组件选自媒体播放器;web浏览器;和 防火墙。
8.如权利要求6所述的系统,其特征在于,还包括构建操作系统镜像的构建模块。
9.如权利要求8所述的系统,其特征在于,还包括测试所述操作系统、确定所述操作系 统中的附加依赖性、并选择组件来解决所述附加依赖性的测试和设计模块。
10.如权利要求6所述的系统,其特征在于,还包括被编程为使用散列表来映射依赖性 的映射模块。
11.一种用于使用集成开发系统(100)为嵌入式设备创建操作系统镜像(114)的方法, 所述方法包括标识要在操作系统库上执行的软件应用程序;从所述集成开发系统(100)的用户界面(300)为所述软件应用程序选择格式; 使用所述集成开发系统(100)中所包括的一个或多个分析程序来对所述软件应用程 序执行依赖性分析;根据所述依赖性分析确定操作系统依赖性; 将所述依赖性映射到要被添加到操作系统库的一个或多个组件;在所述用户界面(300)上显示所述一个或多个组件;将所选组件添加到所述操作系统库;以及将所述软件应用程序添加到所述操作系统库。
12.如权利要求11所述的方法,其特征在于,映射依赖性还包括使用散列表来映射依 赖性。
13.如权利要求11所述的方法,其特征在于,所述组件选自媒体播放器;web浏览器; 和防火墙。
14.如权利要求11所述的方法,其特征在于,还包括准许用户手动取消选择所映射的 组件以及选择附加组件。
15.如权利要求11所述的方法,其特征在于,还包括从操作系统库构建操作系统镜像。
16.如权利要求11所述的方法,其特征在于,还包括测试所述操作系统库以确定是否 存在任何附加的依赖性。
17.如权利要求16所述的方法,其特征在于,还包括将附加组件添加到所述操作系统 库以解决所述依赖性。
18.如权利要求17所述的方法,其特征在于,映射依赖性还包括使用散列表来映射依 赖性。
全文摘要
公开了用于为嵌入式设备创建操作系统镜像的示例系统和方法。在一个示例中,该系统包括含有嵌入式设备的操作系统的操作系统库模块、包含被编程为在嵌入式设备上执行的一个或多个软件应用程序的软件应用程序模块、以及被编程为标识这一个或多个软件应用程序中的依赖性的分析程序模块。该系统还包括包含被添加到操作系统库的一个或多个组件的组件模块、以及被编程为将依赖性映射到来自组件模块的一个或多个组件的映射模块。也描述了使用集成开发系统为嵌入式设备创建操作系统镜像的方法。
文档编号G06F9/44GK101960419SQ200980106990
公开日2011年1月26日 申请日期2009年1月21日 优先权日2008年2月26日
发明者M·莫伊尼, O·温特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1