CN100570565C - 在管理程序中提供基于策略的操作系统服务的方法和系统 - Google Patents

在管理程序中提供基于策略的操作系统服务的方法和系统 Download PDF

Info

Publication number
CN100570565C
CN100570565C CNB200710153643XA CN200710153643A CN100570565C CN 100570565 C CN100570565 C CN 100570565C CN B200710153643X A CNB200710153643X A CN B200710153643XA CN 200710153643 A CN200710153643 A CN 200710153643A CN 100570565 C CN100570565 C CN 100570565C
Authority
CN
China
Prior art keywords
system service
operating system
kernel
service
node
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.)
Active
Application number
CNB200710153643XA
Other languages
English (en)
Other versions
CN101169735A (zh
Inventor
查尔斯·J.·阿奇
迈克尔·A.·布劳克瑟姆
约瑟夫·D.·拉特曼
埃伯特·赛德尔尼克
布赖恩·E.·史密斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101169735A publication Critical patent/CN101169735A/zh
Application granted granted Critical
Publication of CN100570565C publication Critical patent/CN100570565C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了在计算系统上的管理程序中提供基于策略的操作系统服务的方法、装置和产品。计算系统包括至少一个计算节点。计算节点包括操作系统和管理程序。操作系统包括内核。管理程序包含内核代理和具有某种服务类型的多个操作系统服务。在计算系统上的管理程序中提供基于策略的操作系统服务包括在计算节点上建立指定供内核代理使用的服务类型的操作系统服务之一的内核策略,和由内核代理访问指定操作系统服务。计算系统还可以实现成包括一个或多个操作系统服务节点的分布式计算系统。一个或多个操作系统服务节点可以分布在操作系统服务节点之中。

Description

在管理程序中提供基于策略的操作系统服务的方法和系统
技术领域
本发明涉及数据处理领域,尤其涉及在计算系统上的管理程序(hypervisor)中提供基于策略的操作系统服务的方法、装置和产品。
背景技术
1948年开发出EDVAC计算机系统常常被引证为计算机时代的开始。自那时起,计算机系统已发展为极其复杂的设备。今天的计算机要比像EDVAC那样的早期系统完善得多。计算机系统通常包括硬件和软件组件、应用程序、操作程序、处理器、总线、存储器、输入/输出设备等的组合。随着半导体处理和计算机结构的进步推动计算机的性能越来越高,更完善的计算机软件发展利用更高性能的硬件,使得今天的计算机系统比前几年强大得多。
计算机软件发展利用高性能硬件的一个领域是操作系统。早期计算机缺乏任何形式的操作系统。系统管理人员装入机器专用的应用程序。为了操作计算机,应用程序必须直接访问和控制计算机硬件。后来,计算机伴有链接到应用程序中以协助像输入输出那样的操作的支持代码库。这些库是现代操作系统的前身。但是,计算机仍然每次只运行单个应用程序。现代操作系统能够同时运行多个应用程序。这些现代操作系统还将计算机硬件的抽象概念提供给应用程序,以简化应用程序开发和支持将应用程序从一个硬件平台移植到另一个硬件平台的能力。
内核是大多数计算机操作系统中管理系统资源和硬件与软件组件之间的通信的中心部分。作为操作系统的基本组件,内核为硬件,特别是为存储器、处理器和允许硬件和软件通信的I/O提供了抽象层。内核还通过进程间通信机制和系统调用使这些设施可用于应用程序和其它操作系统服务。
取决于它们的设计和实现,对于不同的内核,以不同的方式执行这些内核任务。在单决(monolithic)内核中,所有操作系统服务驻留在相同存储区中并利用相同存储区执行。由于单块内核试图执行相同地址空间中的所有代码,单块内核结构比其它解决方案更易于设计和实现,并且,如果编写得很好则极其有效。单块内核的主要缺点是系统组件之间的相关性。大内核变得非常难以维护,并且内核的一个部分中的故障可能使整个系统崩溃。
在微内核结构中,内核利用一组原语或系统调用提供硬件的简单抽象,以实现像例如存储器管理、多任务处理、和进程间通信那样的微小操作系统服务。包括像例如联网那样的通常由内核提供的那些的其它服务在通常具有它们自己的地址空间的用户空间程序中实现。微内核比单块内核更易于维护,但大量系统调用和上下文切换可能降低系统速度。
与用于实现操作系统的内核结构无关,当安装了操作系统时,设置在当前操作系统中的操作系统服务组一般说来是固定的。也就是说,操作系统不考虑在由操作系统管理的硬件上运行的应用程序利用相同存储器管理算法、相同I/O调度算法、相同联网算法等。但是,经常,一个应用程序在使用一个操作系统服务时可能有效地利用计算机资源,而另一个应用程序在使用相同操作系统服务时可能低效地利用计算机资源。例如,在操作系统中提供I/O调度的操作系统服务可能导致计算机资源有效用于I/O密集的应用程序,而导致计算机资源低效用于I/O不密集的应用程序。由于当前操作系统提供相同操作系统服务而不考虑应用程序,当前操作系统常常不能有效地管理应用程序与计算机硬件之间的交互。因此,读者应该理解,在在操作系统中提供操作系统服务的方式方面存在改进的余地。
计算机软件发展利用高性能硬件的另一个领域是称为管理程序的一组软件工具。管理程序是在操作系统层下面在计算机硬件上运行以使多个操作系统可以不加修改地同时在主计算机上运行的系统软件层。管理程序最初是在二十世纪七十年代早期,当企业成本降低迫使将多个分散部门计算机合并成为多个部门服务的单个较大计算机-巨型机时开发的。通过同时运行多个操作系统,管理程序给系统带来了健壮性和稳定性措施。即使一个操作系统崩溃了,其它操作系统也可以不中断地继续工作。的确,这甚至允许部署和调试操作系统的β或试验版本而不危及稳定主生产系统并且不要求开发者研制昂贵的第二和第三系统。
管理程序通过将一组虚拟资源提供给每个操作系统,允许多个操作系统同时在主计算机上运行。这些虚拟资源将计算机的一部分实际资源提供给每个操作系统。这些部分通常被实现成资源适合使用的总时间的时间片。利用管理程序,在单个计算机内分配计算机资源使计算机看起来像两个或更多个独立计算机那样工作。但是,利用管理程序使多个操作系统同时在主计算机上运行的确存在缺点。运行管理程序所需的管理开销减少了可用于运行操作系统和应用程序的总计算机资源。管理开销以管理程序与每个操作系统之间的处理器上下文切换的形式出现。因此,读者应该理解,通过在管理程序中实现操作系统的一些功能可以减少管理程序的管理开销。
发明内容
本发明公开了在计算系统上的管理程序中提供基于策略的操作系统服务的方法、装置和产品。计算系统包括至少一个计算节点。计算节点包括操作系统和管理程序。操作系统包括内核。管理程序包含内核代理和具有某种服务类型的多个操作系统服务。在计算系统上的管理程序中提供基于策略的操作系统服务包括在计算节点上建立指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略,和由内核代理访问指定操作系统服务。
计算系统还可以实现为包括一个或多个操作系统服务节点的分布式计算系统。一个或多个操作系统服务可以分布在操作系统服务节点之中。内核策略还可以指定要提供指定操作系统服务的操作系统服务节点,并且由计算节点的内核代理访问指定操作系统服务可以包括由计算节点的内核代理访问操作系统服务节点的指定操作系统服务。
通过结合附图对本发明的示范性实施例进行如下更具体描述,本发明的前述和其它目的、特征和优点将更加清楚,在附图中,相同的标号一般代表本发明示范性实施例的相同部分。
附图说明
图1给出了例示根据本发明的实施例在管理程序中提供基于策略的操作系统服务的示范性计算系统的网络图;
图2给出了包含可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的示范性计算节点的自动计算机器的方块图;
图3给出了例示可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的配有管理程序的示范性计算节点的功能方块图;
图4给出了例示根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的示范性方法的流程图;
图5给出了例示根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的进一步示范性方法的流程图;
图6给出了例示根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的进一步示范性方法的流程图;和
图7给出了例示根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的进一步示范性方法的流程图。
具体实施方式
下面从图1开始,参照附图描述根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的示范性方法、装置、和产品。图1给出了例示根据本发明的实施例在管理程序中提供基于策略的操作系统服务的示范性计算系统(100)的网络图。图1的示范性计算系统(100)包括计算节点(110)。计算节点(110)包括操作系统(108)和管理程序(111)。操作系统(108)包括内核(109)。管理程序(111)包括内核代理(120)和具有某种服务类型的多个操作系统服务(124)。图1的示范性计算系统(100)一般用于根据本发明的实施例,通过在计算节点上建立指定供管理程序(111)中的内核代理(120)使用的服务类型的操作系统服务(124)之一的内核策略(122),和由内核代理(120)访问指定操作系统服务,在管理程序中提供基于策略的操作系统服务。
在图1的例子中,示范性计算系统(100)被实现成分布式计算系统。分布式计算系统是利用两个或更多个联网计算设备完成共同任务的计算系统。图1的分布式计算系统(100)包括通过网络(101)连接在一起以便进行数据通信的计算节点(110)、操作系统服务节点(112,114,116)和管理节点(118)。计算节点(110)通过有线连接(140)与网络(101)连接。操作系统服务节点112通过有线连接(142)与网络(101)连接。操作系统服务节点114通过有线连接(144)与网络(101)连接。操作系统服务节点116通过有线连接(146)与网络(101)连接。管理节点(118)通过有线连接(148)与网络(101)连接。图1的分布式计算系统(100)中的共同任务包括根据本发明的实施例在管理程序中提供基于策略的操作系统服务。
在图1的例子中,计算节点(110)利用安装在计算机机架(104)中的节点(102)之一实现。图1的每个节点(102)是执行计算机程序指令的处理设备。每个节点(102)包括一个或多个计算机处理器和可操作地与计算机处理器耦合的计算机存储器。图1的节点(102)被实现成安装在服务器机壳中的刀片(blade)服务器,服务器机壳又安装在计算机机架(104)上。但是,读者应该注意到,将节点实现成刀片服务器只是为了说明,而不是为了限制。事实上,图1的节点可以实现成联网工作站、连接在一起形成计算机群的计算机、并行计算机中的计算设备、或本领域的普通技术人员可以想到的任何其它实现方式。
在图1的例子中,计算节点(110)是可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的、配有包括内核代理(120)和内核策略(122)的管理程序(111)的节点。管理程序(111)是在操作系统层下面在计算机硬件上运行以使多个操作系统不加修改地同时在主计算机上运行的系统软件层。管理程序(111)通过利用逻辑分区将一组虚拟资源分配给每个操作系统,将这些资源提供给每个操作系统。逻辑分区(“LPAR”)是允许在单个计算机内分配计算机资源以使计算机像两个或更多个独立计算机那样工作的一组数据结构和服务。
为了使多个操作系统同时运行,管理程序(111)将虚拟处理器(115)分配给每个操作系统(108,117),并且在计算节点(110)的物理处理器上调度虚拟处理器(115)。虚拟处理器是实现对逻辑分区的处理器时间分配的子系统。物理处理器的共享池支持对逻辑分区的部分物理处理器分配(按时间片)。这种按时间片共享的部分物理处理器被称为“虚拟处理器”。当在虚拟处理器的时间片上运行时,一段执行线程被说成是在虚拟处理器上运行。子处理器分区以对于在逻辑分区中运行的操作系统不可见的方式在一组虚拟处理器之间按时间共享物理处理器。与在操作系统内进行多道编程(其中通过以中断-禁止模式运行使得线程保持受物理处理器控制)不同,在子处理器分区中,该线程在其虚拟处理器时间片结束时仍然被管理程序抢占,以便使物理处理器可用于不同虚拟处理器。
在图1的例子中,管理程序(111)将虚拟资源分配给为应用程序(106)和操作系统(108)提供执行环境的逻辑分区(103)。管理程序(111)还将虚拟资源分配给为应用程序(107)和辅助(guest)操作系统(117)提供执行环境的逻辑分区(105)。每个应用程序(106,107)是实现用户级数据处理的一组计算机程序指令。每个应用程序(106,107)可以是在单个计算节点上执行每个应用程序(106,107)的所有计算机程序指令的独立应用程序,或每个应用程序(106,107)可以是分布式应用程序,其中部分计算机程序指令串行地或与在其它计算节点上执行的其它部分计算机程序指令并行地执行。
在图1的示范性系统(100)中,操作系统(117)控制计算节点(110)上的应用程序(107)的执行。图1的操作系统(117)是通过管理程序(111)管理分配给逻辑分区(105)的虚拟资源的系统软件。操作系统(117)执行像例如控制和分配虚拟存储器、按优先级排列指令的处理、控制虚拟化输入和输出设备、促进联网、和管理虚拟化文件系统那样的基本任务。
类似地,图1的操作系统(108)控制计算节点(110)上的应用程序(106)的执行。图1的应用程序(106)通过内核(109)访问操作系统(108)提供的资源。内核(109)是管理系统资源和应用程序与管理程序(111)提供的虚拟资源之间的通信的操作系统(109)的核心部件。内核(109)将允许应用程序利用虚拟硬件资源的这些虚拟硬件资源的抽象层提供给软件应用程序。内核(109)通过进程间通信机制和内核应用编程接口(“API”)(119)使这些抽象层可用于用户级应用程序。
在图1的例子中,管理程序(111)被配置成利用内核代理(120)和操作系统服务(124)完成操作系统(108)的实际实现的很大一部分。内核代理(120)是提供通常在操作系统的内核中实现的操作系统服务的系统软件。当操作系统(108)需要配置在管理程序(111)中的服务时,内核(109)请求内核代理(120)执行所需服务。内核(109)利用进程间通信或通过内核代理API(121)访问内核代理(120)。将管理程序(111)配置为完成尽可能多的操作系统(108)的实际实现有利于提供极轻量的操作系统。
在图1的示范性系统(100)中,内核代理(120)与操作系统服务(124)之间的关系仿照微内核结构建模。也就是说,内核代理(120)包括像存储器管理、进程管理、和进程间通信那样的基本类型的操作系统服务的实现。但是,像例如联网、中断管理、I/O调度、设备驱动器、文件系统服务等那样的其它操作系统服务(124)利用独立的操作系统组件实现,每个组件具有与内核代理(120)不同的执行线程。内核代理(120)利用进程间通信或对服务API(125)的系统调用访问这些操作系统服务(124)。
在图1的示范性系统(100)中,每个操作系统服务(124)是实现未在内核代理(120)本身中实现的服务类型或实现已经由内核代理(120)提供的服务类型的专用版本的系统软件。为了说明起见,考虑例如图1的内核代理(120)不实现文件系统服务类型的任何服务的情况。在这样的例子中,操作系统服务(124)之一可以为Unix文件系统实现文件系统服务,而第二操作系统服务(124)可以为Reiser文件系统实现文件系统服务。取决于配置在管理程序(111)中的内核策略(122),内核代理(120)将利用Unix文件系统或Reiser文件系统提供文件系统服务。进一步考虑例如图1的内核代理(120)实现通用存储器管理服务的情况。在这样的例子中,操作系统服务(124)之一可以实现为密集I/O操作定制的存储器管理服务,取决于内核代理(122)的配置,内核代理(120)可以使用该服务取代在内核代理(120)中实现的通用存储器管理算法。
在图1的例子中,每个操作系统服务(124)提供特定服务类型的操作系统服务。操作系统服务(124)提供的服务的类型可以包括,例如,任务调度器、文件系统、存储器管理、设备驱动器、I/O调度器、中断/信号管理、安全、作业提交、tty管理等。在图1的示范性系统(100)中,作为相同服务类型的服务的操作系统服务具有相同的应用编程接口。也就是说,特定服务类型的每个服务(124)的服务API(125)具有内核代理(120)可以用来访问操作系统服务(124)的一组相同成员方法和参数。由于每种服务类型的服务具有相同的服务API,内核代理(120)可以利用相同应用编程接口访问在内核策略(122)中指定的操作系统服务而不考虑在内核策略(122)中为特定服务类型指定了哪个操作系统服务。
在图1的示范性系统(100)中,一个或多个操作系统服务(124)分布在操作系统服务节点(112,114,116)当中。也就是说,用于实现一个或多个操作系统服务(124)的计算机程序指令驻留在操作系统服务节点(112,114,116)上。每个服务(132,134,136)的相应操作系统服务(124)可以实现为实现每个服务(132,134,136)的计算机程序指令的副本。每个服务(132,134,136)的相应操作系统服务(124)也可以利用访问操作系统服务节点(112,114,116)上的操作程序服务(132,134,136)的数据通信子系统实现。这种数据通信子系统的例子可以包括万维网服务引擎、利用远程过程调用访问操作系统服务节点(112,114,116)上的操作系统服务(132,134,136)的计算节点(110)上的CORBA对象、MPI库的使用、或本领域的普通技术人员可以想到的任何其它实现方式。
“CORBA”指的是公共对象请求代理体系结构(Common ObjectRequest Broker Architecture)-对象管理组(“Object ManagementGroup,OMG”)制作的可互操作企业应用程序的计算机产业规范。CORBA是OMG在1991年首先公开的用于远程过程调用的标准。可以将CORBA当作作出远程过程调用的一种面向对象方式,但CORBA支持在传统远程过程调用中不存在的特征。CORBA使用说明性语言,即,接口定义语言(“IDL”)来描述对象接口。对采用IDL的接口描述加以编译,生成客户机侧的“桩模块(stub)”和服务器侧的“骨架(skeleton)”。利用这种生成代码,以像C++或Java那样的面对对象编程语言实现的远程方法调用看起来像本地对象中的本地成员方法的调用。
“MPI”指的是“消息传递接口(Message Passing Interface)”-现有技术并行通信库,即,用于并行计算机上的数据通信的计算机程序指令的模块。可以用于根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的现有技术并行通信库的例子包括MPI和“并行虚拟机(PVM)”库。PVM由Tennessee大学、Oak Ridge国家实验室和Emory大学开发。MPI由MPI论坛-代表来自定义和维护MPI标准的许多组织的开放组公布。MPI是用于在分布式存储器并行计算机上进行并行程序的节点之间的通信的事实标准。为了易于说明起见,本说明书有时使用MPI技术术语,但这样使用MPI不是本发明的要求或限制。
在图1的例子中,操作系统服务节点(112,114,116)利用安装在计算机机架(104)中的节点(102)实现。每个操作系统服务节点(112,114,116)是将操作系统服务提供给安装在计算机节点上的管理程序的节点。每个操作系统服务节点可以将一个或多个操作系统服务提供给在一个或多个计算机节点上运行的一个或多个管理程序。但是,在具有许多节点的分布式计算系统中,由于系统中的节点很多,每个操作系统服务节点通常只提供一个操作系统服务。在图1的例子中,操作系统服务节点(112)将操作系统服务(132)提供给内核(120);操作系统服务节点(114)将操作系统服务(134)提供给内核(120);而操作系统服务节点(116)将操作系统服务(136)提供给内核(120)。
为了将操作系统服务提供给内核(120),在图1的每个操作系统服务节点(112,114,116)上都安装了操作系统服务程序服务器。操作系统服务节点(112)包括服务程序服务器(133),操作系统服务节点(114)包括服务程序服务器(135),而操作系统服务节点(116)包括服务程序服务器(137)。每个服务程序服务器(133,135,137)是响应管理程序发送的请求或响应接收到来自系统管理人员的指令将操作系统服务提供给管理程序的软件组件。每个操作系统服务程序服务器(133,135,137)可以通过将实现所请求的操作系统服务的计算机程序指令传送到管理程序和使安装管理程序的计算节点执行计算机程序指令,将操作系统服务提供给管理程序。每个操作系统服务程序服务器(133,135,137)还可以通过指令服务器的操作系统服务节点执行实现所请求的操作系统服务的计算机程序指令来提供操作系统服务。管理程序(111)的内核代理(120)可以通过使用万维网服务,调用CORBA对象的成员方法、MPI库的使用、或本领域的普通技术人员可以想到的任何其它数据通信实现方式操作系统服务程序服务器(133,135,137)通信。
如上所述,管理程序(111)包括特定服务类型的两个或更多个操作系统服务(124)。例如,管理程序(111)可以根据示范性系统(100)的配置,包括文件系统服务的两种不同实现供内核代理使用。在另一个例子中,管理程序(111)可以根据应用程序(106)的需要包括存储器管理服务的两种不同实现。拥有特定服务类型的不止一个操作系统服务有利地提供了根据计算机节点(110)的硬件和软件环境优化操作系统服务算法的灵活性。
图1的内核策略(122)是将操作系统服务(124)之一映射到管理程序(111)中的内核代理(120)使用的一种操作系统服务的表格。通常,内核策略(122)建立在计算节点上,以优化配置成在节点上执行的应用程序(106)对节点资源的使用。在图1的例子中,内核代理(120)利用内核策略(122)来识别在管理程序中针对特定服务类型使用哪个操作系统服务。与操作系统服务(124)本地驻留在计算节点(110)上还是分布在像操作系统服务节点(112,114,116)那样的其它节点上无关,内核策略(122)指定特定服务类型的操作系统服务之一以便用在管理程序(111)中。当在内核策略(122)中指定的操作系统服务分布在操作系统服务节点(112,114,116)之一上时,内核策略(122)还指定将提供指定的操作系统服务的操作系统服务节点。利用内核策略(122),内核代理(120)根据本发明的实施例,通过访问在策略(122)中指定的操作系统服务,在计算系统上的管理程序中提供基于策略的操作系统服务。
经常,内核策略(122)未指定用在管理程序(111)中的服务类型之一的操作系统服务,或内核代理(120)不能访问在内核策略(122)中指定的操作系统服务。因此,在图1的例子中,管理程序(111)包括默认操作系统服务(126)。默认操作系统服务(126)是当内核策略(122)未指定特定服务类型的操作系统服务,或内核代理(120)不能访问在策略(122)中指定的操作系统服务时内核代理(120)可以使用的特定服务类型的操作系统服务。考虑例如内核策略(122)未指定供管理程序(111)使用的文件系统服务、内核代理(120)本身未实现文件系统服务、和默认操作系统服务实现Unix文件系统的情况。由于内核代理(120)未实现文件系统服务并且在内核策略(122)中未指定文件系统服务,在这样例子中的内核代理(120)将使用实现Unix文件系统的默认操作系统服务(126)。内核代理(120)可以利用进程间通信或默认操作系统服务API(127)访问默认操作系统服务(126)。
在图1的例子中,系统管理人员(130)通过管理节点(118)配置分布式计算系统(100)。图1的管理节点(118)是管理图1的计算系统(100)的配置的计算设备。管理节点(118)可以实现成安装在机架(104)中的节点(102)之一、与节点(102)连接的工作站网络、或本领域的普通技术人员可以想到的任何其它计算机。
在图1的示范性系统(100)中,在管理节点(118)上安装了管理模块(128)。管理模块(128)是系统管理人员(130)配置示范性计算系统(100)的软件组件。管理模块(128)通过提供系统管理人员(130)与管理模块(128)交互的用户界面,和通过在像例如计算节点(110)那样的一个或多个计算节点上配置管理程序(111)、操作系统(108,117)和系统管理人员(130)提供的应用程序(106,107),允许系统管理人员(130)配置示范性计算系统(100)。管理模块(128)包括根据本发明的实施例,通过在计算节点(110)上建立指定供管理程序(111)中的内核代理(120)使用的一种服务类型的操作系统服务(124)之一的内核策略(122),在计算系统上的管理程序中提供基于策略的操作系统服务的一组计算机程序指令。
构成例示在图1中的示范性系统的服务器和其它设备的布置用于说明,而不是用于限制。可根据本发明的各种实施例使用的数据处理系统可以包括本领域的普通技术人员可以想到的、在图1中未示出的附加服务器、路由器、其它设备、和对等结构。这种数据处理系统中的网络可以支持许多数据通信协议,包括,例如传输控制协议(“TCP”)、因特网协议(“IP”)、超文本传送协议(“HTTP”)、无线访问协议(“WAP”)、手持设备传输协议(“HDTP”)、MPI协议和本领域的普通技术人员可以想到的其它协议。除了例示在图1中的那些之外,本发明的各种实施例可以在各种各样其它硬件平台上实现。例如,可用于根据本发明的实施例在管理程序中提供基于策略的操作系统服务的计算系统也可以实现成像例如IBM的BlueGene/L那样的并行计算机。
按照本发明在计算系统上的管理程序中提供基于策略的操作系统服务一般借助于计算机,即,自动计算机器实现。在图1的系统中,例如,所有节点至少在某种程度上被实现为计算机。因此,为了进一步说明,图2给出了包含可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的示范性计算节点(110)的自动计算机器的方块图。图2的计算节点(110)包括至少一个计算机处理器(156)或“CPU”,以及通过高速存储器总线(166)和总线适配器(158)与处理器(156)和与计算节点的其它组件连接的随机访问存储器(“RAM”)(168)。
存储在RAM(168)中的是管理程序(111)、应用程序(106,107)、和操作系统(108,117)。管理程序(111)将虚拟资源分配给为应用程序(106)和操作系统(108)提供执行环境的逻辑分区(103)。操作系统(108)包括内核(109)。管理程序(111)还将虚拟资源分配给为应用程序(107)和辅助操作系统(117)提供执行环境的逻辑分区(105)。每个逻辑分区(103,105)是允许在单个计算机内分配计算机资源、使计算机像两个或更多个独立计算机那样工作的一组数据结构和服务。
在图2中,管理程序(111)包括虚拟处理器(115)、内核代理(120)、内核策略(122)、操作系统服务(124)、和默认操作系统服务(126)。图2的内核策略(122)是将操作系统服务(124)之一映射到内核代理(120)使用的一种类型的操作系统服务的表格。虚拟处理器(115)是实现对逻辑分区的处理器时间分配的子系统。例示在图2中的应用程序(106,107)、操作系统(108,117)、内核(109)、管理程序(111)、内核代理(120)、操作系统服务(124)、和默认操作系统服务(126)是与计算代码有关的如参照图1所述那样工作的软件组件,即,计算机程序指令。可以针对按照本发明在计算系统上的管理程序中提供基于策略的操作系统服务加以改进的操作系统可以包括UNIXTM、LinuxTM、Microsoft NTTM、IBM的AIXTM、IBM的i5/OSTM和本领域的普通技术人员可以想到的其它操作系统。图2的例子中的操作系统(108,117)、应用程序(106,107)、逻辑分区(103,105)、和管理程序(111)示出在RAM(168)中,但这样软件的许多组件通常也存储在非易失性存储器中,例如,存储在硬盘驱动器(170)上。
图2的示范性计算节点(111)包括总线适配器(158)、包含用于高速总线的驱动电子设备的计算机硬件组件、前侧总线(162)、和存储器总线(166),以及用于较慢扩充总线(160)的驱动电子设备。可用在可根据本发明的实施例使用的计算节点中的总线适配器的例子包括Intel北桥、Intel存储器控制器中心、Intel南桥、和Intel I/O控制器中心。可用在可根据本发明的实施例使用的计算节点中的扩充总线的例子可以包括外围部件互连(“PCI”)总线和PCI特快(“PCIe”)总线。
尽管未描绘在图2的示范性计算节点(110)中,但总线适配器(158)也可以包括用于支持视频适配器与计算节点(110)的其它组件之间的数据通信的视频总线的驱动电子设备。图2未描绘这样的视频部件是因为计算节点通常实现成安装在服务器机壳中的刀片服务器或没有专用视频支持的并行计算机中的节点。但是,读者应该注意到,可用在本发明实施例中的计算节点可以包括这样的视频部件。
图2的示范性计算节点(110)还包括通过扩充总线(160)和总线适配器(158)与处理器(156)和示范性计算节点(110)的其它组件耦合的盘驱动器适配器(172)。盘驱动器适配器(172)将具有盘驱动器(170)形式的非易失性数据存储设备与示范性计算节点(110)连接。用在计算节点中的盘驱动器适配器包括集成驱动电子设备(“IDE”)适配器、小型计算机系统接口(“SCSI”)适配器、和本领域的普通技术人员可以想到的其它适配器。另外,对于计算节点,非易失性计算机存储器可以实现成本领域的普通技术人员可以想到的光盘驱动器、电可擦除可编程只读存储器(所谓的“EEPROM”或“闪速”存储器)、RAM驱动器等。
图2的示范性计算节点(110)包括一个或多个输入/输出(“I/O”)适配器(178)。计算节点中的I/O适配器通过例如控制到像计算机显示屏那样的显示设备的输出,以及来自像键盘和鼠标那样的用户输入设备(181)的用户输入的软件驱动程序和计算机硬件,实现面向用户的输入/输出。尽管未描述在图2的例子中,但本发明的其它实施例中的计算节点可以包括特别为到像显示屏或计算机监视器那样的显示设备的图形输出设计的作为I/O适配器的例子的视频适配器。视频适配器通常通过高速视频总线、总线适配器(158)、和也是高速总线的前侧总线(162)与处理器(156)连接。
图2的示范性计算节点(110)包括用于与其它计算机(182)进行数据通信和用于与数据通信网络(101)进行数据通信的通信适配器(167)。这样的数据通信可以通过RS-232连线,通过像通用串行总线(“USB”)那样的外部总线,通过像IP数据通信网络那样的数据通信网络,和以本领域的普通技术人员可以想到的其它方式串行进行。通信适配器实现一个计算机直接或通过数据通信网络将数据发送到另一个计算机的硬件级数据通信。可用于根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线数据通信网络通信的IEEE 802.3以太网适配器、和用于无线数据通信网络通信的IEEE802.11b适配器。
尽管参照示范性计算节点对图2作了讨论,但读者应该注意到,包含可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的示范性操作系统服务节点和示范性管理节点的自动计算机器与图2的示范性计算节点(110)类似。也就是说,这样的示范性操作系统服务节点和示范性管理节点包括本领域的普通技术人员可以想到的、与图2的示范性计算节点(110)类似的一个或多个处理器、总线适配器、总线、RAM、通信适配器、I/O适配器、盘驱动器适配器、和其它部件。
为了进一步说明通过管理程序将虚拟处理器分配给逻辑分区,图3给出了例示可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的配有管理程序的示范性计算节点的功能方块图。
图3的系统包括LPAR(302)和LPAR(304)。图3的系统包括分别在LPAR(302)和LPAR(304)中的两个操作系统(306,308)。图3的系统包括六个逻辑处理器(320-325),其中两个用于LPAR(302)中的操作系统(306),四个用于LPAR(304)中的操作系统(308)。逻辑处理器是用于调度执行线程的操作系统结构。它代表能够完成线程执行的处理器资源的一部分。六个线程(310-315)分别在六个逻辑处理器(320-325)上运行,每个逻辑处理器一个线程。图3的系统包括管理程序(111)和四个虚拟处理器,其中两个虚拟处理器(330,331)指定给LPAR(302),两个虚拟处理器(332,333)指定给LPAR(304)。
图3的系统还包括三个物理处理器(340,342,344)。在本说明书中的例子中,根据处理单位(processing unit)分享物理处理器(340,342,344),1.0处理单位代表一个物理处理器的处理能力。在本例中,按如下方式将三个物理处理器(340,342,344)的处理能力分派给LPAR:
--将物理处理器(340)的所有处理能力全部分配给虚拟处理器(330),以便逻辑处理器(320)可使用整个物理处理器(340)。
--将物理处理器(342)的一半处理能力分配给虚拟处理器(331),以便逻辑处理器(321)在时间片方面可使用一半物理处理器(342)。
--将物理处理器(342)的一半处理能力分配给虚拟处理器(332)。将虚拟处理器(332)分配给利用用于虚拟处理器(332)的两个逻辑处理器(322,323)以同时多线程模式运行的LPAR(304)。逻辑处理器(322)和逻辑处理器(323)的每一个在时间片方面可使用物理处理器(342)的四分之一处理能力。
--将物理处理器(342)的所有处理能力分配给虚拟处理器(333)。将虚拟处理器(333)分配给以利用用于虚拟处理器(333)的两个逻辑处理器(324,325)以同时多线程模式运行的LPAR(304)。逻辑处理器(324)和逻辑处理器(325)的每一个在时间片方面可使用物理处理器(344)的一半处理能力。
图3的系统中物理处理器、虚拟处理器、和逻辑处理器的编号、布置、和分配只是为了说明,而不是限制本发明。可用于根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的计算节点可以支持众多逻辑分区,并可以包括物理处理器、虚拟处理器、和逻辑处理器的任何编号、布置、和分配。
为了进一步说明,图4给出了例示根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的示范性方法的流程图。计算系统包括至少一个计算节点。计算节点包括操作系统和管理程序。操作系统包括内核。管理程序包括内核代理和具有某种服务类型的多个操作系统服务。
图4的方法包括在计算节点上建立(400)指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略(122)。图4的内核策略(122)是将操作系统服务映射到内核代理使用的一种类型的操作系统服务的表格。在图4的例子中,内核策略(122)的每条记录识别在管理程序中内核代理将哪个操作系统服务用于特定服务类型。为了识别在管理程序中将哪个操作系统服务用于特定服务类型,内核策略(122)的每条记录包括操作系统服务标识符(402)和服务类型(404)。可以在内核策略(122)中指定的操作系统服务的示例性类型(404)可以包括例如任务调度器、文件系统、存储器管理、设备驱动器、I/O调度器、中断/信号管理、安全、作业提交、tty管理等。关于可用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的内核策略(122)的例子,考虑如下表格:
Figure C20071015364300221
在表1的示范性内核策略中,将操作系统服务标识符(402)的值“UFS_Service”与服务类型(404)的值“File_System”相关联指定,当内核代理需要访问文件系统服务类型时,内核代理使用实现Unix文件系统的操作系统服务。将操作系统服务标识符(402)的值“Round_Robin_MM_Algorithm”与服务类型(404)的值“Memory_Management”相关联指定,当内核代理需要访问存储器管理服务类型时,内核代理使用实现Round_Robin算法的操作系统服务。将操作系统服务标识符(402)的值“Limited_I/O_Access”与服务类型(404)的值“I/O_Scheduler”相关联指定,当内核代理使用I/O调度器服务类型时,内核代理使用实现有限I/O访问的操作系统服务。读者应该注意到,上面的示范性内核策略(122)用于说明,而不是用于限制。本领域的普通技术人员可以想到的其它内核策略也可以用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中。
在图4的方法中,在计算节点上建立(400)指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略(122)可以通过在管理模块中从系统管理人员那里接收操作系统服务与服务类型之间的映射,和由管理模块根据映射在计算节点上创建内核策略(122)来实现。管理模块是系统管理人员可以用来配置包括计算节点的计算系统的软件组件。管理模块在其上创建内核策略(122)的特定计算节点通常由系统管理人员通过管理模块提供的用户界面指定。管理模块可以直接安装在计算节点或与计算节点连接的任何其它计算机网络上。管理模块可以通过利用共享存储空间实现的数据通信连线、CORBA框架、JTAG网络、万维网服务、MPI库、或本领域的普通技术人员可以想到的任何其它数据通信实现方式,在计算节点上创建内核策略(122)。
“JTAG”是用于IEEE 1149.1标准的常用名,IEEE 1149.1标准被称为用于利用边界扫描测试印刷电路板的测试访问端口的“标准测试访问端口和边界扫描体系结构”。JTAG被广泛采用,以致于现在边界扫描几乎与JTAG同义。JTAG不仅用于印刷电路板,而且用于进行集成电路的边界扫描,还用作调试嵌入式系统、提供进入系统的方便“后门”的机制。利用JTAG网络,管理模块可以在用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中的计算节点中有效地配置处理器寄存器和存储器。
图4的方法包括由内核代理指定(401)供管理程序中的内核代理使用的服务类型(405)。内核代理可以通过在沿着执行流的特定点上将包含服务类型(405)的指令包括在实现内核代理的计算机程序指令中,根据图4的方法指定用在管理程序中的服务类型(405)。例如,在沿着内核代理的执行流的特定点上,实现内核代理的计算机程序指令可以包含代表如下指令的机器码:
Execute_Service(‘File_System’)
在上面的示范性指令中,函数“Execute_Service”是指令内核代理执行在内核策略(122)中为具有“File_System”值的特定类型(450)指定的操作系统服务的函数。将这样的示范性指令包含在实现内核代理的计算机程序指令中指定管理程序使用文件系统服务类型的服务。读者应该注意到,上面的示范性指令用于说明,而不是用于限制。本领域的普通技术人员可以想到的其它指令也可以用在根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务中。
图4的方法包括由内核代理根据指定的服务类型(405)从内核策略(122)中检索(403)指定操作系统服务(407)。根据图4的方法由内核代理根据指定的服务类型(405)从内核策略(122)中检索指定操作系统服务(407)可以通过在内核策略(122)中查找与具有与指定服务类型(405)相同的值的服务类型(404)相关联的操作系统服务标识符(402)来实现。
图4的方法还包括由内核代理确定(406)内核代理是否能够访问指定的操作系统服务(407)。根据图4的方法由内核代理确定(406)内核代理是否能够访问指定操作系统服务(407)可以通过为指定操作系统服务(407)调用API的函数来实现。如果函数调用向内核代理返回错误,那么内核代理不能访问指定操作系统服务。如果函数调用未向内核代理返回错误,那么内核代理能够访问指定操作系统服务。如上所述,相同服务类型的操作系统服务可以具有相同的应用编程接口。每种服务类型的API可以编码成实现内核代理的计算机程序指令。
图4的方法包括当内核代理不能访问指定操作系统服务(407)时,由计算节点执行(408)实现服务类型(404)的默认操作系统服务的计算机程序指令。根据图4的方法由计算节点执行(408)实现服务类型(404)的默认操作系统服务的计算机程序指令可以通过在默认服务表(412)中查找与服务类型(404)相关联的默认操作系统服务标识符(414)和为默认操作系统服务标识符(414)所代表的默认操作系统服务调用API的函数来实现。默认服务表(412)与内核策略(122)类似。默认服务表(412)的每条记录识别哪个默认操作系统服务在管理程序中用于特定服务类型。默认服务表(412)的每条记录包括默认操作系统服务标识符(414)和服务类型(404)。尽管在默认服务表(412)中指定了图4的默认操作系统服务,但读者应该注意到,这样的实施例用于说明,而不是用于限制。在其它实施例中,内核策略(122)可以包含指定特定服务类型的用在操作系统中的默认操作系统服务的字段,或每种服务类型的默认服务可以编码到内核代理本身中。
图4的方法还包括由内核代理访问(410)指定操作系统服务(407)。根据图4的方法由内核代理访问(410)指定操作系统服务(407)可以通过为指定操作系统服务(407)调用API的函数来实现。但是,为指定操作系统服务(407)调用API的函数只是为了说明,而不是为了限制。在另一个实施例中,管理模块可以根据内核策略(122)修改内核代理代码中的进入和退出钩,以便使处理器控制在执行流中内核代理代码中的适当点从内核代理转移到操作系统服务。在这样的例子中,访问(410)服务类型的指定操作系统服务可以简单地通过执行实现内核代理的计算机程序指令来实现。
如上所述,操作系统服务可以分布在分布式计算系统中的一个或多个操作系统服务节点之中。当操作系统服务分布在一个或多个操作系统服务节点之中时,如下面参照图6所讨论的那样,由内核代理访问(410)指定操作系统服务可以通过从操作系统服务节点中检索实现指定操作系统服务的计算机程序指令,和由计算节点执行实现指定操作系统服务的计算机程序指令来实现。如下面参照图7所讨论的那样,由内核代理访问(410)指定操作系统服务也可以通过由内核代理请求操作系统服务节点执行指定操作系统服务,和由操作系统服务节点执行实现指定操作系统服务的计算机程序指令来实现。
如上所述,内核策略是将特定操作系统服务映射到内核代理使用的一种操作系统服务的表格。但是,内核策略可以不将操作系统服务映射到内核代理使用的每种操作系统服务。这样,内核代理经常识别内核策略是否指定了用于特定服务类型的操作系统服务,以及如果内核策略未指定指定服务类型的操作系统服务,执行实现指定服务类型的默认操作系统服务的计算机程序指令。因此,为了进一步说明,图5给出了例示包括由内核代理识别(500)内核策略是否指定了指定服务类型(405)的操作系统服务、根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的进一步示范性方法的流程图。在图5的例子中,计算系统包括至少一个计算节点。计算节点包括操作系统和管理程序。操作系统包括内核。管理程序包括内核代理和一种服务类型的多个操作系统服务。
图5的方法与图4的方法的相似之处在于图5的方法包括在计算节点上建立(400)指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略(122),由内核代理指定(401)供管理程序中的内核代理使用的服务类型(405),由内核代理根据指定服务类型(405),从内核策略(122)中检索(403)指定操作系统服务(407),和由内核代理访问(410)指定操作系统服务(407)。图5的例子与图4的例子的相似之处还在于内核策略(122)的每条记录包括操作系统服务标识符(402)和服务类型(404)。另外,图5的例子与图4的例子的相似之处还在于图5的例子包括默认服务表(412)并且表格(412)的每条记录包括默认操作系统服务标识符(414)和服务类型(404)。
图5的方法包括由内核代理识别(500)内核策略(122)是否指定了指定服务类型(405)的操作系统服务。根据图5的方法由内核代理识别(500)内核策略(122)是否指定了指定服务类型(405)的操作系统服务可以通过在内核策略(122)中搜索其服务类型(404)的值与指定服务类型(405)的值匹配的记录来实现。如果未找到记录,那么,内核策略(122)未指定指定服务类型(405)的操作系统服务。如果找到记录,那么,内核策略(122)确实指定了指定服务类型(405)的操作系统服务。读者应该注意到,通过在内核策略(122)中搜索其服务类型(404)的值与指定服务类型(405)的值匹配的记录识别(500)内核策略(122)是否指定了指定服务类型(405)的操作系统服务是为了说明,而不是为了限制。在本发明的其它实施例中,内核策略(122)可以包含用在操作系统中的每种服务类型的记录。在这样的实施例中,识别(500)内核策略(122)是否指定了指定服务类型(405)的操作系统服务可以通过识别内核策略(122)中的特定记录的操作系统服务标识符(402)是否包含NULL值来实现。
图5的方法还包括当内核策略(122)未指定指定服务类型(405)的操作系统服务时,由计算节点执行(502)实现指定服务类型(405)的默认操作系统服务的计算机程序指令。根据图5的方法由计算节点执行(502)实现指定服务类型(405)的默认操作系统服务的计算机程序指令可以通过在默认服务表(412)中查找与服务类型(404)相关联的默认操作系统服务标识符(414),和为默认操作系统服务标识符(414)所代表的默认操作系统服务调用API的函数来实现。尽管在默认服务表(412)中指定了图5的默认操作系统服务,但读者应该注意到,这样的实施例用于说明,而不是用于限制。在其它实施例中,内核策略(122)可以包含指定用于特定服务类型的用在操作系统中的默认操作系统服务的字段,或者每种服务类型的默认服务可以编码到内核代理本身中。
如上所述,操作系统服务可以分布在分布式计算系统中的一个或多个操作系统服务节点之中。当操作系统服务分布在一个或多个操作系统服务节点之中时,由内核代理访问指定操作系统服务可以通过访问操作系统服务节点的指定操作系统服务来实现。因此,为了进一步说明,图6给出了例示包括访问(602)操作系统服务节点的指定操作系统服务(407)、根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的进一步示范性方法的流程图。在图6的例子中,计算系统包括至少一个计算节点和一个或多个操作系统服务节点。计算节点包括操作系统和管理程序。操作系统包括内核。管理程序包括内核代理和一种服务类型的多个操作系统服务。在图6的例子中,一个或多个操作系统服务分布在操作系统服务节点之中。
图6的方法与图4的方法的相似之处在于图6的方法包括在计算节点上建立(400)指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略(122),由内核代理指定(401)供管理程序中的内核代理使用的服务类型(405),由内核代理根据指定服务类型(405)从内核策略(122)中检索(403)指定操作系统服务(407),和由内核代理访问(410)指定操作系统服务(407)。图6的例子与图4的例子的相似之处还在于内核策略(122)的每条记录包括操作系统服务标识符(402)和服务类型(404)。但是,在图6的例子中,内核策略(122)通过将操作系统服务节点标识符(600)包括在每条记录中,还指定了要提供指定操作系统服务(407)的操作系统服务节点。在图6的例子中,指定操作系统服务(407)分布在操作系统服务节点之一上。
在图6的方法中,由内核代理访问(410)指定操作系统服务(407)包括访问(602)操作系统服务节点的指定操作系统服务(407)。根据图6的方法访问(602)操作系统服务节点的指定操作系统服务(407)可以通过由内核代理从操作系统服务节点中检索(604)实现指定操作系统服务(407)的计算机程序指令(606)来实现。计算机程序指令(606)代表实现指定操作系统服务(407)的机器码。尽管图6的计算机程序指令(606)代表机器码,但这样的代表是为了说明,而不是为了限制。事实上,图6的计算机程序指令(606)也可以代表用汇编语言或像,例如,Java那样的高级语言实现的计算机程序指令。
根据图6的方法由内核代理从操作系统服务节点中检索(604)实现指定操作系统服务(407)的计算机程序指令(606)可以通过将操作系统服务请求发送到指定操作系统服务(407)在其上分布的操作系统服务节点上的服务程序服务器,和从服务程序服务器接收实现指定操作系统服务的计算机程序指令(606)来实现。操作系统服务请求是操作系统服务节点将操作系统服务提供给管理程序中的内核代理的请求。操作系统服务请求可以包括用于指定操作系统服务(407)的操作系统服务标识符(402)。内核代理可以利用万维网服务、调用CORBA对象的成员方法、利用MPI库、或本领域的普通技术人员可以想到的任何其它数据通信实现方式将操作系统服务请求发送到操作系统服务节点上的服务程序服务器和检索计算机程序指令(606)。
根据图6的方法访问(602)操作系统服务节点的指定操作系统服务(407)也可以通过由计算节点执行(608)实现指定操作系统服务(407)的计算机程序指令(606)来实现。根据图6的方法由计算节点执行(608)实现指定操作系统服务(407)的计算机程序指令(606)可以通过调度实现指定操作系统服务(407)的计算机程序指令(606)以便在计算节点上执行来实现。如上所述,图6的计算机程序指令(606)可以代表用汇编语言或像例如Java那样的高级语言实现的计算机程序指令。在这样的实施例中,执行(608)实现指定操作系统服务(407)的计算机程序指令(606)可以通过将计算机程序指令(606)翻译成机器码和调度机器码以便在计算节点上执行来实现。
在图6的方法中,访问操作系统服务节点的指定操作系统服务是通过在计算节点上执行实现指定操作系统服务的计算机程序指令实现的。但是,访问操作系统服务节点的指定操作系统服务也可以通过在操作系统服务节点上执行实现指定操作系统服务的计算机程序指令来实现。因此,为了进一步说明,图7给出了例示包括由操作系统服务节点执行(708)实现指定操作系统服务(407)的计算机程序指令(706)、根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务的进一步示范性方法的流程图。在图7的例子中,计算系统包括至少一个计算节点和一个或多个操作系统服务节点。计算节点包括操作系统和管理程序。操作系统包括内核。管理程序包括内核代理和一种服务类型的多个操作系统服务。在图7的例子中,一个或多个操作系统服务分布在操作系统服务节点之中。
图7的方法与图4的方法的相似之处在于图7的方法包括在计算节点上建立(400)指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略(122),由内核代理指定(401)供管理程序中的内核代理使用的服务类型(405),由内核代理根据指定服务类型(405)从内核策略(122)中检索(403)指定操作系统服务(407),和由内核代理访问(410)指定操作系统服务(407)。图7的例子与图4的例子的相似之处还在于内核策略(122)的每条记录包括操作系统服务标识符(402)和服务类型(404)。但是,在图7的例子中,内核策略(122)通过将操作系统服务节点标识符(600)包括在每条记录中,还指定了要提供指定操作系统服务(407)的操作系统服务节点。在图7的例子中,指定操作系统服务(407)分布在操作系统服务节点之一上。
在图7的方法中,由内核代理访问(410)指定操作系统服务(407)包括访问(602)操作系统服务节点的指定操作系统服务(407)。根据图7的方法访问(602)操作系统服务节点的指定操作系统服务(407)可以通过由内核代理请求(700)操作系统服务节点执行指定操作系统服务,和由操作系统服务节点接收(704)服务执行请求(702)来实现。由内核代理请求(700)操作系统服务节点执行指定操作系统服务可以通过将服务执行请求(702)发送到指定操作系统服务(407)分布在其上的操作系统服务节点上的服务程序服务器来实现。服务执行请求(702)是操作系统服务节点为内核代理执行操作系统服务的请求。服务执行请求(702)可以包括指定操作系统服务(407)的操作系统服务标识符(402)。内核代理可以利用万维网服务、调用CORBA对象的成员方法、利用MPI库、或本领域的普通技术人员可以想到的任何其它数据通信实现方式将服务执行请求发送到操作系统服务节点上的服务程序服务器。
根据图7的方法访问(602)操作系统服务节点的指定操作系统服务(407)也可以通过由操作系统服务节点执行(708)实现指定操作系统服务(407)的计算机程序指令(706)来实现。计算机程序指令(706)代表实现指定操作系统服务的机器码。根据图7的方法由操作系统服务节点执行(708)实现指定操作系统服务(407)的计算机程序指令(706)可以通过调度实现指定操作系统服务(407)的计算机程序指令(706)以便在操作系统服务节点上执行来实现。在执行了计算机程序指令(706)之后,操作系统服务节点上的服务程序服务器可以将指示执行是否成功的消息发送到内核代理。
就上文给出的说明而言,读者应该认识到,根据本发明的实施例在计算系统上的管理程序中提供基于策略的操作系统服务提供了如下好处:
通过根据节点的硬件和软件环境提供操作系统服务,为节点配置支持多个操作系统的管理程序的能力,所述多个操作系统包括由管理程序支持的轻量操作系统;
通过提供各种操作系统服务来支持操作系统,使轻量操作系统适应新环境或满足新要求的管理程序的能力;和
通过在管理程序中实现操作系统的一些功能来减少管理程序的管理开销的能力。
本发明的示范性实施例主要是在在管理程序中提供基于策略的操作系统服务的全功能计算系统的背景下描述的。但是,本领域的普通读者应该认识到,本发明也可以实施在位于与任何适当数据处理系统一起使用的信号承载媒体上的计算机程序产品中。这样的信号承载媒体可以是用于机器可读信息的传输媒体或可记录媒体,包括磁媒体、光媒体、或其它适当媒体。可记录媒体的例子包括硬盘驱动器中的磁盘或软盘、光驱动器的光盘、磁带、和本领域的普通技术人员可以想到的其它媒体。传输媒体的例子包括用于语音通信的电话网络、和像例如EthernetsTM和与因特网和环球网通信的网络那样的数字数据通信网络,以及像例如根据IEEE 802.11系列规范实现的网络那样的无线传输媒体。本领域的普通技术人员应该马上认识到,拥有适当编程手段的任何计算机系统都能够执行实施在程序产品中的本发明的方法的步骤。本领域的普通技术人员应该马上认识到,尽管在本说明书中描述的一些示范性实施例针对安装在计算机硬件上和在计算机硬件上执行的软件,然而,实现成固件或硬件的可替代实施例也在本发明的范围内。
从前面的描述中可以知道,可以对本发明的各种实施例加以修改和改变而不偏离其精神。本说明书中的描述只是用于例示的目的,而不应该从限制的意义上来理解。本发明的范围只由所附权利要求书的语言限定。

Claims (12)

1.一种在计算系统上的管理程序中提供基于策略的操作系统服务的方法,
计算系统包括至少一个计算节点,计算节点包括操作系统和管理程序,操作系统包括内核,管理程序包括内核代理和具有某种服务类型的多个操作系统服务,所述方法包括:
在计算节点上建立指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略;和
由内核代理访问指定操作系统服务。
2.根据权利要求1所述的方法,其中:
计算系统是进一步包括一个或多个操作系统服务节点的分布式计算系统;
一个或多个操作系统服务分布在操作系统服务节点之中;
内核策略还指定要提供指定操作系统服务的操作系统服务节点;以及
由计算节点的内核代理访问指定操作系统服务进一步包括由计算节点的内核代理访问操作系统服务节点的指定操作系统服务。
3.根据权利要求2所述的方法,其中,由计算节点的内核代理访问操作系统服务节点的指定操作系统服务进一步包括:
由内核代理从操作系统服务节点检索实现指定操作系统服务的计算机程序指令;和
由计算节点执行实现指定操作系统服务的计算机程序指令。
4.根据权利要求2所述的方法,其中,由计算节点的内核代理访问操作系统服务节点的指定操作系统服务进一步包括:
由内核代理请求操作系统服务节点执行指定操作系统服务;和
由操作系统服务节点执行实现指定操作系统服务的计算机程序指令。
5.根据权利要求1所述的方法,进一步包括:
由内核代理确定该内核代理是否能够访问指定操作系统服务;和
如果内核代理不能访问指定操作系统服务,由计算节点执行实现默认操作系统服务的计算机程序指令。
6.根据权利要求1所述的方法,其中,管理程序进一步包括其它服务类型的操作系统服务,该方法进一步包括:
由内核代理识别内核策略是否指定了所述其它服务类型的操作系统服务;和
如果内核策略未指定所述其它服务类型的操作系统服务,由计算节点执行实现所述其它服务类型的默认操作系统服务的计算机程序指令。
7.根据权利要求1所述的方法,其中:
所述服务类型的操作系统服务具有相同的应用编程接口;以及
由计算节点的内核代理访问指定操作系统服务进一步包括通过将相同的应用编程接口用于指定操作系统服务的服务类型来访问指定操作系统服务。
8.根据权利要求1所述的方法,其中,计算系统是并行计算机。
9.一种在管理程序中提供基于策略的操作系统服务的计算系统,该计算系统包括至少一个计算节点,计算节点包括操作系统和管理程序,操作系统进一步包括内核,管理程序进一步包括内核代理和具有某种服务类型的多个操作系统服务,该计算系统进一步包括计算机处理器和可操作地与计算机处理器耦合的计算机存储器,所述计算机处理器被配置成:
在计算节点上建立指定供管理程序中的内核代理使用的服务类型的操作系统服务之一的内核策略;和
由内核代理访问指定操作系统服务。
10.根据权利要求9所述的计算系统,其中:
计算系统是进一步包括一个或多个操作系统服务节点的分布式计算系统;
一个或多个操作系统服务分布在操作系统服务节点中;
内核策略还指定要提供指定操作系统服务的操作系统服务节点;和
由计算节点的内核代理访问指定操作系统服务进一步包括由计算节点的内核代理访问操作系统服务节点的指定操作系统服务。
11.根据权利要求10所述的计算系统,其中,由计算节点的内核代理访问操作系统服务节点的指定操作系统服务进一步包括:
由内核代理从操作系统服务节点中检索实现指定操作系统服务的计算机程序指令;和
由计算节点执行实现指定操作系统服务的计算机程序指令。
12.根据权利要求10所述的计算系统,其中,由计算节点的内核代理访问操作系统服务节点的指定操作系统服务进一步包括:
由内核代理请求操作系统服务节点执行指定操作系统服务;和
由操作系统服务节点执行实现指定操作系统服务的计算机程序指令。
CNB200710153643XA 2006-10-26 2007-09-07 在管理程序中提供基于策略的操作系统服务的方法和系统 Active CN100570565C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/553,077 US8032899B2 (en) 2006-10-26 2006-10-26 Providing policy-based operating system services in a hypervisor on a computing system
US11/553,077 2006-10-26

Publications (2)

Publication Number Publication Date
CN101169735A CN101169735A (zh) 2008-04-30
CN100570565C true CN100570565C (zh) 2009-12-16

Family

ID=39390372

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200710153643XA Active CN100570565C (zh) 2006-10-26 2007-09-07 在管理程序中提供基于策略的操作系统服务的方法和系统

Country Status (3)

Country Link
US (1) US8032899B2 (zh)
JP (1) JP5106036B2 (zh)
CN (1) CN100570565C (zh)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7926058B2 (en) * 2007-02-06 2011-04-12 Mba Sciences, Inc. Resource tracking method and apparatus
US20080222659A1 (en) * 2007-03-09 2008-09-11 Microsoft Corporation Abstracting operating environment from operating system
EP2582091B1 (en) 2007-09-26 2017-05-31 Nicira Inc. Network operating system for managing and securing networks
WO2009120198A1 (en) * 2008-03-27 2009-10-01 Hewlett-Packard Development Company, L.P. Raid array access by a raid array-unaware operating system
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US9137739B2 (en) 2009-01-28 2015-09-15 Headwater Partners I Llc Network based service policy implementation with network neutrality and user privacy
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US9286080B2 (en) 2008-07-02 2016-03-15 Hewlett-Packard Development Company, L.P. Memory management for hypervisor loading
US8843742B2 (en) 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
US8656018B1 (en) 2008-09-23 2014-02-18 Gogrid, LLC System and method for automated allocation of hosting resources controlled by different hypervisors
CN102224470B (zh) * 2008-11-24 2015-11-25 Abb研究有限公司 用于提供控制和自动化服务的系统和方法
JP5333735B2 (ja) * 2009-01-27 2013-11-06 日本電気株式会社 仮想計算機システム、仮想計算機のマイグレーション方法、及びプログラム
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US8606911B2 (en) 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
JP5365840B2 (ja) * 2009-02-09 2013-12-11 日本電気株式会社 マルチプロセッサシステム、及びマルチプロセッサシステムの動作方法
CA2913167C (en) 2009-04-01 2018-06-12 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US8843927B2 (en) * 2009-04-23 2014-09-23 Microsoft Corporation Monitoring and updating tasks arrival and completion statistics without data locking synchronization
US9069596B2 (en) * 2009-11-17 2015-06-30 International Business Machines Corporation Hypervisor file system
US20110219373A1 (en) * 2010-03-02 2011-09-08 Electronics And Telecommunications Research Institute Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
US8601226B1 (en) 2010-05-20 2013-12-03 Gogrid, LLC System and method for storing server images in a hosting system
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8964528B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US8817620B2 (en) 2010-07-06 2014-08-26 Nicira, Inc. Network virtualization apparatus and method
US20120124518A1 (en) * 2010-11-16 2012-05-17 Microsoft Corporation Managing Operations via a User Interface
US8621461B1 (en) * 2010-11-22 2013-12-31 Netapp, Inc. Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
US11210674B2 (en) 2010-11-29 2021-12-28 Biocatch Ltd. Method, device, and system of detecting mule accounts and accounts used for money laundering
US10069837B2 (en) * 2015-07-09 2018-09-04 Biocatch Ltd. Detection of proxy server
US9288117B1 (en) 2011-02-08 2016-03-15 Gogrid, LLC System and method for managing virtual and dedicated servers
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US9043452B2 (en) 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
US8880657B1 (en) 2011-06-28 2014-11-04 Gogrid, LLC System and method for configuring and managing virtual grids
US20130212237A1 (en) * 2012-02-10 2013-08-15 Suhas SHIVANNA Proxy infrastructure to access firmware-based features
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
RU2600538C2 (ru) * 2014-04-08 2016-10-20 Интел Корпорейшн Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде
US9569195B2 (en) 2014-05-13 2017-02-14 Zscaler, Inc. Systems and methods for live operating system upgrades of inline cloud servers
US9628279B2 (en) * 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Protecting application secrets from operating system attacks
US9547540B1 (en) * 2015-12-21 2017-01-17 International Business Machines Corporation Distributed operating system functions for nodes in a rack
US10318311B2 (en) 2016-06-30 2019-06-11 Amazon Technologies, Inc. Memory allocation techniques at partially-offloaded virtualization managers
US10127068B2 (en) 2016-06-30 2018-11-13 Amazon Technologies, Inc. Performance variability reduction using an opportunistic hypervisor
US10318737B2 (en) 2016-06-30 2019-06-11 Amazon Technologies, Inc. Secure booting of virtualization managers
US10362110B1 (en) * 2016-12-08 2019-07-23 Amazon Technologies, Inc. Deployment of client data compute kernels in cloud
US9983823B1 (en) 2016-12-09 2018-05-29 Amazon Technologies, Inc. Pre-forking replicas for efficient scaling of a distribued data storage system
CN108984264B (zh) * 2017-06-02 2022-11-15 阿里巴巴集团控股有限公司 虚拟gpu的实现方法、装置及系统
US11218364B2 (en) 2018-06-25 2022-01-04 Amazon Technologies, Inc. Network-accessible computing service for micro virtual machines
CN109032029B (zh) * 2018-08-14 2020-12-08 北京东土科技股份有限公司 工业服务器对外通信方法、系统、装置及工业服务器
US10833949B2 (en) 2018-11-20 2020-11-10 Amazon Technologies, Inc Extension resource groups of provider network services
US10848418B1 (en) 2019-06-24 2020-11-24 Amazon Technologies, Inc. Packet processing service extensions at remote premises
US10853263B1 (en) * 2019-07-23 2020-12-01 Ati Technologies Ulc Unified kernel virtual address space for heterogeneous computing
US11182182B2 (en) * 2019-07-24 2021-11-23 Vmware, Inc. Calling arbitrary functions in the kernel via a probe script
US11853771B1 (en) 2019-09-24 2023-12-26 Amazon Technologies, Inc. Offload card based virtualization of a pre-assembled computer system integrated into a server for a virtualization service
US11064017B2 (en) 2019-09-24 2021-07-13 Amazon Technologies, Inc. Peripheral device enabling virtualized computing service extensions
US11520530B2 (en) 2019-09-24 2022-12-06 Amazon Technologies, Inc. Peripheral device for configuring compute instances at client-selected servers
US11113046B1 (en) 2019-09-24 2021-09-07 Amazon Technologies, Inc. Integration and remote control of a pre-assembled computer system into a server for a virtualization service
US11243589B1 (en) 2019-09-24 2022-02-08 Amazon Technologies, Inc. Remote power button actuation device for a pre-assembled computer system integrated into a server for a virtualization service
US11605016B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing service supporting local execution of hybrid algorithms
US11605033B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing task translation supporting multiple quantum computing technologies
US11704715B2 (en) 2019-11-27 2023-07-18 Amazon Technologies, Inc. Quantum computing service supporting multiple quantum computing technologies
US11650869B2 (en) 2019-11-27 2023-05-16 Amazon Technologies, Inc. Quantum computing service with local edge devices supporting multiple quantum computing technologies
US11569997B1 (en) 2020-03-09 2023-01-31 Amazon Technologies, Inc. Security mechanisms for data plane extensions of provider network services
US11977957B2 (en) 2021-08-03 2024-05-07 Amazon Technologies, Inc. Quantum computing program compilation using cached compiled quantum circuit files
EP4145318A1 (en) * 2021-09-06 2023-03-08 AO Kaspersky Lab System and method for monitoring delivery of messages passed between processes from different operating systems
US11797276B1 (en) 2021-09-30 2023-10-24 Amazon Technologies, Inc. Assisted composition of quantum algorithms
US11907092B2 (en) 2021-11-12 2024-02-20 Amazon Technologies, Inc. Quantum computing monitoring system
KR102465953B1 (ko) * 2022-05-30 2022-11-11 쿤텍 주식회사 하이퍼바이저 시스템 및 하이퍼바이저 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892383B1 (en) * 2000-06-08 2005-05-10 International Business Machines Corporation Hypervisor function sets
US20050160423A1 (en) * 2002-12-16 2005-07-21 Bantz David F. Enabling a guest virtual machine in a windows environment for policy-based participation in grid computations
US20050251806A1 (en) * 2004-05-10 2005-11-10 Auslander Marc A Enhancement of real-time operating system functionality using a hypervisor

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860201A (en) 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US4910669A (en) 1987-04-03 1990-03-20 At&T Bell Laboratories Binary tree multiprocessor
US5095444A (en) 1989-12-21 1992-03-10 Legent Corporation System and method for measuring inter-nodal transmission delays in a communications network
US5063562A (en) 1990-05-23 1991-11-05 International Business Machines Corporation Flow control for high speed networks
US6047122A (en) 1992-05-07 2000-04-04 Tm Patents, L.P. System for method for performing a context switch operation in a massively parallel computer system
US6336143B1 (en) 1993-09-27 2002-01-01 International Business Machines Corporation Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system
US6101495A (en) 1994-11-16 2000-08-08 Hitachi, Ltd. Method of executing partition operations in a parallel database system
US5491691A (en) 1994-08-16 1996-02-13 Motorola, Inc. Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission
US5651099A (en) 1995-01-26 1997-07-22 Hewlett-Packard Company Use of a genetic algorithm to optimize memory space
US5859981A (en) 1995-07-12 1999-01-12 Super P.C., L.L.C. Method for deadlock-free message passing in MIMD systems using routers and buffers
US5790770A (en) 1995-07-19 1998-08-04 Fujitsu Network Communications, Inc. Method and apparatus for reducing information loss in a communications network
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6295599B1 (en) 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
JP3163237B2 (ja) 1995-09-28 2001-05-08 株式会社日立製作所 並列計算機システムの管理装置
US5815793A (en) 1995-10-05 1998-09-29 Microsoft Corporation Parallel computer
US5826262A (en) 1996-03-22 1998-10-20 International Business Machines Corporation Parallel bottom-up construction of radix trees
JPH09330304A (ja) 1996-06-05 1997-12-22 Internatl Business Mach Corp <Ibm> プロセッサ間の通信スケジュールを決定する方法
US5953336A (en) 1996-08-05 1999-09-14 Virata Limited Method and apparatus for source rate pacing in an ATM network
CA2186675A1 (en) 1996-09-27 1998-03-28 Ka Lun Law Asynchronous transfer mode switching system
US5862381A (en) 1996-11-26 1999-01-19 International Business Machines Corporation Visualization tool for graphically displaying trace data
US6057839A (en) 1996-11-26 2000-05-02 International Business Machines Corporation Visualization tool for graphically displaying trace data produced by a parallel processing computer
US5884080A (en) 1996-11-26 1999-03-16 International Business Machines Corporation System and method for instruction burst performance profiling for single-processor and multi-processor systems
US5826265A (en) 1996-12-06 1998-10-20 International Business Machines Corporation Data management system having shared libraries
US5918020A (en) 1997-02-28 1999-06-29 International Business Machines Corporation Data processing system and method for pacing information transfers in a communications network
US5912893A (en) 1997-03-21 1999-06-15 International Business Machines Corporation Incidence graph based communications and operations method and apparatus for parallel processing architecture
CA2285058C (en) 1997-03-24 2004-06-01 Evan W. Steeg Coincidence detection method, products and apparatus
US6115357A (en) 1997-07-01 2000-09-05 Packeteer, Inc. Method for pacing data flow in a packet-based network
US6118777A (en) 1997-10-27 2000-09-12 Nortel Networks Corporation System and method for providing competing local exchange carriers unbundled access to subscriber access lines
US6563823B1 (en) 1997-10-30 2003-05-13 Marconi Communications, Inc. Multi-resolution tree for longest match address lookups
US7100020B1 (en) 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
US6600721B2 (en) 1998-12-31 2003-07-29 Nortel Networks Limited End node pacing for QOS and bandwidth management
US6490566B1 (en) 1999-05-05 2002-12-03 I2 Technologies Us, Inc. Graph-based schedule builder for tightly constrained scheduling problems
US6691146B1 (en) * 1999-05-19 2004-02-10 International Business Machines Corporation Logical partition manager and method
US6438702B1 (en) 1999-12-21 2002-08-20 Telcordia Technologies, Inc. Method for providing a precise network time service
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
US7054948B2 (en) 2000-03-07 2006-05-30 Opcoast Llc Collaborative host masquerading system
US6633937B2 (en) 2000-12-21 2003-10-14 National Instruments Corporation GPIB system and method which performs autopolling using heuristics
US6836480B2 (en) 2001-04-20 2004-12-28 International Business Machines Corporation Data structures for efficient processing of multicast transmissions
US20030021287A1 (en) 2001-05-04 2003-01-30 Appian Communications, Inc. Communicating data between TDM and packet based networks
US6952692B1 (en) 2002-05-17 2005-10-04 Ncr Corporation Execution of requests in a parallel database system
US6963868B2 (en) 2002-06-03 2005-11-08 International Business Machines Corporation Multi-bit Patricia trees
AU2003268754A1 (en) 2002-10-03 2004-04-23 In4S Inc. Bit string check method and device
US7240059B2 (en) 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US20040111398A1 (en) 2002-12-09 2004-06-10 International Business Machines Corporation Performance mechanism for presenting integrated information in a graphical user interface
GB2399189B (en) 2003-03-05 2006-07-19 Quazal Technologies Inc Coherent data sharing
US7117285B2 (en) 2003-08-29 2006-10-03 Sun Microsystems, Inc. Method and system for efficiently directing interrupts
US7197577B2 (en) 2003-12-12 2007-03-27 International Business Machines Corporation Autonomic input/output scheduler selector
US20050182834A1 (en) 2004-01-20 2005-08-18 Black Chuck A. Network and network device health monitoring
GB0407144D0 (en) 2004-03-30 2004-05-05 British Telecomm Networks
US9619279B2 (en) * 2004-08-18 2017-04-11 Red Bend Software Sas Operating systems sharing supervisor address space with same virtual to physical mapping for supervisor address space using same translation formula with different translation tree
US7509244B1 (en) 2004-12-22 2009-03-24 The Mathworks, Inc. Distributed model compilation
US20060203739A1 (en) 2005-03-14 2006-09-14 Microsoft Corporation Profiling wide-area networks using peer cooperation
JP4675174B2 (ja) 2005-07-12 2011-04-20 株式会社日立製作所 データベース処理方法、システム及びプログラム
US9189291B2 (en) * 2005-12-12 2015-11-17 International Business Machines Corporation Sharing a kernel of an operating system among logical partitions
US20070179760A1 (en) 2006-01-06 2007-08-02 Intel Corporation Method of determining graph isomorphism in polynomial-time
US9201703B2 (en) * 2006-06-07 2015-12-01 International Business Machines Corporation Sharing kernel services among kernels
US7779016B2 (en) 2006-09-14 2010-08-17 International Business Machines Corporation Parallel execution of operations for a partitioned binary radix tree on a parallel computer
US8713582B2 (en) 2006-10-26 2014-04-29 International Business Machines Corporation Providing policy-based operating system services in an operating system on a computing system
US7634388B2 (en) 2006-10-26 2009-12-15 International Business Machines Corporation Providing policy-based operating system services in an operating system on a computing system
US20080109569A1 (en) 2006-11-08 2008-05-08 Sicortex, Inc Remote DMA systems and methods for supporting synchronization of distributed processes in a multi-processor system using collective operations
US8296430B2 (en) 2007-06-18 2012-10-23 International Business Machines Corporation Administering an epoch initiated for remote memory access
US7958274B2 (en) 2007-06-18 2011-06-07 International Business Machines Corporation Heuristic status polling
US7738443B2 (en) 2007-06-26 2010-06-15 International Business Machines Corporation Asynchronous broadcast for ordered delivery between compute nodes in a parallel computing system where packet header space is limited
US9065839B2 (en) 2007-10-02 2015-06-23 International Business Machines Corporation Minimally buffered data transfers between nodes in a data communications network
US20090113308A1 (en) 2007-10-26 2009-04-30 Gheorghe Almasi Administering Communications Schedules for Data Communications Among Compute Nodes in a Data Communications Network of a Parallel Computer
US7984450B2 (en) 2007-11-28 2011-07-19 International Business Machines Corporation Dispatching packets on a global combining network of a parallel computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892383B1 (en) * 2000-06-08 2005-05-10 International Business Machines Corporation Hypervisor function sets
US20050160423A1 (en) * 2002-12-16 2005-07-21 Bantz David F. Enabling a guest virtual machine in a windows environment for policy-based participation in grid computations
US20050251806A1 (en) * 2004-05-10 2005-11-10 Auslander Marc A Enhancement of real-time operating system functionality using a hypervisor

Also Published As

Publication number Publication date
CN101169735A (zh) 2008-04-30
JP5106036B2 (ja) 2012-12-26
US20080148300A1 (en) 2008-06-19
US8032899B2 (en) 2011-10-04
JP2008108260A (ja) 2008-05-08

Similar Documents

Publication Publication Date Title
CN100570565C (zh) 在管理程序中提供基于策略的操作系统服务的方法和系统
CN100559348C (zh) 用于提供基于策略的操作系统服务的方法和计算系统
US9396013B2 (en) Method for controlling a virtual machine and a virtual machine system
US9756118B2 (en) Virtual performance monitoring decoupled from hardware performance-monitoring units
US9519795B2 (en) Interconnect partition binding API, allocation and management of application-specific partitions
US9189291B2 (en) Sharing a kernel of an operating system among logical partitions
CN101169733B (zh) 用于提供基于策略的操作系统服务的方法和系统
US7406699B2 (en) Enhanced runtime hosting
US5305455A (en) Per thread exception management for multitasking multithreaded operating system
EP2132640B1 (en) Abstracting operating environment from operating system
EP2182438A1 (en) Virtual machine control method and virtual machine system
US20080148259A1 (en) Structured exception handling for application-managed thread units
US7454547B1 (en) Data exchange between a runtime environment and a computer firmware in a multi-processor computing system
CN101233489A (zh) 具有多个处理器的计算机系统中的自适应进程分派
US20080288942A1 (en) Monitoring performance of a logically-partitioned computer
WO2007038011A1 (en) Real-time threading service for partitioned multiprocessor systems
JP2000132530A (ja) マルチプロセッサコンピュ―タシステム及びその動作方法
US11126575B1 (en) Interrupt recovery management
JPH06348512A (ja) 資源管理コンピュータ・システム
CN117407054A (zh) 中断处理方法、电子设备和存储介质
CA2234796C (en) Portable object-oriented operating system
US20230342234A1 (en) System management mode (smm) error handler
Seo et al. An effective design of master-slave operating system architecture for multiprocessor embedded systems
Katz Popcorn Linux: Cross Kernel Process and Thread Migration in a Linux-Based Multikernel
JPH07306837A (ja) 分散処理のための装置、方法、及びプログラム製品

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