CN1673957B - 用于提供通用操作系统的方法和系统 - Google Patents

用于提供通用操作系统的方法和系统 Download PDF

Info

Publication number
CN1673957B
CN1673957B CN2005100519194A CN200510051919A CN1673957B CN 1673957 B CN1673957 B CN 1673957B CN 2005100519194 A CN2005100519194 A CN 2005100519194A CN 200510051919 A CN200510051919 A CN 200510051919A CN 1673957 B CN1673957 B CN 1673957B
Authority
CN
China
Prior art keywords
operating system
assembly
dependence
general
application program
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.)
Expired - Fee Related
Application number
CN2005100519194A
Other languages
English (en)
Other versions
CN1673957A (zh
Inventor
D·J·德索扎
M·R·蒋
P·M·威尔森
R·A·普莱彻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1673957A publication Critical patent/CN1673957A/zh
Application granted granted Critical
Publication of CN1673957B publication Critical patent/CN1673957B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02GINSTALLATION OF ELECTRIC CABLES OR LINES, OR OF COMBINED OPTICAL AND ELECTRIC CABLES OR LINES
    • H02G7/00Overhead installations of electric lines or cables
    • H02G7/05Suspension arrangements or devices for electric cables or lines
    • H02G7/053Suspension clamps and clips for electric overhead lines not suspended to a supporting wire
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02GINSTALLATION OF ELECTRIC CABLES OR LINES, OR OF COMBINED OPTICAL AND ELECTRIC CABLES OR LINES
    • H02G7/00Overhead installations of electric lines or cables
    • H02G7/02Devices for adjusting or maintaining mechanical tension, e.g. take-up device

Abstract

描述了用于提供支持各种操作系统配置的通用操作系统特征集的方法和系统。通用操作系统特征集被组织起来以提供可应用于众多装置和配置方法的最小存储器覆盖区。通用操作系统包括提供对可靠性生效的集成组件选择的操作系统组件之间的依赖性。通用操作系统包括为各种操作系统场景提供功能性的应用程序接口组。

Description

用于提供通用操作系统的方法和系统
技术领域
本发明涉及用于提供支持各种操作系统配置的通用操作系统特征集的方法和系统。
背景技术
计算机操作系统是整体式的,并且包括组件与模块之间的许多复杂的相互依赖性。操作系统组件基于等级关系互相依赖。在等级上层中的组件比在下层中的组件所依赖的组件数量更多些。属于等级下层的组件不依赖于更高层的组件。其结果是,操作系统中的下层组件可访问的操作系统可用服务的数量较少些。
随着操作系统规模的增长,测试变得越来越昂贵。当操作系统包括大量的复杂依赖组件时,去除或更改一个组件的效果就难以理解了。当组件之间的依赖性数量减少时,测试的有效性即得到改进。
大量复杂的依赖性是在操作系统开发周期中缺乏依赖性管理的结果。需要一种途径来建立具有有限数量的依赖组件的通用操作系统。
发明内容
描述了用于提供支持各种操作系统配置的通用操作系统特征集的方法和系统。对通用操作系统特征集加以组织以提供可用于众多装置和配置方法的最小存储器覆盖区(footprint)。通用操作系统包括提供对可靠性验证的集成组件加以选择的操作系统组件之间的依赖性。通用操作系统包括为各种操作系统场景提供功能性的应用程序接口(API)集。
本发明的方法包括定义操作系统组件;标识操作系统组件的依赖性;创建组件组使一个组中的组件共享共同的依赖性;建立组件组之间的依赖性规则;以及实施依赖性规则。
用来提供通用操作系统的示例性系统包括硬件抽象层(hardware abstractionlayer)、内核(kernel)、操作系统动态链接库层、子系统动态链接库层、以及网络层。硬件抽象层提供与硬件装置的交互。内核依赖于硬件抽象层,并向操作系统组件提供基本服务。操作系统动态链接库、子系统动态链接库、以及网络层都依赖于内核。操作系统动态链接库层包括用来执行操作系统应用程序的功能库。子系统动态链接库支持应用程序接口,使得应用程序接口受基本操作系统组件的限制。网络层支持操作系统应用程序的网络通信功能性。
附图说明
图1显示了本发明可在其中实现的示例性计算环境。
图2示出了根据本发明通用操作系统的示例性功能框图。
图3是根据本发明示出用来把整体式操作系统转换成通用操作系统的过程的操作流程图.
具体实施方式
简言之,本发明涉及用于提供支持各种操作系统配置的通用操作系统特征集的方法和系统。通用操作系统特征集被组织成提供可应用于众多装置和配置方法的最小存储器覆盖区。通用操作系统包括提供对可靠性生效的集成组件选择的操作系统组件之间的依赖性。通用操作系统包括为各种操作系统场景提供功能性的应用程序接口(API)集。
说明性操作环境
参照图1,用来实现本发明的一示例性系统包括诸如计算装置100的计算装置。基本配置包括虚线102内的那些组件。在基本配置中,计算装置100通常包括至少一个处理单元104和系统存储器106。取决于计算装置的准确配置和类型,系统存储器106可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等等)、或两者的某些组合。系统存储器106通常包括操作系统108、一个或多个应用程序110,也可包括程序数据112。
计算装置100可具有附加特征或功能。例如,计算装置100还可包括诸如磁盘、光盘、或可移动闪存模块的其它数据存储装置(可移动和/或不可移动)。这种附加存储器在图1由可移动存储器114和不可移动存储器116示出。计算机存储介质可以包括用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。系统存储器106、可移动存储114和不可移动存储116都是计算机存储介质的示例。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化通用盘(DVD)或其它光学存储器、磁卡、磁带、磁盘存储器或其它磁性存储装置、或可用来存储所需信息并可由计算装置100访问的任何其它介质。任何这种计算机存储介质可以是装置100的一部分。计算装置100还可具有诸如键盘、鼠标、笔、语音输入装置、触摸输入装置等等的输入装置118。还可包括诸如显示器、扬声器、打印机等等的输出装置120。这些装置都是本领域技术人员众所周知的,在此无需赘述。
计算装置100还可包含使装置能与其它计算装置124诸如经网络进行通信的通信连接122。通信连接122是通信介质的一个示例。通信介质通常体现为计算机可读指令、数据结构、程序模块、或其它诸如载波或其它传输机制的已调制数据信号中的信号,并包括任何信息传递介质。作为示例,而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。在此所用的术语计算机可读介质包括存储介质和通信介质。
通用操作系统
通用操作系统提供可在每个操作系统配置中使用的可靠基层。通用操作系统代表最少的基本应用程序接口(API)集。任何写入API集的软件也兼容该操作系统的所有配置。例如,对照API集写成的测试代码在所有操作系统条件下都是可执行的。可应用测试过程来对操作系统及其它目标平台测试性能、强度以及完整的API覆盖面。用来测试操作系统组件的代码取决于基于通用操作系统的测试平台。因而,可轻松开发测试代码并能保证操作系统的可靠性。
通过对所有嵌入配置共享的稳定平台的集中测试,通用操作系统增加了嵌入运行时的一般可靠性.测试过程可拆分成组件,从而可测试操作系统组件的核心组.通过添加更多组件可扩展测试.例如,每个操作系统组件可单独进行测试以确定每个组件是否可与核心的操作协调一致.
通用操作系统提供基于组件的工程工具(engineering tool)。例如,可使用通用操作系统来建立最小的验证组件清单的可能配置(即最小覆盖区)。通用操作系统提供积极的覆盖区削减,导致嵌入原始设备制造商(OEM)的材料成本下降。通用操作系统的可靠性和最小覆盖区很适合创建固定功能服务器。创建固定功能服务器的重要优点是降低客户的总体持有成本。通用操作系统的组件可由对操作系统结构上层具有依赖性的组件提供服务(即置入缺陷修改、被较新版本替换等等)。
基于验证通用操作系统的各种分析,通用操作系统改进围绕核心操作系统(包括存储器、启动性能、以及API集)的文档。经改进的文档提高了OEM和独立的软件供应商对操作系统特性的理解。
通用操作系统作为预启动(pre-boot)操作系统进行操作。通过把操作系统的预建定制图像置入目标硬件来安装通用操作系统。一旦通用操作系统被安装到计算装置中,通用操作系统应用程序就可安装位于通用操作系统上层的操作系统剩余部分,或安装操作系统的不同版本。
通过能够从诸如数字化压缩盘(CD)的只读介质启动,通用操作系统可协助系统复原。可把整个操作系统安装在CD上。如果安装在硬盘上的系统崩溃,通过用CD上操作系统重新启动机器,可复原操作系统。然而,通过重新启动安装在CD上最小的操作系统子集,可更快地复原系统。通用操作系统提供一个复原安装在硬盘上的操作系统的平台。在一实施例中,通用操作系统可从插入通用串行总线端口的可移动闪存模块启动。
图2示出了根据本发明通用操作系统的功能框图。通用操作系统200是包括所有操作系统配置都需要的核心操作系统特征的基元。然而,通用操作系统200不包括操作系统的任何硬件体系结构专用特征。通用操作系统200代表其上可建立操作系统将来版本的基层。通用操作系统200还提供用来开发其它操作系统产品的标准基元。
通用操作系统的核心功能性由硬件抽象层(HAL)202和内核204提供。HAL202是使通用操作系统200能与一般或抽象层上硬件装置交互的编程层。可从内核204或装置驱动软件调用HAL 202。
内核204是通用操作系统200的中央模块。当启动通用操作系统200时,内核204是载入的第一个组件。载入后,内核204保留在主存储器中。内核204提供通用操作系统200中其它组件所需要的基本服务。内核204依赖于HAL 202。内核包括并依赖于装置驱动软件206和文件系统208。文件系统208提供使其它操作系统组件和应用程序能与存储器文件交互而成为文件群集的抽象。内核204和其它装置驱动软件的一部分从文件系统208载入。
装置驱动软件206包括控制诸如打印机、盘驱动器或键盘的装置的程序.在一实施例中,需要有装置驱动软件206才可创建包含通用操作系统200的可启动系统.可使用某些类的装置驱动软件来创建通用操作系统200的可启动版本.这些类包括系统装置、存储装置、用户接口装置以及网络装置的装置驱动软件.然而,装置驱动软件的类不是通用操作系统基元的一部分.装置驱动软件类是后来通过建立过程添加的以创建可安装的通用操作系统.
内核204之上的编程层包括操作系统动态链接库(DLL)210、子系统DLL 212、以及网络层214。操作系统DLL 210包括可由应用程序使用的操作系统支持的可执行功能库。例如,
Figure G2005100519194D00051
NT DLL是
Figure G2005100519194D00052
NT应用程序使用的可执行功能库。DLL可由若干个应用程序同时使用。某些DLL随操作系统提供,并对任意应用程序可用。其它DLL可为特定应用程序编写,并与该应用程序一起被载入。
子系统DLL 212提供对为应用程序提供功能的API的支持。在一实施例中,API可以是WIN 32。通用操作系统200将API限制到基本组件。通用操作系统200所支持的基本API集包括存储器管理(KERNEL)216、图形设备接口(GDI)218、用户接口因素(USER)220、以及安全和加密应用程序(ADVAPI)222。
KERNEL 216支持许多不同存储器管理功能,包括原子功能、通信端口支持、控制台支持、调试支持、装置I/O、DLL功能、错误处理、文件I/O、文件映射、文件系统功能、处理和等效功能、邮件槽(slot)、存储器管理、国家语言支持、经命名管道(pipe)、过程和线程、资源载入、字符串、结构化例外处理、同步、系统信息、时间功能、工具帮助功能、万国码(unicode)和字符集。
GDI 218所支持的功能包括以下操作系统特征:位图、画笔、剪辑、色彩、装置上下文、填充形状、字体和文本、线条和曲线、元文件、路径、笔、打印和区域。
USER 220支持以下操作系统特征:按钮功能和消息、^符号管理、剪贴板支持、组合框功能、坐标空间和变换功能、光标管理、对话框消息、动态数据交换、动态数据交换管理、编辑控制、勾、图标载入、键盘加速器、键盘输入、列表框控制、菜单控制、视窗消息和消息队列、鼠标输入、多个显示器支持、多文档界面、涂画和绘制、原始输入、矩形功能、资源载入(例如图标)、滚动条、字符串功能、系统信息功能、注销、定时器功能、视窗管理、视窗类登记、以及视窗属性功能。
以下功能由ADVAPI 222支持:访问检查、安全描述器相关功能、过程管理功能、登记功能、服务管理功能、系统关闭功能、以及事件追踪功能。
网络层214提供功能使子系统DLL 212中的应用程序能与网络通信。网络层214包括传输控制协议/网际协议(TCP/IP)堆栈224、动态主机配置协议(DHCP)客户机226、自动专用IP寻址(AutoIP)228、域名系统(DNS)客户机230、以及TCP/IP上的网络基本输入输出操作系统(NetBT)232。通用操作系统200使用网络层214来测试核心组件的网络属性。
TCP/IP堆栈224支持包括用来连接因特网上客户机的通信协议。TCP/IP是用来在网络上传输数据的标准。TCP/IP堆栈224实现IP的当前版本(IPv4)以及诸如Ipv6的将来IP版本。IP安全(IPSec)集成于TCP/IP堆栈224内。IPSec是支持IP层上信息包安全交换的一组协议。
TCP/IP堆栈224实现若干个协议,包括用户数据报协议(UDP)、因特网控制信息协议(ICMP)、以及地址解析协议(ARP)。UDP提供在IP网络上发送和接收数据报的直接方式。ICMP支持包含错误、控制、以及指示消息的信息包。ARP把IP地址转换成物理地址。TCP/IP堆栈也支持IP多点传送。
DHCP客户机226提供用来从DHCP服务器把动态IP地址分配给网络上的装置的协议.DHCP客户机226包含用来获取多点传送组地址分配的多点传送动态客户机应用程序协议.AutoIP 228提供功能性,使得DHCP客户机226在得不到DHCP服务器时,自动地自分配IP地址。
NetBT 232是为局域网(LAN)添加专用功能的API。如果在网络上得不到DNS服务器,则通过广播名字解析经由NetBT 232来定位其它计算机。NetBT 232还支持需要NetBT接口和名字解析的旧版应用程序。
通用操作系统200在DLL 210、212和网络层214之上的各层包括Winsock(Windows软插座接口)234、登录客户机236、本地安全验证服务器(LSASS)238、组件对象模型(COM)240、运行库(RTL)242、服务控制管理器(SCM)模块、会话管理服务器(SMSS)246、即插即用(PnP)服务器248、以及远程过程调用(RPC)250。外壳252是通用操作系统200的最外层。外壳252是任选的,由于应用程序可替代其位置。
Winsock 234是用来开发通过TCP/IP协议可与其它计算装置通信的程序的API。Winsock功能性包括在通用操作系统200中是因为几乎每个计算装置都有网络接口。
登录客户机236提供功能性,使得本地用户或网络用户能够登录通用操作系统200。登录客户机236包括对照本地安全账户管理器(SAM)验证了用户后建立用户身份所需的最少功能。登录客户机236是通用操作系统200的任选组件,因为并不是所有的装置都需要用户登录。
LSASS 238提供诸如密码学和数字化证书的安全应用的基本功能性。LSASS238根据SAM进行验证并支持本地登录能力。LSASS 238从登录客户机236接收验证请求,并调用适当的验证包以执行账户校验和确认。关联于登录客户机236的用户接口(UI)与登录客户机/LSASS过程交互以登录用户。通用操作系统200可用本地登录所需的最少量的安全包启动。
COM 240是用来建立基于组件的应用程序的软件构架。COM对象是各自都有唯一标识的离散组件,它们揭示允许应用程序和其它组件访问其特征的接口。RTL242包括在执行期间绑定一程序的例程库。SCM模块244控制服务的开始和终止。由于DHCP 226和DNS 230是作为服务操作的,所以SCM模块244是必需的。
SMSS 246是用来管理多个子系统会话和用户会话的会话管理器。PnP管理器248支持控制检测到的硬件所需的驱动程序的即插即用安装。PnP管理器248是硬件相关特征但不是体系结构特异性的。由于某些装置是不兼容PnP的,所以PnP管理器248是可任选组件。
RPC 250是使一台计算机上的程序能执行在服务器上的或者在同一计算机的不同过程上的代码的协议。使用RPC 250,系统开发者不需要为服务器开发专用过程。客户机程序向服务器发送带有适当变量的消息,并且服务器返回包含被执行代码结果的消息。
通用操作系统200可作为开发工具用于组件化测试和基于组件的单元测试。组件化涉及理解和减少组件之间的依赖性以使操作系统的整体性弱化。通过提供帮助操作系统从整体式系统转换成组件式系统的框架,组件分组改进了操作系统的可服务性。通用操作系统200提供了组件式系统的高可靠性的基本操作系统。
通用操作系统200通过定义组件组所倚赖的基本操作系统层来创建组件组。把组件分成组消除了常规操作系统的整体式结构(monolithic structure).取决于组件在操作系统中所驻留的层,可提供适当的标题子集,使组件不依赖于上层的组件.
用来创建通用操作系统的过程参照图3进行描述。通用操作系统通过管理操作系统组件之间的依赖性来创建。过程从方框300开始,在那里标准操作系统有许多互相依赖的组件。在方框310,通过确定每个组件的功能来提供组件定义。过程移到方框320。
在方框320,通过确定每个组件在操作系统整体式结构中的位置来标识组件的相互依赖性。过程移到方框330。
在方框330,标识那些代表有含义基元的用来使目标场景可行的组件组。每个组中的组件共享共同的依赖性。组件组的创建解除了组件之间的依赖性。例如,每个USER、GDI和KERNEL DLL中的组件都可能依赖于外壳中的另一组件。在此例中,通过在外壳中创建一个组件组(例如,新的DLL),这三个依赖性即被消除。新的DLL包括执行三个组件所需要的最少数量的API。因而,使用新DLL中的API子集可执行每个组件。在另一实施例中,通过更改源代码使上层依赖性不再存在,来解除组件间相互依赖性。过程继续到方框340。
在方框340,建立了组件组之间的依赖性规则。依赖性规则确定对于每个组件和组件组哪个依赖性是适当的。依赖性规则使操作系统组件之间存在的依赖性数量减为最少。过程移到方框350。
在方框350,实施组件组之间的依赖性规则。依赖性规则的实施防止组件有不需要的依赖性。依赖性规则的实施保证DLL的有效使用。过程在方框360结束。
以上说明书、实例和数据提供了对本发明组件的使用和制造的完整描述。由于可制作本发明的许多实施例而不背离本发明的精神和范围,本发明驻留于所附权利要求书中。

