CN1694064A - 组件化嵌入式系统信息检索系统和方法 - Google Patents
组件化嵌入式系统信息检索系统和方法 Download PDFInfo
- Publication number
- CN1694064A CN1694064A CNA2005100701322A CN200510070132A CN1694064A CN 1694064 A CN1694064 A CN 1694064A CN A2005100701322 A CNA2005100701322 A CN A2005100701322A CN 200510070132 A CN200510070132 A CN 200510070132A CN 1694064 A CN1694064 A CN 1694064A
- Authority
- CN
- China
- Prior art keywords
- data
- embedded
- embedded system
- operating system
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本文描述与收集和提供描述嵌入式系统(120)单元的数据项相关联的系统、方法、媒介和其他实施例,其中所述嵌入式系统(120)配有组件化操作系统(130)。一个示范系统实施例(100)包括配置为从配有组件化操作系统(130)的嵌入式系统(120)收集数据项的收集逻辑(110)。收集逻辑(110)可以将数据项存储在数据存储器器(140)中。该示范系统(100)还可包括访问逻辑(150),用以存取收集逻辑(110)所收集的系统数据。
Description
技术领域
本发明涉及组件化嵌入式系统信息检索,具体地说涉及一种收集并提供描述配有组件化操作系统的嵌入式系统单元信息的系统和方法。
背景技术
嵌入式系统的一般特征在于:包括硬件设备、控制该设备中的处理器的紧凑可靠的操作系统以及基于该操作系统运行的软件应用集。嵌入式系统通常是更大系统或机器中的组成部分。紧凑的操作系统可以是例如更大操作系统的组件化版本。Windows XPEmbedded(嵌入式)是相对大的Windows XP Professional(专业)版的组件化版本的一个例子。将操作系统组件化可有助于使操作系统对硬件资源(例如内存)的需求最低。同样地,将操作系统组件化还可在决定要在嵌入式操作系统中包括什么功能方面具有很大灵活性。但是,将操作系统组件化,并为嵌入式操作系统选择可用组件的子集可能使嵌入式操作系统未不具备某些期望功能。例如,在一些组件化实现方案中,可能不能利用msinfo32.exe组件,msinfo32.exe通常提供对某些系统信息的访问。但是用户、系统管理员、测试工程师等可能需要收集并检查有关他们的嵌入式系统的系统信息。
“瘦客户机”(例如不具有移动单元的计算机)可能构成嵌入式系统的硬件部分。瘦客户机可包括多个硬件组件,如处理器、内存、通信装置等。瘦客户机用户可能希望收集有关其系统的系统信息。可以利用组件化操作系统来减少在该瘦客户机上运行的操作系统的足印(如内存需求)。为减少组件化操作系统在瘦客户机上的印记而可从组件化操作系统中省去的一些组件可能包括用户所熟悉的管理控制台和系统信息收集/显示实用程序。如果包括某个系统信息收集功能,则这种功能可能在执行其功能所需的文件依赖性得不到满足(例如所需动态链接库(DLL)丢失)时无法正常运行。即使可以收集系统信息,用户也无法获得一个他们可据以访问系统信息的与其嵌入式系统的接触点。
发明内容
本发明目的是提供一种可以收集并提供配有组件化操作系统的嵌入式系统单元信息的系统和方法。
为此,本发明系统包括:收集逻辑,其配置为从配有组件化操作系统的嵌入式系统收集系统数据并将所述系统数据存储在数据存储器;以及访问逻辑,其配置为提供对所述数据存储器中存储的所述系统数据的访问。
在本发明的一个实施例中,所述系统包括涉及:与所述嵌入式系统相关联的随机存取存储器、与所述嵌入式系统相关联的闪速存储器、所述嵌入式系统的制造商、所述嵌入式系统的产品名称、所述嵌入式系统的序列号、与所述嵌入式系统相关联的只读存储器、所述组件化操作系统以及包括在所述嵌入式系统中的硬件设备的信息。
在本发明的另一个实施例中,所述系统的特征在于:所述收集逻辑配置为通过如下方式收集所述系统数据:访问与所述嵌入式系统相关联的系统管理BIOS(SMBIOS);访问与所述组件化操作系统相关联的应用编程接口;检查与所述组件化操作系统相关联的注册表;检查与所述组件化操作系统相关联的文件系统以及与与所述嵌入式系统相关联的硬件设备通信。
在本发明的另一个实施例中,所述系统的特征在于:所述收集逻辑以XML文件形式将所述系统数据存储在所述数据存储器中。
在本发明的另一个实施例中,所述系统的特征在于:所述收集逻辑和所述访问逻辑包括构成所述嵌入式系统一部分的硬件组件。
在本发明的另一个实施例中,所述系统的特征在于:所述组件化操作系统是Microsoft Windows XP Embedded版。
在本发明的另一个实施例中,所述系统的特征在于:所述访问逻辑将所述系统数据提供给Microsoft Windows XP Embedded版所提供的微软系统信息控制面板小程序(applet)中的支持信息窗口。
根据本发明的一种在嵌入式系统中执行的计算机可执行方法包括如下步骤:从所述嵌入式系统中获取描述性数据集,其中所述嵌入式系统配有组件化操作系统,以及所述描述性数据描述所述嵌入式系统的硬件、软件或固件组件;以及使所述描述性数据集可供用户利用。
根据本发明的一个实施例,所述方法的特征在于:获取所述描述性数据集的步骤包括如下步骤:访问与所述嵌入式系统相关联的系统BIOS(SMBIOS);访问与所述组件化操作系统相关联的应用编程接口;检查与所述组件化操作系统相关联的注册表;检查与所述组件化操作系统相关联的文件系统以及与所述嵌入式系统所包含的设备通信。
根据本发明的另一个实施例,所述方法的特征在于:使所述描述性数据集可供用户利用的所述步骤包括将所述描述性数据集提供给所述组件化操作系统的查看组件;所述查看组件包括从MicrosoftWindows XP Embedded版派生的组件化操作系统内微软系统信息控制面板小程序中的支持信息窗口。
以上所述的系统和方法与现有技术相比,其优点在于:既可以收集配有组件化操作系统的嵌入式系统单元的信息,又可提供对这些信息的访问。
附图简介
与本说明书结合并构成本说明书一部分的附图显示各种示范系统、方法等,以说明本发明各方面的不同实施例。应理解,这些附图中所示的单元边界(例如,方框、方框组或其他形状)代表这些边界的一个示例。本技术领域人员会理解,既可以将一个单元设计为多个单元,也可以将多个单元设计为一个单元。显示为另一个单元的内部组件的一个单元可以实现为外部组件,反之亦然。再者,这些单元不是按比例绘制的。
图1说明用于从配有组件化操作系统的嵌入式系统中检索系统信息的示例系统。
图2说明用于从配有组件化操作系统的嵌入式系统中检索系统信息的另一个示例系统。
图3说明用于从配有组件化操作系统的嵌入式系统中获取并提供系统信息的一种示例方法。
图4说明用于从配有组件化操作系统的嵌入式系统中获取并提供系统信息的另一种示例方法。
图5说明可以运行所示示例系统和方法的示例计算环境。
图6说明示例应用编程接口(API)。
图7说明与图形用户介面(GUI)相关联的示例方法。
具体实施方式
以下包括对本文中用语的定义。这些定义包括属于术语范围且可用于实施方案的各种示例和/或各种形式的组件。这些示例不用于限制目的。单数和复数形式的术语均可在这些定义范围内。
在本申请中,术语“计算机组件”用于指与计算机有关的实体,即硬件、固件、软件、它们的组合或者执行中的软件。例如,计算机组件可以但不限于是在处理器上运行的进程、处理器或对象、可执行指令(executable)、执行的线程、程序和计算机。作为说明,运行于服务器上的应用和服务器均可以是计算机组件。一个或多个计算机组件可以驻留在执行的进程和/或线程内,并且计算机组件可以局限在一个计算机上和/或分布在两个或多个计算机之间。嵌入式系统可以包括多个计算机组件。
本文中用语“计算机可读介质”指参与直接或间接提供信号、指令和/或数据的介质。计算机可读介质可以采用各种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质可以包括例如光盘或磁盘等。易失性介质可以包括例如光盘或磁盘、动态存储器等。传输介质可以包括同轴电缆、铜线、光缆等。传输介质还可以采取电磁辐射的形式,如在无线电波和红外数据通信期间生成的电磁辐射,或采取一组或多组信号的形式。计算机可读介质的常见形式包括但不限于软盘、柔性碟、磁带、其他磁性介质、CD-ROM、其他光学介质、穿孔卡、纸带、其他带孔图案的其他物理介质、RAM、ROM、EPROM、FLASH-EPROM或其他存储芯片或存储卡、存储棒、载波/脉冲和计算机、处理器或电子装置可以读取的其他介质。用于在网络(如因特网)上传输指令或其他软件的信号可以视为“计算机可读介质”。
本文中用语“数据存储器”指可以存储数据的物理和/或逻辑实体。数据存储器可以是例如数据库、表、文件、列表、队列、堆、内存、寄存器等。数据存储器可以驻留在一个逻辑和/或物理实体上和/或可以分布在两个或更多个逻辑和/或物理实体之间。
本文中用语“逻辑”包括但不限于用于执行功能或操作和/或促使另一个逻辑、方法和/或系统执行功能或操作的硬件、固件、软件和/或它们的组合。例如,基于期望的应用或需要,逻辑可以包括软件控制的微处理器、离散逻辑(如专用集成电路(ASIC))、编程的逻辑器件、包含指令的存储器等。逻辑还可以包括一个或多个门电路,多个门电路的组合或其他电路元件。逻辑还可以完全实现为软件。在描述多重逻辑时,可以将所述多重逻辑集成到一个物理逻辑中。同样地,在描述单重逻辑时,可以将所述重逻辑分布在多个物理逻辑之间。一个嵌入式系统可以包括多个逻辑。
“可操作连接”或据以“以可操作方式连接” 实体的连接指可以发送和/或接收信号、物理通信和/或逻辑通信的连接。通常,可操作连接包括物理接口、电气接口和/或数据接口,但要注意,可操作连接可以包括足以实现可操作控制的这些或其他类型的连接的不同组合。例如,两个实体可以通过向彼此直接传送信号或通过一个或多个中间实体(例如处理器、操作系统、逻辑、软件或其他实体)传送信号以可操作方式连接。可以利用逻辑的和/或物理的通信信道来创建可操作连接。
本文中用语“信号”包括但不限于一个或多个电信号或光信号、模拟信号或数字信号、数据、一个或多个计算机或处理器指令、消息、比特或比特流或可以接收、传送和/或检测到的其他形式的信号。
本文中用语“软件”包括但不限于可以读取、解释、编译和/或执行的以及促使计算机、处理器或其他电子装置以期望方式执行功能、操作和/或行为的一个或多个计算机或处理器指令。这些指令可以各种形式实现,如例程、算法、模块、方法、线程和/或程序(包括单独的应用或动态和/或静态链接库中的代码)。软件还可以各种可执行和/或可加载的形式实现,包括但不限于独立执行的程序、函数调用(本地和/或远程)、小服务程序(servelet)、小程序、存储在存储器中的指令、操作系统的一部分或其他类型的可执行指令。本领域技术人员会理解,软件形式可能取决于例如期望应用的需求、软件运行的环境和/或设计人员/程序员的要求。还有,计算机可读和/或可执行指令可以位于一个逻辑中和/或分布在两个或更多个通信、协同操作和/或并行处理逻辑之间,并由此可以串行、并行、大规模并行和其他方式加载和/或执行。
可以利用编程语言和工具,例如Java、Pascal、C#、C++、C、CGI、Perl、SQL、APIs、SDKs、汇编语言、固件、微码和/或其他语言和工具来生成用于实现所述示例系统和方法的各种组件的适合软件。无论是整个系统还是系统的一个组件,软件都可以实施为一件产品,并作为如上所述计算机可读介质的一部分来维护或提供。另一种形式的软件可以包括经网络或其他通信介质将软件程序代码传送到接收方的信号。因此,在一个示例中,当从Web服务器下载软件/固件到用户时,计算机可读介质采取表示该软件/固件的信号的形式。在另一个示例中,当在Web服务器上维护软件/固件时,计算机可读介质表现为软件/固件的形式。也可以采用其他形式。
本文中用语“用户”包括但不限于一个或多个人、软件、计算机或其他设备或它们的组合。
如下给出的详细说明的一些部分涉及针对存储器内数据比特的操作的算法和符号表示。这些算法描述和表示法是本领域技术人员用于向其他人传达工作实质的手段。这里一般地将算法设想为产生某种结果的一系列操作。这些操作可以包括对物理量的物理操作。通常但并非一定,物理量采取可存储、传送、组合、比较以及在逻辑中以其他方式操作的电信号或磁信号的形式。
已经证明,主要是因为常用,有时将这些信号称为比特、值、元素、符号、字符、项、数值等是便利的。但应记住,这些和其他类似的术语要与适当的物理量相关联,并且仅仅是适用于这些物理量的便捷标记。除非另行规定,否则在本说明书中,要将诸如处理、计算、设计、判断、显示等术语指的是计算机系统、逻辑或处理器的操作和处理,或者指类似的操纵并转换表示为物理量(电子量)的数据的电子设备的操作和处理。
图1显示了系统100,它包括配置为从配有组件化操作系统130的嵌入式系统120收集系统数据的收集逻辑110。在一个示例中,嵌入式系统120可以是作为更大系统或机器的组成部分的专用计算机系统。例如,嵌入式系统可以安装在微处理器板上。该微处理器板可包括存储嵌入式系统所运行的程序的只读存储器(ROM)。控制汽车防锁刹车系统的微处理器板就是嵌入式系统的一个示例。嵌入式系统通常以实时方式响应事件。
所述系统数据可以包括例如涉及与嵌入式系统120相关联的随机存取存储器(RAM)的信息。RAM信息可以包括例如与嵌入式系统120相关联的RAM的数量、类型和位置。虽然描述的是数量、类型和/或位置,但要明确,还可以获取和/或提供其他的RAM信息。例如,系统数据还可以包括有关与嵌入式系统120相关联的闪速存储器的信息。例如,闪速存储器信息可以包括与嵌入式系统120相关联的闪速存储器的数量和类型以及由闪速存储器实现的逻辑驱动器的名称。虽然描述的是用闪速存储器实现的“盘驱动器”的数量、类型和逻辑名,但要明确,还可以获取和/或显示有关闪速存储器的其他信息。系统数据还可以包括嵌入式系统120制造商(例如网址、名称、电话号码)、指定给嵌入式系统120的产品名称、指定给该嵌入式系统120的序列号等的有关信息。系统数据还可以包括有关与嵌入式系统120相关联的只读存储器(ROM)的信息。ROM信息可包括例如ROM版本、ROM发行日期、ROM制造日期、ROM制造商、ROM大小、ROM类型、ROM位置等。系统数据还可以包括组件化操纵系统130的有关信息,如操作系统的版本、名称、制造商、产品标识符、系统映像标识符、版本日期等。系统数据还可以包括嵌入式系统120中所含硬件设备(例如网络适配器)的有关信息。硬件设备数据可以包括例如硬件设备名称、类型、地址、中断向量、功率需求等。
收集逻辑110可以配置为获取系统数据,因为组件化操作系统130可能不包括获取这些数据的逻辑。例如,由Microsoft Windows XPEmbedded版开发的组件化操作系统130可能不包括用于检查嵌入式系统120中的硬件、软件和固件的逻辑。即使组件化操作系统130包括某个此类逻辑,它仍有可能未配置为将检索的信息存储在单个位置上,以及为希望访问该数据的用户提供一个接触点。在一个示例中,收集逻辑110配置为收集上述所有类型的系统数据。但在另一个示例中,收集逻辑110可以配置为收集该系统数据的子集。再者,可以动态地重新配置收集逻辑110,以有助于在不同条件下收集系统数据的不同子集。
收集逻辑110可以从各种单元(包括与嵌入式系统120相关联的硬件、固件和/或软件)获取系统数据。因此,收集逻辑110可以与各种逻辑交互以收集系统数据。例如,收集逻辑110可以访问与嵌入式系统120相关联的系统管理BIOS(SMBIOS),以收集标准化格式的与硬件相关联的管理信息。通过SMBIOS获取的信息可以包括例如BIOS信息(例如版本、发行日期)、制造商和产品名称字符串、处理器类型信息、高速缓存信息(例如已安装的大小)、系统插槽数据(例如,类型、总线宽度、插槽标识符)、物理存储器信息(例如位置、使用情况、纠错、最大容量)、存储设备信息等。在一个示例中,SMBIOS可以是诸如SMBIOS版本2.3.4规范中分布式管理任务组(DMTF)所描述的SMBIOS。虽然本文描述的是DMTF版本2.3.4规范,但要理解,在一些示例中还可以采用其他SMBIOS版本。
收集逻辑110还可与组件化操作系统130的关联应用编程接口(API)交互。例如,组件化操作系统130可以公布有助于获取部分系统信息的与各种动态链接库(DLL)的接口。因此,收集逻辑110可以判断是否有公布的接口,如果有的话,可以采用它来获取数据。收集逻辑110还可以例如检查与组件化操作系统130相关联的注册表,检查与组件化操作系统130相关联的文件系统,检查与组件化操作系统130相关联的文件,与包含在嵌入式系统120中的硬件设备通信等。收集系统110可以检查注册表以确定例如在嵌入式系统上已安装、已更新、已卸载以及以其他方式加以处理了哪些软件应用(如果有的话)。
收集逻辑110可以配置为将系统数据存储在数据存储器140中。数据存储器140可以是例如可由用户或显示应用读取的文件。在一个示例中,收集逻辑110可以将系统数据存储在XML(可扩充标记语言)记录中,以便使该数据可供广泛地加以利用。在另一个示例中,数据存储器140可以是收集逻辑110和/或嵌入式系统120可写且显示应用可读的存储器。因为嵌入式系统120如防锁刹车系统可能没有显示器,所以收集逻辑110可能将系统数据存储在可供显示应用存取的位置。
收集逻辑100还可以包括访问逻辑150,它配置为提供对数据存储器140中存储的系统数据的访问。访问逻辑150可以提供编程接口,以便存取数据存储器140中存储的系统数据。例如,访问逻辑150可以公布便于其他逻辑请求存储在数据存储器140中的系统数据的接口,而无需要求其他逻辑熟悉该数据存储器140的内部布局。在一个示例中,访问逻辑150可以向Microsoft Windows XP Embedded版所提供的微软系统信息控制面板小程序中的支持信息窗口提供系统数据。虽然将收集逻辑110和访问逻辑150显示在嵌入式系统120之外,但要理解,在一个示例中,收集逻辑110和/或访问逻辑150可以是嵌入式系统120的一部分。
图2显示用于从配有组件化操作系统220的嵌入式系统210中检索系统信息的系统200。系统200包括收集逻辑230,收集逻辑230配置为从嵌入式系统210收集系统数据。组件化操作系统220可以由父操作系统中的可用组件组装而成。例如,组件化操作系统220可以由父操作系统如Microsoft Windows XP Embedded版派生得到。虽然组件化操作系统中的单个组件可以获取和/或提供有关其操作的信息,但在组件化操作系统中的各组件通常独立工作,因而难以协调系统数据收集并提供单个接触点。
系统数据可以包括与嵌入式系统210相关联的随机存取存储器(RAM)240、与嵌入式系统210相关联的闪速存储器250、与嵌入式系统210相关联的只读存储器(ROM)、组件化操作系统220、包括在该嵌入式系统210中的硬件设备270等的有关信息。收集逻辑220可以配置为在通过与各种逻辑交互收集到系统数据之后,将系统数据存储在数据存储器280中。例如,收集逻辑230可以访问与嵌入式210相关联的系统管理BIOS(SMBIOS)290,可以访问与组件化操作系统220相关联的应用编程接口(API)292以及可以检查与组件化操作系统220相关联的注册表294。同样地,收集逻辑230还可以负责执行其他操作,如检查与组件化操作系统220相关联的文件系统(未示出),以及与嵌入式系统210相关联的设备270通信。访问SMBIOS 290可以包括例如从与SMBIOS 290相关联的存储器读取格式化的数据块。访问API 292可以包括例如,利用API 292定义的过程入口点执行过程调用。检查注册表294可以包括例如,查询注册表数据库管理系统。
系统200还可以包括访问逻辑296,访问逻辑296配置为向组件化操作系统220所提供的微软系统信息控制面板小程序中的支持信息窗口提供系统数据。因为用户可能熟悉系统信息控制面板,所以访问逻辑296可以选择提供系统信息控制面板的小程序,以便为试图查看系统数据的用户生成一个直观接触点。
参考图3和图4的流程图,可以更好地理解示例方法。虽然出于简化说明的目的,所示整套方法步骤是以一系列方框的形式来显示并加以说明的,但要理解,这些方法步骤并不限于这些方框的顺序,因为一些方框可以不同次序出现和/或与不同于附图所示方框的其他方框同时出现。再者,可能需要比所显示的所有方框少的方框来实施一整套示例方法步骤。还有,还可以采用附加的和/或备选的整套方法步骤,而不采用所显示的方框。
在这些流程图中,方框表示可以利用逻辑来实现的“处理块”。处理块可以表示一个方法步骤和/或用于执行该方法步骤的装置单元。流程图不描述任何特定编程语言、方法学或式样的语法(例如过程语言、面向对象语言)。确切地说,流程图说明本领域技术人员可用于开发逻辑以执行所示处理的功能信息。可以理解,在一些示例中,未显示诸如临时变量、例程循环等程序元素。还可以进一步理解,电子和软件应用可能涉及动态且灵活的进程,以便所示功能块可以按与所示次序不同的次序执行和/或可以将这些块组合或分割到多个组件中。会理解,这些进程可以利用不同的编程方法,如机器语言、过程、面向对象和/或人工智能技术来实现。
图3说明用于从配有组件化操作系统的嵌入式系统中获取并提供系统信息的示例方法300。配有完好的整体式操作系统的嵌入式系统可能包含为收集系统信息而设计的应用集和/或实用程序集。但是,组件化操作系统可以不包含此类实用程序。即使常规嵌入式系统可以获取某些系统信息,但它通常并不利于为用户提供用于存取这些数据的直观的单一接触点。
因此,(可在嵌入式系统中执行的)方法300可以包括在步骤310从嵌入式系统获取描述性数据集。这些描述性数据可以描述例如嵌入式系统的硬件、软件和/或固件组件。在一个示例中,获取描述性数据集的步骤包括:访问与嵌入式系统相关联的系统管理BIOS(SMBIOS);访问与组件化操作系统相关联的应用编程接口(API);检查与组件化操作系统相关联的注册表;检查与组件化操作系统相关联的文件系统以及与嵌入式系统中包含的设备通信。在其他示例中,获取所述描述性数据集的步骤可能包括执行上述操作的子集。访问SMBIOS可能涉及例如对嵌入式系统中提供的SMBIOS进行过程和/或函数调用。同样地,访问组件化操作系统API可能涉及例如对该操作系统中提供的API进行过程和/或函数调用。检查注册表的步骤可能涉及例如打开注册表类型的文件,搜索各表项,以及关闭该注册表类型文件。与设备通信可能涉及例如向设备传递消息、读取与设备相关联的存储器映射位置、发送信号(例如中断信号)到设备等。
方法300还可以包括在步骤320使所述描述性数据集可供用户利用。该描述性数据集可以包含例如嵌入式系统随机存取存储器(RAM)、嵌入式系统闪速存储器、嵌入式系统制造商、嵌入式系统产品名称、嵌入式系统序列号、嵌入式系统只读存储器(ROM)等的有关信息。虽然描述的是几种类型的系统消息,但要理解,方法300还可以获取和/或显示其他系统类型的数据。
在一个示例中,使所述描述性数据集可供用户利用的步骤包括将该描述性数据集存储在数据存储器中。数据存储器可以是例如用户可以读取的文件。在一个示例中,使该描述性数据集可供用户利用的步骤包括将该描述性数据集提供给组件化操作系统的查看组件。该查看组件可以是例如,从Microsoft Windows XP Embedded版派生的组件化操作系统中的微软系统信息控制面板小程序中的支持信息窗口。在另一个示例中,使该描述性数据集可供用户利用的步骤包括提供便于以编程方式从数据存储器中获取该描述性数据集的编程接口。
虽然图3显示依次进行的各种操作,但要理解,图3所示各操作也可以基本上并行的方式进行。例如,第一进程可以获取描述性数据,与此同时,第二进程可以使该数据可供利用。虽然描述了两个进程,但要理解,也可以采用更多和/或更少数量的进程,并且还可以采用轻量级进程、常规进程、线程和其他方法。要理解,在某些情况中其他示例方法还可以包括以基本上并行的方式进行的操作。
图4说明用于从配有组件化操作系统的嵌入式系统中获取并提供系统信息的示例方法400。方法400有助于为用户生成单一接触点,以存取描述配有组件化操作系统的嵌入式系统的单元的系统信息。方法400可以包括:在步骤410获取嵌入式系统的制造商数据(例如名称)并选择性地将其写入用户可查看的位置。用户可查看的位置可以是例如显示窗口、文件、存储器等。制造商数据可由方法400获取(例如通过访问SMBIOS)和/或可以提供给方法400。由此,在某些示例中,方法400可以将数据拉向自己,而在另一些示例中,可以将数据推送给方法400。
方法400还可以包括:在步骤420获取嵌入式系统的制造商统一资源定位器(URL)并选择性地将其写入用户可查看的位置。与在步骤410写入的制造商数据一样,在一个示例中在步骤420写入的URL可以拉向方法400,而在另一个示例中,该URL可以推送到方法400。虽然此处描述的是制造商名称和URL,但要理解,还可以获取并存储(例如写入)其他制造商数据,如地址、电话号码等。
方法400还可以包括在步骤430通过与嵌入式系统相关联的SMBIOS检索该嵌入式系统的数据,如产品名称、序列号、ROM版本、ROM数据和RAM数据。虽然描述了五项,但要理解,也可以通过SMBOIS检索更多和/或更少数量的数据项。在步骤440,在步骤430获得的数据可以选择性.地写入到用户可查看的位置上。在步骤440写入哪些数据是可控制的,例如通过用户偏好数据中的设置来进行。
方法400还可以包括:在步骤450,通过与组件化操作系统相关联的应用编程接口(API)获取诸如操作系统版本数据和产品标识符数据等数据。在步骤460,在步骤450获得的数据可以选择性地写入到用户可查看的位置上。虽然描述了两项,但要理解,也可以通过API检索更多和/或更少数量的数据项。
方法400还可以包括在步骤470访问嵌入式系统中包括的硬件设备以获取硬件设备数据。在一个示例中,可以查询网卡以确定其MAC地址和IP地址。在另一个示例中,可以查询存储卡以确定其大小和可用性。在又一个示例中,可以查询嵌入式系统控制的机械设备(如伺服机构),以提供诸如状态、位置等的数据。虽然描述了网卡和存储卡,但要理解,还可以查询其他与嵌入式系统相关联的设备。在步骤470收集的信息可以选择性地写入到用户可查看的位置上。
在步骤480,方法400可以访问与组件化操作系统相关联的注册表,以获取预安装的软件数据。例如,注册表可包含在嵌入式系统上已经预装、安装、更新、卸载以及作了其他处理的应用(如果有的话)的有关信息。在步骤480收集的信息可以选择性地写入到用户可查看的位置上。此处用语“注册表”指的是微软操作系统环境中的注册表。例如,注册表可以存储有关系统中硬件、软件和操作系统的设置信息。信息可以存储在注册表中,例如通过控制面板应用或与各种软件应用相关联的安装例程存储到注册表中。在一个示例中,可利用regedit实用程序来检查注册表。
在一个示例中,可以将整套方法步骤实现为存储在计算机可读介质上的处理器可执行指令和/或操作。因此,在一个实施例中,计算机可读介质可以存储处理器可执行指令,这些指令可运行以执行由配有Microsoft Windows XP Embedded版派生的组件化操作系统的嵌入式系统执行的方法。所述方法可包括通过访问与该嵌入式系统相关联的系统管理BIOS(SMBIOS),访问与该组件化操作系统相关联的应用编程接口(API),检查与该组件化操作系统相关联的注册表,检查与该组件化操作系统相关联的文件系统以及与该嵌入式系统中包含的设备通信,这样来从嵌入式系统获取描述性数据集。所获得的描述性数据集可以包含与嵌入式系统相关联的随机存取存储器(RAM)、与嵌入式系统相关联的闪速存储器、嵌入式系统的制造商、嵌入式系统的产品名称、嵌入式系统的序列号、与嵌入式系统相关联的只读存储器(ROM)、包括在嵌入式系统中的硬件设备等的有关信息。该方法还可以包括使该描述性数据可供用户利用,例如通过将该描述性数据集提供给组件化操作系统的查看组件,并提供便于从数据存储器获取该描述性数据集的编程接口。虽然以上方法描述成存储在计算机可读介质上,但要理解,本文所述的其他示例方法也可以存储在计算机可读介质上。
图5说明配有组件化操作系统的嵌入式系统500。系统500包括通过总线508以可操作方式连接的处理器502、存储器504、输入/输出端口510。在一个示例中,嵌入式系统500可以包括组件化嵌入式系统的信息检索逻辑530,信息检索逻辑530配置为帮助获取并提供有关嵌入式系统500各组件的系统信息。因此,组件化嵌入式系统信息检索逻辑530无论在嵌入式系统500中实现为硬件、固件、软件和/或它们的组合的形式,均可以提供用于从嵌入式系统500获取硬件数据的手段。硬件数据可以描述嵌入式系统500的硬件组件(如处理器502)。组件化嵌入式系统信息检索逻辑530还可以提供用于获取嵌入式系统500的固件数据的手段,其中固件数据描述嵌入式系统500的固件组件(例如ROM BIOS);并且还可以提供获取嵌入式系统500的软件数据的手段,其中所述软件数据描述嵌入式系统500的软件组件(例如作为进程514运行的应用)。组件化嵌入式系统信息检索逻辑530可以获取硬件、固件以及软件数据,同时它还可以提供将硬件数据、固件数据和软件数据提供到用户可访问的单个位置上的手段。例如,组件化嵌入式系统信息检索逻辑530可以将硬件、固件以及软件数据置于用户可读取的文件中,可以将该数据传递到查看小程序,可以将该数据存储在API可访问的存储器中,如此等等。
处理器502可以是包括双微处理器和其他多处理器体系结构的各种处理器。存储器504可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括但不限于ROM、PROM、EPROM、EEPROM等。易失性存储器可以包括但不限于RAM、同步RAM(SDRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDARM(DDR SDRAM)。
例如,存储器504可以存储进程514和/或数据516。存储器504可以存储控制并分配嵌入式系统500的资源的组件化操作系统。组件化操作系统可以由例如Microsoft Windows XP Embedded版派生得到(基于其构建)。在一个示例中,嵌入式系统信息检索逻辑530可以配置为获取/提供有关诸如存储器504等单元的数据(例如大小、类型、位置)。
总线508可以是单条内部总线互连体系结构和/或其他总线或网状体系结构。虽然显示了单条总线,但要理解,嵌入式系统500可以利用未示出的其他总线(例如PCIE、SATA、Infiniband、1394、USB、Ethernet)与各种设备、逻辑和外部设备通信。总线508可以属于各种类型,包括但不限于存储器总线或存储控制器、外部设备总线或外部总线、纵横制交换总线和/或局部总线。局部总线可以属于各种类型,包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MSA)总线、扩展ISA(EISA)总线、外设互连(PCI)总线、通用串行(USB)总线以及小型计算机系统接口(SCSI)总线。
嵌入式系统500可以在网络环境中运行,因此可以通过i/o接口518和/或i/o端口510连接到网络设备520。通过网络设备520,嵌入式系统500可以与网络交互。通过网络,嵌入式系统500可以在逻辑上连接到远程计算机。可以与嵌入式系统500交互的网络包括但不限于局域网(LAN)、广域网(WAN)和其他网络。网络设备520可以连接到LAN技术,LAN技术包括但不限于:光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网(IEEE 802.3)、令牌环(IEEE 802.5)、无线计算机通信(IEEE 802.11)、蓝牙(IEEE802.15.1)、Zigbee(IEEE 802.15.4)等。同样地,网络设备520可以连接到WAN技术,WLN技术包括但不限于:点到点链路、电路交换网如综合业务数字网(ISDN)、分组交换网和数字用户线(DSL)。在一个示例中,嵌入式系统信息检索逻辑530可以配置为从网络设备520获取数据(例如MAC地址、IP地址)。在另一个示例中,嵌入式系统信息检索逻辑530可以配置为存储系统数据,并通过网络设备520使之可供远程计算机利用。
参考图6,其中显示了应用编程接口(API)600,用于提供对系统610的访问,以获取并提供与配有组件化操作系统的嵌入式系统相关联的系统信息。API600可由例如程序员620和/或进程630用于获取对系统610所执行的处理的访问权。例如,程序员620可以编写程序来访问系统610(例如,调用其操作、监视其操作、控制其操作),其中,存在API600便于编写所述程序。程序员620无需了解系统600的内部情况,而只需了解与系统610的接口。这样便于封装系统610的功能,同时开放该功能以供使用。同样地,可以采用API600来向系统610提供数据值和/或从系统610检索数据值。例如,获取系统信息的进程630可以借助API600,例如利用API600中提供的调用将系统信息提供给系统610。
在一个示例中,可以将应用编程接口集存储在计算机可读介质上。程序员、逻辑等可以利用这些接口来取得对系统610的访问权,以便获取并提供与配有组件化操作系统的嵌入式系统相关联的系统信息。这些接口可以包括但不限于:用于传送标识待收集系统数据的第一标识符的第一接口640和用于传送标识待提供系统数据的第二标识符的第二接口650。例如,第一标识符可以指示要获取的与嵌入式系统相关联的RAM的有关信息。有关可采用一个SMBIOS调用获取的可用RAM的信息(例如其大小、速度、类型、逻辑)可能几个部分。因此,第二标识符可能有助于选择所得数据中的一个元素(例如RAM大小),以便提供。
图7说明一种示例方法700,它涉及与收集并显示描述配有组件化操作系统的嵌入式系统的单元的数据项相关联的操作。方法700可以在包括显示器和选择装置、具有图形用户界面的计算机系统中执行。方法700可以包括在显示器上提供数据项集合并从中进行选择。因此,在一个示例中,方法700可以包括在步骤710检索数据项集合,其中一个数据项表示与收集和/或显示描述嵌入式系统单元(如RAM、处理器、操作系统、加载的应用)的数据项相关联的操作。方法700还可以包括在步骤720将该数据项集合显示在显示器上,并在步骤730接收表示选择装置选择数据项的数据项选择信号。例如,用户可以指示二十个可能的系统信息片段中要获取并显示的十项的子集。可以响应例如鼠标点击、按键、语音命令等来接收数据项选择信号。在740,响应数据项选择信号,方法700可以启动与所选数据项相关联的数据收集和/或显示操作。在一个示例中,在步骤750就是否要处理另一个数据项选择信号进行判断。如果判断结果为是,则处理进程返回到730,否则方法700可以完成。因此,方法700可有助于识别要获取和/或显示的系统信息。例如,方法700可有助于显示可获得的系统信息集,选择性地获取该系统信息集中选定的子集以及将获得的系统信息提供给负责显示数据的小程序。
虽然通过描述示例说明了一些示例系统、示例方法等,并且相当详细地描述了这些示例,但申请人的本意并非要将所附权利要求书的范围局限于所述具体细节。当然,不可能为描述本文所述系统、方法等而描述组件或整套方法步骤的每种可设想的组合形式。本领域技术人员显然容易理解其他优点和修改。因此,本发明不限于所示和所述的具体细节、代表性装置以及说明性示例。因此,本申请旨在涵盖落于所附权利要求书范围的各种改动、改进和变化。再者,以上描述不用于限制本发明范围。确切地说,本发明范围应由所附权利要求书及其等同物来限定。
就本说明书或权利要求书中所用术语“包括”的范围而言,其含义是包罗广泛的,类似于在权利要求中用作过渡词汇时术语“包括(comprising)”的含义解释。此外,就说明书或权利要求书中所用术语“或”(例如A或B)的程度而言,其含义是“A或B或二者兼有”。当申请人旨在指示“仅A或仅B但并非二者兼有”时,会采用术语“仅A或仅B但并非二者兼有”。因此,术语“或”的使用是包罗广泛而非排它性的。参见Bryan A.Garner所著《现代法律用语词典624》(A Dictionary of Modern Legal Usage 624)(1995年第二版)。
Claims (10)
1.一种系统(100),包括:
收集逻辑(110),其配置为从配有组件化操作系统(130)的嵌入式系统(120)收集系统数据并将所述系统数据存储在数据存储器器(140)中;以及
访问逻辑(150),其配置为提供对所述数据存储器器(140)中存储的所述系统数据的访问。
2.如权利要求1所述的系统(100),其特征在于:所述系统数据包括涉及:与所述嵌入式系统(120)相关联的随机存取存储器(RAM)、与所述嵌入式系统(120)相关联的闪速存储器、所述嵌入式系统(120)的制造商、所述嵌入式系统(120)的产品名称、所述嵌入式系统(120)的序列号、与所述嵌入式系统(120)相关联的只读存储器(ROM)、所述组件化操作系统(130)以及包括在所述嵌入式系统(120)中的硬件设备的信息。
3.如权利要求2所述的系统(100),其特征在于:所述收集逻辑(110)配置为通过如下方式收集所述系统数据:访问与所述嵌入式系统(120)相关联的系统管理BIOS(SMBIOS);访问与所述组件化操作系统(130)相关联的应用编程接口(API);检查与所述组件化操作系统(130)相关联的注册表;检查与所述组件化操作系统(130)相关联的文件系统;检查与所述组件化操作系统(130)相关联的文件以及与与所述嵌入式系统(120)相关联的硬件设备通信。
4.如权利要求1所述的系统(100),其特征在于:所述收集逻辑(110)以XML文件形式将所述系统数据存储在所述数据存储器器(140)中。
5.如权利要求1所述的系统(100),其特征在于:所述收集逻辑(110)和所述访问逻辑包括构成所述嵌入式系统(120)一部分的硬件组件。
6.如权利要求1所述的系统(100),其特征在于:所述组件化操作系统(130)是Microsoft Windows XP Embedded版。
7.如权利要求6所述的系统(100),其特征在于:所述访问逻辑(150)将所述系统数据提供给Microsoft Windows XP Embedded版所提供的微软系统信息控制面板小程序中的支持信息窗口。
8.一种在嵌入式系统中执行的计算机可执行方法(300),包括如下步骤:
从所述嵌入式系统中获取(310)描述性数据集,其中所述嵌入式系统配有组件化操作系统,以及所述描述性数据描述所述嵌入式系统的硬件、软件或固件组件;以及
使所述描述性数据集可供用户利用(320)。
9.如权利要求8所述的方法(300),其特征在于:获取(310)所述描述性数据集的所述步骤包括如下步骤:访问与所述嵌入式系统相关联的系统BIOS(SMBIOS);访问与所述组件化操作系统相关联的应用编程接口(API);检查与所述组件化操作系统相关联的注册表;检查与所述组件化操作系统相关联的文件系统以及与所述嵌入式系统所包含的设备通信。
10.如权利要求9所述的方法(300),其特征在于:使所述描述性数据集可供用户利用的所述步骤包括将所述描述性数据集提供给所述组件化操作系统的查看组件;所述查看组件包括从MicrosofWindows XP Embedded版派生的组件化操作系统内微软系统信息控制面板小程序中的支持信息窗口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/839,439 US20050251641A1 (en) | 2004-05-05 | 2004-05-05 | Componentized embedded system information retrieval |
US10/839439 | 2004-05-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1694064A true CN1694064A (zh) | 2005-11-09 |
CN100565452C CN100565452C (zh) | 2009-12-02 |
Family
ID=35240694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100701322A Expired - Fee Related CN100565452C (zh) | 2004-05-05 | 2005-04-30 | 组件化嵌入式系统信息检索系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050251641A1 (zh) |
CN (1) | CN100565452C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294525A (zh) * | 2012-02-27 | 2013-09-11 | 国际商业机器公司 | 利用用户自定义函数进行数据库查询的方法和系统 |
CN110851240A (zh) * | 2019-11-18 | 2020-02-28 | 北京小米移动软件有限公司 | 功能调用方法、装置及存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155759A1 (en) * | 2004-12-29 | 2006-07-13 | Yahoo! Inc. | Scalable cache layer for accessing blog content |
US8219584B2 (en) * | 2005-12-15 | 2012-07-10 | At&T Intellectual Property I, L.P. | User access to item information |
US20070143217A1 (en) * | 2005-12-15 | 2007-06-21 | Starr Robert J | Network access to item information |
US20080028034A1 (en) * | 2006-07-25 | 2008-01-31 | Andrew Currid | Method for mapping an iscsi target name to a storage resource based on an initiator hardware class identifier |
US7610483B2 (en) * | 2006-07-25 | 2009-10-27 | Nvidia Corporation | System and method to accelerate identification of hardware platform classes |
US8909746B2 (en) * | 2006-07-25 | 2014-12-09 | Nvidia Corporation | System and method for operating system installation on a diskless computing platform |
US9003000B2 (en) * | 2006-07-25 | 2015-04-07 | Nvidia Corporation | System and method for operating system installation on a diskless computing platform |
US8140406B2 (en) * | 2007-01-18 | 2012-03-20 | Jerome Myers | Personal data submission with options to purchase or hold item at user selected price |
CN109298890A (zh) * | 2017-07-25 | 2019-02-01 | 西安中兴新软件有限责任公司 | 一种配置ndis设备的方法及装置 |
CN113434484A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 描述设备的功能的方法、系统、装置与电子装置 |
CN115033230B (zh) * | 2022-06-27 | 2024-02-27 | 中国电力科学研究院有限公司 | 嵌入式硬件平台的驱动程序生成方法、装置、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519638B1 (en) * | 1999-06-01 | 2003-02-11 | International Business Machines Corporation | Object-oriented framework for the generic collection of system data |
US7143150B1 (en) * | 1999-12-09 | 2006-11-28 | Ricoh Company, Ltd. | Method of configuring a computer to include the available options of a printer |
US6961141B2 (en) * | 2000-02-25 | 2005-11-01 | Eastman Kodak Company | Method and electronic apparatus for formatting and serving inkjet image data |
AU2002211349A1 (en) * | 2000-10-03 | 2002-04-15 | Sun Microsystems, Inc. | Http transaction monitor with capacity to replay in debugging session |
EP1233333A1 (en) * | 2001-02-19 | 2002-08-21 | Hewlett-Packard Company | Process for executing a downloadable service receiving restrictive access rights to al least one profile file |
US6952702B2 (en) * | 2001-10-15 | 2005-10-04 | American Megatrends, Inc. | Apparatus and methods for managing the display of SMBIOS data relating to the configuration and components of a computing system |
US8244903B2 (en) * | 2003-12-22 | 2012-08-14 | Emc Corporation | Data streaming and backup systems having multiple concurrent read threads for improved small file performance |
-
2004
- 2004-05-05 US US10/839,439 patent/US20050251641A1/en not_active Abandoned
-
2005
- 2005-04-30 CN CNB2005100701322A patent/CN100565452C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294525A (zh) * | 2012-02-27 | 2013-09-11 | 国际商业机器公司 | 利用用户自定义函数进行数据库查询的方法和系统 |
US9244999B2 (en) | 2012-02-27 | 2016-01-26 | International Business Machines Corporation | Database query using a user-defined function |
CN110851240A (zh) * | 2019-11-18 | 2020-02-28 | 北京小米移动软件有限公司 | 功能调用方法、装置及存储介质 |
CN110851240B (zh) * | 2019-11-18 | 2022-04-29 | 北京小米移动软件有限公司 | 功能调用方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20050251641A1 (en) | 2005-11-10 |
CN100565452C (zh) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100565452C (zh) | 组件化嵌入式系统信息检索系统和方法 | |
CN100476721C (zh) | 提供模块化本机方法启用系统的方法、和装置和系统 | |
US7765527B2 (en) | Per thread buffering for storing profiling data | |
US9489189B2 (en) | Dynamically generate and execute a context-specific patch installation procedure on a computing system | |
US8250590B2 (en) | Apparatus, system, and method for seamless multiple format metadata abstraction | |
CN1881178A (zh) | 在多模式应用中同步视觉和语音事件的方法和系统 | |
CN1811712A (zh) | 通过运行时类型推断的有效数据访问 | |
CN110990019B (zh) | 一种Java类分析方法、装置、存储介质及电子设备 | |
CN101777006A (zh) | 优化虚拟机环境中的应用程序接口的方法和装置 | |
CN110134379B (zh) | 计算机系统、编程方法及非暂态计算机可读介质 | |
US20070234315A1 (en) | Compiling an application by cluster members | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN112085217A (zh) | 部署人工智能服务的方法、装置、设备及计算机介质 | |
CN112615758B (zh) | 一种应用识别方法、装置、设备及存储介质 | |
CN111813517B (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
US10387124B2 (en) | System and method for creating domain specific language | |
CN1924813A (zh) | 管理任务实例的装置、系统和方法 | |
CN101030135A (zh) | 一种在共享内存中存储c++对象的方法及装置 | |
US7761460B1 (en) | Systems and methods that utilize a standard database interface to access data within an industrial device | |
CN1506808A (zh) | 用于在调试集成可执行代码时映射调试信息的方法和装置 | |
CN100337198C (zh) | 一种移动通信设备应用程序处理系统 | |
KR20050051234A (ko) | 에스시에이 기반 시스템에서의 소프트웨어 패키지디스크립터 파일 구조 및 그의 파일 파싱 방법 | |
CN112766470A (zh) | 特征数据处理方法、指令序列生成方法、装置及设备 | |
CN112905381B (zh) | 用于获取调用栈中栈帧信息的方法、装置、设备和介质 | |
CN1932760A (zh) | 开发和执行平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091202 Termination date: 20140430 |