用于在内核间共享内核服务的方法和系统技术方案

技术编号:2918574 阅读:176 留言:0更新日期:2012-04-11 18:40
在内核间对内核服务进行共享包括:由分区管理器从逻辑分区中的应用中接收对来自第一内核的内核服务的第一系统调用,第一系统调用具有与第一内核兼容的形态和内容;根据第一系统调用,生成对来自第二内核的内核服务的第二系统调用,第二系统调用具有与第二内核兼容的形态和内容;以及,通过分区管理器向第二内核发送第二系统调用以供执行。

【技术实现步骤摘要】

本专利技术的
是数据处理,或更具体地,是用于在内核间共享内核服务的方法、装置和产品。
技术介绍
线程是在多线程计算机上软件的执行单元。即,线程是计算机系统中的作业的可执行实体。可将线程视作可执行计算机程序的分立的流。在这样的计算机上,软件程序在被称为“进程”的执行单元中执行,“进程”包括所有软件程序执行所需要的处理器寄存器、代码段和偏移寄存器、数据段和偏移寄存器、堆栈段和偏移寄存器、标志寄存器、指令指针寄存器、程序计数器等等。为了提高效率,“进程”被进一步组织为线程,其中除了有的线程与进程的其他所有线程共享存储器之外,进程的每个线程单独地拥有执行所需的全部属性,因而降低了操作系统从线程切换到线程(“上下文切换”)的开销。在本说明书中讨论了两种模式的多线程同步多线程(“SMT”)和单线程化(“ST”)的多线程。ST多线程是时分复用多线程,即,通过使用时间片或时间量而进行的多线程。在ST模式中,将单独的线程和虚拟处理器二者分配给在时间片断内所分派的处理器计算能力分区,其中每个时间片段被称为“时间片”或“时间量”。一些处理器同时接受来自多于一个线程的计算机程序指令,这种特征被称为“同步多线程”或“SMT”。SMT背后的思想是在多线程化的工作负载的多个线程之间共享芯片上的处理器硬件。SMT是一种允许多个独立线程在单一处理周期内向单一物理处理器发布指令的技术。传统的处理器体系结构是在某一时刻仅从一个线程向处理器发布指令。实现了此处所描述的SMT的处理器的示例是IBM的Power5TM处理器。SMT实现于物理处理器中上,该物理处理器的每一个都能够同时接受来自多于一个的执行线程的指令。在SMT模式中,也可将虚拟处理器和运行于虚拟处理器上的线程二者通过时间片分派。在SMT模式中,可将在虚拟处理器上执行的线程视作运行于逻辑处理器中。因而,在SMT模式中可将运行于物理处理器中的虚拟处理器视为支持多于一个逻辑处理器。不论线程运行于ST模式或SMT模式,运行于逻辑处理器之上的线程意识不到该处理器本质上是逻辑的还是虚拟的,并且将其视作传统处理器。多重处理实现于逐分区地支持在ST模式或SMT模式中的多个逻辑分区的计算机中。每个分区传统上实现整个包括单独的内核的单独的操作系统。内核通过提供内核服务支持运行于逻辑分区中的应用。尽管由内核提供的服务类型通常类似,但不同的内核可用不同的方式实现服务。由于这样的原因,在提供特定内核服务上,一些内核可能比其他内核更好。然而,在传统技术中,具有较好服务的内核无法同另一个内核,甚至另一个同类型内核共享此类服务。举例而言,具有较好的磁盘I/O驱动的Unix内核实例传统上无法将其磁盘I/O驱动用于运行于另一Unix内核的执行线程,即使该另一Unix内核具有完全相同的类型和版本。
技术实现思路
公开了用于在内核之间共享内核服务的方法、装置和计算机程序产品,包括由分区管理器从逻辑分区中的应用接收对来自第一内核的内核服务的第一系统调用,第一系统调用具有与第一内核兼容的形态和内容;根据第一系统调用而生成对来自第二内核的内核服务的第二系统调用,第二系统调用具有与第二内核兼容的形态和内容;以及,通过分区管理器向第二内核发送第二系统调用以供执行。通过下面对在附图中所示出的对本专利技术示例性实施方式更具体的描述,本专利技术的前述以及其他目标、特征和优点将变得显而易见,在附图中,相同的参考数字一般表示本专利技术的示例性实施方式中的相同部分。附图说明图1示出了根据本专利技术的实施方式的包含示例性的可用于在内核间共享内核服务的计算机的自动化计算机器的框图;图2示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的示例性系统的功能框图;图3A示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的示例性线程状态的状态图;图3B示出了根据本专利技术的实施方式的展示了用于调度共享内核的计算机系统中的虚拟处理器的示例性虚拟处理器状态的状态图;图4A示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的进一步示例性系统的功能框图;图4B示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的进一步示例性系统的功能框图;图5示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的示例性方法的流程图;图6示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的进一步示例性方法的流程图;以及图7示出了根据本专利技术的实施方式的展示了用于在内核间共享内核服务的进一步示例性方法的流程图。具体实施例方式由图1开始并结合附图,描述了根据本专利技术的实施方式的用于在内核间共享内核服务的示例性方法、装置和产品。根据本专利技术的在内核间共享内核服务实现于自动化计算机器之上,即,一台或多台计算机。图1示出了根据本专利技术的实施方式的包含示例性的可用于在内核间共享内核服务的计算机(152)的自动化计算机器的框图。图1中的计算机(152)包括一些物理处理器(156)以及通过系统总线(160)连接到该物理处理器以及计算机的其他组件的随机访问存储器(“RAM”)(168)。存储于RAM(168)中的是逻辑分区(114)、应用程序(108)、操作系统(110)、逻辑处理器(106)、分区管理器(112)、两个或更多内核(102、104)、虚拟处理器(122)以及内核共享接口(124)。逻辑分区(“LPAR”)(114)是一组数据结构和服务,其支持在单一计算机内进行计算机资源的分发,以使得该计算机的功能如同是两台或更多台独立的计算机。每个逻辑分区被赋予其运行所需的全部资源,如同该逻辑分区是包括处理器时间、存储器、操作系统等的独立的计算机。逻辑分区和通过逻辑分区而对应用可用的该资源有时被统称作“虚拟机”。为便于解释,图1的系统仅包括一个逻辑分区,但根据本专利技术的实施方式,在内核间共享内核服务的系统可支持任意数量的逻辑分区。应用程序(108)是用户级计算机程序代码的模块。应用程序是非特权代码,其必须通过对操作系统内核的调用而获得对计算机资源的访问。操作系统(110)是系统软件层,其调度线程,并为使系统资源对线程可用而提供包括存储器访问、对输入/输出资源的访问等等的功能。操作系统还控制用于计算机资源的访问的分配和授权。操作系统实现诸如识别来自键盘的输入、向显示屏发送输出、跟踪磁盘驱动器上的文件和目录,以及控制诸如磁盘驱动器和打印机的外围设备等的低层次基本任务。操作系统还负责安全,确保未经授权的用户无法访问系统,并确保线程仅能访问其被授权访问的资源。许多操作系统功能由内核实现,在本例中,内核是主内核(102)或共享内核(104)。根据本专利技术的实施方式,可用于在内核间共享内核服务的操作系统是多线程操作系统,其示例包括UNIXTM、LinuxTM、Microsoft XpTM、ADCTM、IBM的i5/OSTM以及其他那些本领域技术人员将意识到的操作系统。逻辑处理器(106)是用于为在逻辑分区中的执行而调度线程的操作系统的结构。即,操作系统(110)在逻辑处理器(106)上调度用于执行的线程,而不是在物理处理器或虚拟处理器上调度用于执行的线程。在逻辑处理器上调度线程提供了方便的结构和处理,在该结构和处理中,从线程的视角看,该线程呈现出具有可由其支配的整个逻辑分区的全部资本文档来自技高网
...

【技术保护点】
一种在内核间共享内核服务的方法,所述方法包括:由分区管理器从逻辑分区中的应用接收对来自第一内核的内核服务的第一系统调用,所述第一系统调用具有与所述第一内核兼容的形态和内容;根据所述第一系统调用,生成对来自第二内核的所述内核服 务的第二系统调用,所述第二系统调用具有与所述第二内核兼容的形态和内容;以及通过所述分区管理器向所述第二内核发送所述第二系统调用以供执行。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DG弗莱明A邓谢伊
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1