Claims (23)

1.一种提供通用操作系统的方法,其特征在于,包括:
定义操作系统组件;
通过确定所述操作系统组件在操作系统结构中的位置来标识所述操作系统组件的依赖性;
创建组件组,使得一个组中的操作系统组件共享共同依赖性;
建立所述组件组之间的依赖性规则,以确定对于每个组件和组件组来说哪些依赖性是适当的;以及
实施所述依赖性规则,使得操作系统组件的执行涉及最少数量的其它操作系统组件的执行,其中所述通用操作系统提供被配置成支持所述操作系统组件的基本操作系统层。
2.如权利要求1所述的方法,其特征在于,创建组件组减少了所述操作系统组件之间的依赖性。
3.如权利要求1所述的方法,其特征在于,通过提供帮助将所述操作系统从整体式系统转换成组件式系统的框架,创建组件组改进了操作系统的可服务性。
4.如权利要求1所述的方法,其特征在于,创建组件组还包括提供标题子集,使得操作系统组件之间的依赖性减少。
5.一种提供通用操作系统的系统,其特征在于,包括:
用于定义操作系统组件的装置;
用于通过确定所述操作系统组件在操作系统结构中的位置来标识所述操作系统组件的依赖性的装置;
用于创建组件组的装置,使得一个组中的操作系统组件共享共同依赖性;
用于建立所述组件组之间的依赖性规则的装置,以确定对于每个组件和组件组来说哪些依赖性是适当的;以及
用于实施所述依赖性规则的装置,使操作系统组件的执行涉及最少数量的其它操作系统组件的执行,其中所述通用操作系统提供被配置成支持所述操作系统组件的基本操作系统层。
6.如权利要求5所述的系统,其特征在于,还包括被安排成提供所述操作系统组件和硬件装置之间的接口的硬件抽象层。
7.如权利要求5所述的系统,其特征在于,还包括被安排成向所述操作系统组件提供服务的内核。
8.如权利要求5所述的系统,其特征在于,还包括具有用来执行操作系统应用程序的功能的操作系统动态链接库。
9.如权利要求5所述的系统,其特征在于,还包括被安排成支持应用程序接口使得所述应用程序接口受基本操作系统组件的限制的子系统动态链接库层。
10.如权利要求5所述的系统,其特征在于,还包括网络层,其被安排成支持操作系统应用程序的网络通信功能性,其还被安排成测试所述操作系统组件的网络属性。
11.如权利要求5所述的系统,其特征在于,所述通用操作系统包括:
一硬件抽象层,其被安排成提供操作系统组件和硬件装置之间的接口;
一内核,其依赖于所述硬件抽象层、并被安排成提供对所述操作系统组件的服务;
一操作系统动态链接库,其依赖于所述内核并包括用来执行操作系统应用程序的功能库;
一子系统动态链接库,其依赖于所述内核并被安排成支持应用程序接口使所述应用程序接口受基本操作系统组件的限制;以及
一网络层,其依赖于所述内核并被安排成支持操作系统应用程序的网络通信功能性。
12.如权利要求11所述的系统,其特征在于,所述内核包括:
一文件系统,其被安排成从存储介质中载入数据;以及
用来控制所述硬件装置的装置驱动软件。
13.如权利要求11所述的系统,其特征在于,所述应用程序接口包括用于存储器管理、通信设备接口、用户接口要素、通信程序、以及安全和加密应用的动态链接库。
14.如权利要求11所述的系统,其特征在于,所述网络层包括传输控制协议/网际协议(TCP/IP)栈、动态主机配置协议客户机、自动专用IP寻址、域名系统客户机、以及TCP/IP上的网络基本输入输出操作系统。
15.如权利要求11所述的系统,其特征在于,所述网络层测试所述操作系统组件的网络属性。
16.如权利要求11所述的系统,其特征在于,还包括一登录客户机,其被安排成提供用来许可用户登录所述通用操作系统的功能性。
17.如权利要求11所述的系统,其特征在于,还包括提供安全应用基本功能性的本地安全验证服务器。
18.如权利要求11所述的系统,其特征在于,还包括一组件对象模块,其被安排成提供用来建立基于组件的应用程序的软件体系结构。
19.如权利要求11所述的系统,其特征在于,还包括一运行库,其包括在执行时被绑定在一程序上的例程库。
20.如权利要求11所述的系统,其特征在于,还包括被安排成提供操作系统服务管理的服务控制管理器模块。
21.如权利要求11所述的系统,其特征在于,还包括被安排成管理多个用户会话的会话管理服务器。
22.如权利要求11所述的系统,其特征在于,还包括被安排成支持装置驱动软件的即插即用安装的即插即用管理器。
23.如权利要求11所述的系统,其特征在于,还包括一远程过程调用基础结构,其被安排成使过程能够调用另一过程中的代码。
CN2005100519194A 2004-02-20 2005-02-18 用于提供通用操作系统的方法和系统 Expired - Fee Related CN1673957B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/783,781 US7444621B2 (en) 2004-02-20 2004-02-20 Method and system for providing a common operating system
US10/783,781 2004-02-20

