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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

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 2004-02-20
US10/783,781 US7444621B2 (en) 2004-02-20 2004-02-20 Method and system for providing a common operating system

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
US7890723B2 (en) 2006-12-29 2011-02-15 Sandisk Corporation Method for code execution
US7890724B2 (en) 2006-12-29 2011-02-15 Sandisk Corporation System 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
US20150033204A1 (en) * 2012-03-01 2015-01-29 Nec Corporation System-construction-procedure generating device, system-construction-procedure generating method, and program thereof
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
US20050187894A1 (en) 2005-08-25
JP2011258242A (ja) 2011-12-22
KR101130370B1 (ko) 2012-03-27
CN1673957A (zh) 2005-09-28
EP1669858A2 (en) 2006-06-14
US7444621B2 (en) 2008-10-28
KR20060042093A (ko) 2006-05-12
JP2005235221A (ja) 2005-09-02
EP1669858A3 (en) 2007-08-29

Similar Documents

Publication Publication Date Title
CN1673957B (zh) 用于提供通用操作***的方法和***
US9164749B2 (en) Differential software provisioning on virtual machines having different configurations
KR100855853B1 (ko) 이미지-기반 소프트웨어 설치
TWI380216B (en) System and method for automated operating system installation
US8418169B2 (en) Management method for managing software module and information processor
EP1280058A2 (en) Method and system for creating and employing an operating system having selected functionality
CN103677807A (zh) 用于引导***的定制程序逻辑
JP2005149495A (ja) 非プラットフォーム固有の一意の識別子の生成
US7904819B2 (en) Self-configuring component for recognizing and transforming host data
CN1696911B (zh) 用于打补丁的方法和计算***
CN105247533A (zh) 信息处理装置和确定方法
JP2007062220A (ja) 画像形成装置及びその制御方法、プログラム、画像形成システム
CN110928554A (zh) 一种部署方法、装置、设备及存储介质
WO2023179725A1 (zh) 应用集成方法及装置
CN112562217A (zh) 自助终端控制***的流程引擎设计、通讯方式、工作方法
US7237222B1 (en) Protocol for controlling an execution process on a destination computer from a source computer
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
US20030065825A1 (en) API to enforce internationalization
CN113360379B (zh) 程序测试环境创建方法和程序测试环境创建装置
KR20080027293A (ko) 데이터 언어에서 다수 언어들의 관리
JP7106778B1 (ja) ブロックチェーンシステム実行方法、装置、機器、および記憶媒体
US8904372B2 (en) Dialog to service conversion method and system
CN115185634A (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