Publications (2)

Publication Number Publication Date
CN1673957A CN1673957A (zh) 2005-09-28
CN1673957B true CN1673957B (zh) 2010-05-12

Family

ID=34861332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100519194A Expired - Fee Related CN1673957B (zh) 2004-02-20 2005-02-18 用于提供通用操作系统的方法和系统

Country Status (5)

Country Link
US (1) US7444621B2 (zh)
EP (1) EP1669858A3 (zh)
JP (2) JP2005235221A (zh)
KR (1) KR101130370B1 (zh)
CN (1) CN1673957B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121338B2 (en) * 2004-07-07 2012-02-21 Directsmile Gmbh Process for generating images with realistic text insertion
US7739660B2 (en) * 2006-03-31 2010-06-15 Sap Ag Code management in a distributed software development environment
US8972532B2 (en) * 2006-06-30 2015-03-03 Ca, Inc. Providing hardware configuration management for heterogeneous computers
US7890724B2 (en) 2006-12-29 2011-02-15 Sandisk Corporation System for code execution
US7890723B2 (en) 2006-12-29 2011-02-15 Sandisk Corporation Method for code execution
US8578332B2 (en) * 2007-04-30 2013-11-05 Mark Murray Universal microcode image
US9454384B2 (en) * 2007-07-05 2016-09-27 Microsoft Technology Licensing, Llc Custom operating system via a web-service
KR100961451B1 (ko) * 2008-01-04 2010-06-09 (주)가민정보시스템 휴대용 저장장치 및 상기 휴대용 저장장치를 이용하는 응용프로그램 구동 방법
US20090217259A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Building Operating System Images Based on Applications
US8191075B2 (en) 2008-03-06 2012-05-29 Microsoft Corporation State management of operating system and applications
US8468366B2 (en) 2008-03-24 2013-06-18 Qualcomm Incorporated Method for securely storing a programmable identifier in a communication station
US8171276B2 (en) * 2008-06-10 2012-05-01 International Business Machines Corporation Minimal startup mode for performing multiple-reboot configuration
JP5343489B2 (ja) * 2008-09-29 2013-11-13 日本電気株式会社 コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US10089119B2 (en) * 2009-12-18 2018-10-02 Microsoft Technology Licensing, Llc API namespace virtualization
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US8903705B2 (en) 2010-12-17 2014-12-02 Microsoft Corporation Application compatibility shims for minimal client computers
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US8776094B2 (en) 2011-08-11 2014-07-08 Microsoft Corporation Runtime system
US8695021B2 (en) 2011-08-31 2014-04-08 Microsoft Corporation Projecting native application programming interfaces of an operating system into other programming languages
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
EP2821918A4 (en) * 2012-03-01 2015-12-16 Nec Corp SYSTEM CONSTRUCTION PROCEDURE CREATING DEVICE, SYSTEM CONSTRUCTION PROCEDURE CREATING METHOD, AND PROGRAM
CN102662670B (zh) * 2012-04-05 2014-12-03 林添孝 一种场景式无核嵌入式实时操作系统的实现方法
CN103440337B (zh) * 2013-09-09 2017-01-11 百度在线网络技术(北京)有限公司 Api兼容性扫描方法和api兼容性扫描装置
US9148775B2 (en) 2013-09-27 2015-09-29 Microsoft Technology Licensing, Llc Multivariant mobile operating system configuration
US9185136B2 (en) 2013-11-28 2015-11-10 Cyber-Ark Software Ltd. Correlation based security risk identification
US20150186377A1 (en) * 2013-12-27 2015-07-02 Google Inc. Dynamically Sharing Intents
US10635504B2 (en) 2014-10-16 2020-04-28 Microsoft Technology Licensing, Llc API versioning independent of product releases
CN105657562A (zh) * 2014-11-10 2016-06-08 乐视致新电子科技(天津)有限公司 一种实现卡拉ok应用的系统和方法
US9948760B2 (en) 2015-06-26 2018-04-17 Honda Motor Co., Ltd. System and method for controlling vehicle network functions with version control
CN105610952A (zh) * 2015-12-31 2016-05-25 西安航天动力研究所 一种基于通用组件的远程应用程序调用系统及方法
US10637864B2 (en) * 2016-05-05 2020-04-28 Ca, Inc. Creation of fictitious identities to obfuscate hacking of internal networks
US10515187B2 (en) 2016-06-29 2019-12-24 Symantec Corporation Artificial intelligence (AI) techniques for learning and modeling internal networks
CN106250113A (zh) * 2016-07-18 2016-12-21 百富计算机技术(深圳)有限公司 一种应用开发平台
US20200356885A1 (en) 2019-05-10 2020-11-12 International Business Machines Corporation Service management in a dbms
CN112083959A (zh) * 2019-06-13 2020-12-15 中兴通讯股份有限公司 服务配置管理方法、装置、终端和计算机可读存储介质
CN111240752B (zh) * 2019-12-31 2021-08-17 北京元心科技有限公司 操作系统自适配方法及系统
US11093221B1 (en) * 2020-02-14 2021-08-17 Red Hat, Inc. Automatic containerization of operating system distributions
US11816451B2 (en) 2021-02-16 2023-11-14 Hcl Technologies Limited Method and system for identifying common requirements from applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093020A2 (en) * 2000-06-01 2001-12-06 Aduva Inc. Virtual system configurator server for linux
CN1399194A (zh) * 2001-07-24 2003-02-26 微软公司 创建和使用具有选定功能的操作系统的方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2131406C (en) * 1993-09-21 2002-11-12 David D'souza Preemptive multi-tasking with cooperative groups of tasks
US5854932A (en) * 1995-08-17 1998-12-29 Microsoft Corporation Compiler and method for avoiding unnecessary recompilation
US5867710A (en) * 1995-09-05 1999-02-02 Motorola, Inc. Portable microkernel operating system verification and testing
US6075939A (en) * 1997-09-27 2000-06-13 Lynx Real-Trime Systems, Inc. Tightly coupled, scalable module based micro-kernel operating system architecture
DE69908121T2 (de) * 1998-03-23 2004-04-01 Microsoft Corp., Redmond Anwendungsprogrammierungsschnittstelle in einem betriebssystem
US6275893B1 (en) * 1998-09-14 2001-08-14 Compaq Computer Corporation Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system
US7140015B1 (en) * 1999-09-29 2006-11-21 Network Appliance, Inc. Microkernel for real time applications
TW498228B (en) * 1999-11-24 2002-08-11 Elegent Technologies Inc Self-contained network browser with diagnostic abilities
US20020087734A1 (en) * 2000-12-29 2002-07-04 Marshall Donald Brent System and method for managing dependencies in a component-based system
US7133874B2 (en) 2001-12-13 2006-11-07 Microsoft Corporation Prototyping model for components of a software program
US6993746B2 (en) 2002-04-19 2006-01-31 Wind River Systems, Inc. Configuration tool for building a user application for multiple operating systems
US7111279B2 (en) * 2002-10-30 2006-09-19 Hewlett-Packard Development Company, L.P. Intercepting calls to common dialog functions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093020A2 (en) * 2000-06-01 2001-12-06 Aduva Inc. Virtual system configurator server for linux
CN1399194A (zh) * 2001-07-24 2003-02-26 微软公司 创建和使用具有选定功能的操作系统的方法和系统

Also Published As

Publication number Publication date
US7444621B2 (en) 2008-10-28
KR101130370B1 (ko) 2012-03-27
EP1669858A2 (en) 2006-06-14
EP1669858A3 (en) 2007-08-29
KR20060042093A (ko) 2006-05-12
US20050187894A1 (en) 2005-08-25
JP2005235221A (ja) 2005-09-02
JP2011258242A (ja) 2011-12-22
CN1673957A (zh) 2005-09-28

Similar Documents

Publication Publication Date Title
CN1673957B (zh) 用于提供通用操作系统的方法和系统
KR100855853B1 (ko) 이미지-기반 소프트웨어 설치
US7203940B2 (en) Automated installation of an application
CN104303151B (zh) 用于在服务器上远程执行的应用的壳集成
TWI380216B (en) System and method for automated operating system installation
JP5021211B2 (ja) デジタル装置メニューエディタのための方法およびシステム
US20100058328A1 (en) Systems and methods for differential software provisioning on virtual machines having different configurations
EP1280058A2 (en) Method and system for creating and employing an operating system having selected functionality
CN103795759B (zh) 一种虚拟机镜像文件的调度方法和系统
JP2005149495A (ja) 非プラットフォーム固有の一意の識別子の生成
WO2017020459A1 (zh) 一种为宿主配置插件包的方法与装置
US7904819B2 (en) Self-configuring component for recognizing and transforming host data
CN1696911B (zh) 用于打补丁的方法和计算系统
CN110928554A (zh) 一种部署方法、装置、设备及存储介质
US7631038B2 (en) PXE server with multiple provider model
CN113946323A (zh) 基于微服务体系的在线开发方法、装置、设备及存储介质
CN105247533A (zh) 信息处理装置和确定方法
CN112562217A (zh) 自助终端控制系统的流程引擎设计、通讯方式、工作方法
JP2007062220A (ja) 画像形成装置及びその制御方法、プログラム、画像形成システム
CN116301596A (zh) 一种软件raid构建方法、装置、设备及存储介质
US5838911A (en) Method and apparatus for obtaining network information by using a dynamic link library
US6289503B1 (en) System and method for trace verification
US20020138821A1 (en) Method and apparatus for seamless porting of object code between operating system environments
US9250885B2 (en) Image forming apparatus operating based on framework capable of sharing function among a plurality of bundles and method of installing bundle in image forming apparatus
CN113360379B (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512

Termination date: 20200218