CN1867895A - 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 - Google Patents
用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 Download PDFInfo
- Publication number
- CN1867895A CN1867895A CN200480029966.2A CN200480029966A CN1867895A CN 1867895 A CN1867895 A CN 1867895A CN 200480029966 A CN200480029966 A CN 200480029966A CN 1867895 A CN1867895 A CN 1867895A
- Authority
- CN
- China
- Prior art keywords
- auxiliary operation
- operation system
- operating system
- interrupt
- driver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008569 process Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 2
- 230000008672 reprogramming Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Control Of Eletrric Generators (AREA)
- Radiation-Therapy Devices (AREA)
- Control And Safety Of Cranes (AREA)
Abstract
为了在一台计算机中操作两个操作系统而不会造成性能损伤,本发明建议了一种方法,其中主操作系统的一个用于加载和控制辅助操作系统的辅助操作系统驱动程序(SBS-驱动程序)被加载,该驱动程序接着加载辅助操作系统。本发明还涉及一种具有主操作系统的一个相应辅助操作系统驱动程序(SBS-驱动程序)的装置,此驱动程序在控制主板支持程序包之前工作。
Description
本发明涉及在一台计算机上除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置。
操作一台计算机上的、确切地说加载在一台计算机的随机访问存储器中的两个操作系统是已知的,这两个操作系统的操作无需重新起动计算机,不仅可以通过替代方式而且可以交替地运行。
WO 98/09225展示了一种通过专用的微核(Microkernel)对传统的不具有实时能力的微软视窗系统进行实时扩展的操作系统。
DE 4406094 C2也示出了传统微软视窗系统的一种实时扩展,它借助于一个完整的实时操作系统来实现,这个操作系统独立地、即与视窗系统无关地在计算机上运行。这种辅助的实时操作系统在此只对处理器寄存器的底层和计算机的硬件单元进行直接访问。
在一个操作系统下仿真一个虚拟计算机(虚拟机)也已被公开,在其上可以运行第二个操作系统。这里辅助操作系统在仿真虚拟计算机的监视程序的控制下运行。辅助操作系统可以不直接访问处理器的所有寄存器,而是仅在监视程序的控制下进行访问。现有技术中的主要问题在于,至少一个操作系统的源码必须是已知的,因为在以流行的方式操作时提供者不公开的部分同样会受到攻击,或者甚至在至少一个操作系统上,这些部分、尤其是相同的部分会出现变化。此外的缺点在于,一个操作系统必须在另一个操作系统“之下”运行,即嵌入到另一个操作系统中。
本发明的目的在于提供一种方法和一种装置,借助所述方法和装置可以在一台计算机上运行至少两个操作系统,而不会降低它们的性能,尤其是保持实时能力而不影响辅助操作系统,最多只影响其主板支持程序包,其中辅助操作系统在其被激活时在中央处理单元(CPU)中如此工作:它就像唯一的操作系统那样被加载,并从而可访问整个处理器和它的虚拟存储区,而没有任何限制。
按照本发明,上述关于方法的任务如此完成:主操作系统的一个用于加载和控制辅助操作系统的辅助操作系统驱动程序(SBS驱动程序)被加载。
用于在一台计算机上除了操作一个主操作系统外还操作一个辅助操作系统的装置按照本发明具有主操作系统的一个用于加载和控制辅助操作系统的辅助操作系统驱动程序(SBS驱动程序)。
按照本发明,可以访问辅助操作系统,而无需借助于主操作系统。
两个操作系统并行实现在一台计算机上的设计意味着两个操作系统完全相互独立地在计算机上工作,特别是这些操作系统相互不构成先决条件,即辅助操作系统也不以主操作系统的功能存在为前提。系统驱动程序仅用于操作系统的更换。也可将包括系统驱动程序在内的主操作系统的整个安全区域在辅助操作系统中进行改写,而不损害其功能,反过来回到主操作系统自然不再可能。这意味着不是一个操作系统(特别是辅助操作系统)安装在另一个(特别是主操作系统)之上,或者只是对其进行访问。在一个操作系统运行时并不执行另一个操作系统的代码部分。特别是辅助操作系统在其运行时也不访问系统驱动程序。按照本发明,没有操作系统嵌入到另一个操作系统中,它也不永久性地预设。这对于辅助操作系统比主操作系统更为适用。为了调用和启动一个操作系统,尤其是辅助操作系统,在这个操作系统(辅助操作系统)中也不需要包括系统驱动程序在内的另一操作系统一主操作系统的信息。两个操作系统,尤其是辅助操作系统,是完全自主地运行。
由于按照本发明设置了一个主操作系统的驱动程序,用于通过其主板支持程序包控制和加载辅助操作系统,从而避免了以下问题:即为了除主操作系统之外还操作辅助操作系统,必须改变辅助操作系统的内核。
主板支持程序包是在一个硬件(主板)与一个操作系统之间建立连接(支持)的软件。在多种主板类型(包括处理器、存储器等在内的硬件环境)上应用的操作系统都具有一个BSP(主板支持程序包),它是操作系统的一个固定组成部分。嵌入式操作系统如Windows CE由一个操作系统内核和BSP组成,人们通过改变BSP可使操作系统适配于专门的硬件主板类型,而无需了解操作系统内核。
操作系统的主板支持程序包通常由操作系统的提供者在源代码中给出,因为它包含所谓的基础硬件服务,通过此服务对出问题的操作系统形成必要的硬件的接口,如中断控制器、系统定时器等,并且用于不同主板类型的硬件系统,即不同的CPU主板类型的主板支持系统已被开发出来,如由一家制造厂所指定的、与准标准不同的硬件开发。从而通过本发明所述的解决方案,所有操作系统都可用作辅助操作系统,它可借助于主板支持程序包被配置和适配,而在其用作辅助操作系统时不丧失其性能,并且对于实时操作系统也不会丧失其实时性。
在本发明所述方法的一个优选的方案中,在切换所使用的操作系统时,在易失性存储器中完成中断表的交换。本发明所述装置据此来构造。这样基于辅助操作系统的中断表登录信息在一次中断时辅助操作系统跳转到辅助操作系统的正确的中断服务程序中,从而在没有主操作系统时完成了看起来相同的过程。从而可以在不了解源代码的情况下并行或同时地运行两个操作系统。根据本发明,主操作系统的信息没有存储在辅助操作系统的存储区内。两个操作系统都不具有关于其另一个的信息。
在本发明所述方法的另一个优选的方案中,用主操作系统加载的辅助操作系统驱动程序(SBS驱动程序)来加载辅助操作系统,而且加载到物理随机访问存储器的未被主操作系统所使用的存储区内,最好是其上部区域中。
在优选的实施方式中,在计算机的中央单元(CPU)中获得存储器上下文(虚拟工作空间),其中尤其是SBS驱动程序在中央单元(CPU)中可以占据一个隧道上下文,通过它作为操作系统的工作交换的中介。称作“上下文”的虚拟工作空间由物理存储器的任意一些块组成。一个存储器管理单元(MMU)管理这些在一个被称作MMU表的存储器分配表中的上下文,通过它来写入上下文。在程序技术上,人们在虚拟地址空间中运动,所述虚拟地址空间通过MMU的工作指令映射到物理存储器上。
在改进方案中,在加载辅助操作系统之后实现至该操作系统的跳转,精确说是到主板支持程序包的跳转,这个程序包在进一步的设计中在处理器中建立一个主辅助操作系统的引导程序的上下文。
在另一种方案中,一个包含在驱动程序中的隧道存储器页也被加载到隧道上下文中,程序进程转到这个隧道存储器页中,进一步通过它将辅助操作系统的程序代码加载到新的存储器上下文中,并且辅助操作系统的整个引导过程继续进行。
为了实现上述方法步骤,在本发明所述装置的优选实施方式中,SBS驱动程序具有一个SBS加载段和一个包含隧道存储器页的隧道区。
在本发明所述方法的一个优选方案中,在辅助操作系统被加载后或者在其每次运行中,当辅助操作系统休止时(它进入空循环(Idle-loop)),或者在辅助操作系统的程序运行通过一个相应的跳回命令而跳回到主操作系统时,实现由辅助操作系统至主操作系统的切换。
为了实现这一方法步骤,本发明所述装置中主板支持程序包具有一个相应的跳回段。
本发明所述方法的另一个优选方案中,从主操作系统到辅助操作系统的转换通过一个为辅助操作系统所确定的SBS中断请求来实现。
为此,SBS驱动程序具有一个中断表格段,借助于它SBS驱动程序在主操作系统中产生一个中断调用表(中断表),它还包含一个用于调用辅助操作系统的中断处理程序的调用子程序。
在本发明所述方法的优选改进中,一个中断处理程序在SBS驱动程序中读出辅助操作系统的中断调用表,并在中断调用相关位置处完成或继续进行辅助操作系统的处理。
如果完成了一个不是为主操作系统所确定的中断调用,则SPS系统驱动程序截获此中断调用,并通过主板支持程序包将其送到辅助操作系统,从而本发明借助于主操作系统的SBS驱动程序和辅助操作系统的主板支持程序包实现操作系统间的切换。
特别是到目前为止处理器不支持上下文的直接切换,在本发明另一个方案中,借助于一个在附加到主操作系统上下文和辅助操作系统上下文的隧道上下文中的隧道区实现激活操作系统的切换。
在本发明所述方法的另一优选方案中,在从一个操作系统切换到另一个操作系统时所有的系统状态被存储(在随机访问存储器中),尤其是全部CPU寄存器被存储,并且最好全部的处理器内部缓存被清空。在相应的改进中,在从一个操作系统切换到另一个操作系统时,另一个操作系统的新的系统状态,尤其是CPU寄存器内容和存储器管理表(MMU表)被加载到处理器中。
最后,本发明在另一方案中建议:用于辅助操作系统的时钟产生由硬件主定时器(定时器)完成,即只有辅助操作系统对其进行访问,而用于主操作系统的时钟产生由一个时钟系统驱动器完成。在下述情况下这是特别具有优点的:辅助操作系统是一个用于控制一台工业设备或机器的实时操作系统,同时主操作系统用于由一个操作人员进行操作,并为操作人员特别提供了一个符合人体工程学的图形界面以用于操作。
本发明的其它优点和特征由权利要求和以下的说明给出,在以下的说明中借助附图所示各个实施例详细说明本发明。附图中:
图1示出一台计算机的各个资源对主操作系统和辅助操作系统的配置,并以辅助操作系统为例示出一个操作系统的结构;
图2示出加载辅助操作系统的过程以及在辅助操作系统休止时跳回主操作系统的过程;
图3示出从主操作系统到辅助操作系统的切换;以及
图4说明主操作系统时钟的同步。
图1示出在本发明中一台计算机的(硬件)资源HR对主操作系统PBS和辅助操作系统SBS的配置。此图还以辅助操作系统SBS为例示出一个操作系统的原理结构。
一个操作系统首先具有一个核K作为其中央核心。它还具有一个主板支持程序包,在此程序包中实现基本硬件服务BHD。这些服务描述了操作系统所必需的与硬件—如中断控制器、系统时钟发生器等的接口。BHD使得操作系统可以在不同的硬件系统上使用。习惯上BSP由制造厂以源形式提供,从而硬件制造厂可以使操作系统与其硬件相适配。
操作系统还具有结构服务AD,它形成操作系统所必需的与专门针对中央计算机的服务—如异常处理、中断处理、MMU管理等的接口。AD使得操作系统可以在不同的中央处理器单元主板类型(CPU主板类型)上使用。
操作系统还具有通用的操作系统服务BSD,它给应用软件AS(AS1,AS2)提供优质服务,如存储器管理、网络服务、多任务服务等。在一个操作系统中,通常仅以源形式提供BSP,同时结构服务和通用操作系统服务的适配是不可能的。此外描述了为两个操作系统所配置的物理存储器PS1和PS2以及中断控制部分IC1和IC2,中断控制部分控制对PBS或对SBS的中断。
由图1可见,计算机的主要资源对操作系统的分配如下所述:两个操作系统分别在它们激活的时刻应用全部虚拟存储器VS和整个CPU寄存器CPU-R,特别是如标准寄存器、浮点寄存器、控制寄存器。两个操作系统首先分配随机访问存储器RAM,其中每个操作系统占用此存储器的一部分,并且辅助操作系统SBS最好被加载到随机访问存储器RAM的上面部分。两个操作系统还划分中断控制器IRC,其中为每个操作系统配置了明确的中断。
辅助操作系统特别是单独访问系统定时器SZG,而主操作系统PBS单独访问硬盘EP。此外相应的操作系统还配置有驱动程序T1(主操作系统的驱动程序)或T2(辅助操作系统的驱动程序),用于管理相应操作系统的附加硬件ZHP(用于主操作系统的附加硬件)或ZHS(用于辅助操作系统的附加硬件)。
主操作系统的一个驱动程序是驱动程序SBS-T,用于加载辅助操作系统。
图2示出了辅助操作系统SBS的加载。
这里首先假设,主操作系统PBS以通常的方式借助于一个引导程序被加载到计算机的存储器中,并且与辅助操作系统SBS的系统驱动程序SBS-T一起被加载。
在加载主操作系统PBS之后,首先SBS-T将辅助操作系统SBS加载到RAM存储器的一个独立的、未由主操作系统PBS所使用的存储区中,最好是物理RAM的上部区域,从而辅助操作系统驱动程序SBS-T形成了用于辅助操作系统SBS的引导程序。
除了以通常方式建立主操作系统PBS的存储器上下文外,为了应用辅助操作系统首先通过系统驱动程序建立了一个至辅助操作系统的引导程序的上下文BK,并且在CPU中建立一个隧道上下文TK,用于在主操作系统的上下文PK和上述BK之间进行切换。
在加载到辅助操作系统的主板支持程序包的过程之后完成由系统驱动程序SBS-T到辅助操作系统的跳转(图2中的步骤1至2)。如图中箭头所示,系统驱动程序SBS-T只是对于从主操作系统到辅助操作系统的切换是必要的。然后程序处理在辅助操作系统的主板支持程序包中进行。主板支持程序包同时建立用于引导SBS所需的上下文BK。接着程序进行到隧道上下文TK的隧道区TB(步骤3),引导上下文BK被加载(步骤4)并且继续进行辅助操作系统的引导过程(步骤5)。这里SBS建立其自己的上下文,在将来的每次从PBS到SBS的切换时转到这个上下文中。为此隧道区包含在引导加载上下文或辅助上下文与隧道上下文之间的“转换码”。隧道区正好由一个存储器页组成,在其中存储所述转换码。这些转换码在所有上下文(隧道上下文和引导加载上下文或辅助上下文)中位于其虚拟地址处。
在切换到辅助操作系统SBS之后以及在其运行时,辅助操作系统的系统驱动程序SBS-T不再需要,不再访问主操作系统PBS的这个部分或其它部分,并且不使用它们。辅助操作系统完全自主地工作。
如果辅助操作系统SBS进入休止状态IL(空循环),则自动完成到主操作系统的跳转(步骤6,7,8)。只要辅助操作系统被激活,出现的中断请求仅由辅助操作系统SBS处理。
在加载辅助操作系统SBS之前,以及在每次切换到它时,主操作系统的全部CPU寄存器被存储,并且CPU内部缓存被清空。
在加载辅助操作系统时,以及在切换到辅助操作系统时,辅助操作系统SBS的全部CPU寄存器及其MMU表被加载。
在从辅助操作系统SBS切换到主操作系统SBS时,辅助操作系统的系统状态的保护和系统状态的加载以与主操作系统相应的方式实现。
如果中央计算单元(CPU)支持上下文的直接转换,例如借助于任务—安全程序段的Intel-x86结构就是这种情况,也可以省去隧道上下文,操作系统之间的切换可直接通过主上下文PK和辅助上下文SK实现。
从调用主操作系统PBS使其激活到激活辅助操作系统SBS的切换只在一个为SBS所确定的中断请求(中断)中完成。在出现一次中断请求时,系统驱动程序ST和辅助操作系统的BSP(主板支持程序包)转到辅助操作系统SBS的存储器上下文SK中,并在那里执行相应配置的中断服务程序。
在主操作系统被激活时按照图3所示步骤完成至辅助操作系统的切换:
在主操作系统被激活且中断过程进行时,中央计算单元最好基于中断请求直接转到系统驱动程序(步骤A)—该中断由系统驱动程序获取。系统驱动程序ST保护所有的处理器寄存器,并转换到隧道上下文TK(图2)。系统驱动程序直接转到辅助操作系统的BSP的通用中断处理。这里直接借助或通过访问辅助操作系统的中断表来获知辅助操作系统的中断服务程序SIR所在位置,处理应转到此处理程序中(步骤B)。
通用的中断处理通过激活辅助操作系统上下文SK(步骤C)的隧道功能由系统驱动程序转入,然后指向辅助操作系统SBS中的中断服务程序ISR(步骤D),并且不经过辅助操作系统的任何专用代码,因此此代码在本发明中是不需要和不存在的。
接着辅助操作系统SBS进行处理直到全部处理进行完毕,并从而转入辅助操作系统SBS的休止循环(空循环)。
当辅助操作系统SBS被激活且对它的一个中断出现时,中断服务程序ISR的调用自动实现而无需其它的访问。处理器自己跳转到那里,因为在从主操作系统以通常方式切换到辅助操作系统时,在处理器中更换了中断表,在这次切换中辅助操作系统SBS的中断表被设置。在图3中仅示出了步骤D。所以也可以清除主操作系统PBS和它的系统驱动程序,而对辅助操作系统SBS没有限制。
从休止循环出发通过隧道区转入隧道上下文TK(图2中的步骤6,7)。隧道功能重又回到主操作系统PBS的系统驱动程序(步骤8),从那里出发驱动程序又激活主上下文PK,继续操作主操作系统PBS。
除了用辅助操作系统SBS的休止循环IL作为切换到主操作系统的跳转点之外还存在以下可能性:通过辅助操作系统SBS中的一个常规的过程触发这种切换。为此在SBS中存在辅助操作系统SBS的一个功能,此功能可以被处理器调用。然后此调用又转回主操作系统(步骤6至8),直至出现对辅助操作系统SBS的下一个中断请求。
如上面已经说明的,主系统定时器HSZG由辅助操作系统SBS来控制。为此主操作系统例如通过补丁被进一步改变,使得对主系统定时器HSZG的整体访问由系统驱动程序ST来获取。此驱动程序存储了关于主操作系统应以什么节拍速率被操作的信息。辅助操作系统中的节拍速率必须比主操作系统的更高。如图4所示,为了主操作系统的定时器的同步,除了主定时器HZG以外,在系统驱动程序中还一起运转着一个具有较小节拍速率的虚拟定时器VZ,一旦实际经过了相应的时间,此定时器就始终以主操作系统PBS的节拍速率运转。如果辅助操作系统没有给出一个更长时间期的计算时间,则用于主操作系统的时钟走得更快,直至时间差重又增大且以辅助操作系统的定时器的节拍运行。这样实现了主操作系统中的时钟不落后。
附图标记列表
AD 结构服务
BHD 基本硬件服务
BSD 操作系统服务
BSP 主板支持程序包
CPU 中央处理单元
CPU-R,CPU 寄存器
EP 硬盘
HR 硬件资源
IC1 中断控制器控制对PBS中断的部分
IC2中 中断控制器控制对SBS中断的部分
IL 空循环
IRC 中断控制器
K 核
PBS 主操作程序
PK 主操作系统的上下文
PS1 配置给PBS的物理存储器
PS2 配置给SBS的物理存储器
RAM 随机访问存储器
SBS 辅助操作系统
SBS-T 用于加载辅助操作系统的驱动程序
SK 辅助操作系统的上下文
SK 存储器上下文
ST-T 系统驱动程序区
SZG 系统定时器
T1 主操作系统的驱动程序
T2 辅助操作系统的驱动程序
TB 隧道区
TK 隧道上下文
ZHP 主操作系统的附加硬件
ZHS 辅助操作系统的附加硬件
Claims (30)
1.用于在一台计算机上除了操作一个主操作系统之外还操作一个辅助操作系统的方法,其特征在于,主操作系统的一个用于加载和控制辅助操作系统的辅助操作系统驱动程序(SBS驱动程序)被加载。
2.如权利要求1所述的方法,其特征在于,辅助操作系统驱动程序(SBS驱动程序)接着加载辅助操作系统。
3.如权利要求1或2所述的方法,其特征在于,辅助操作系统驱动程序加载辅助操作系统。
4.如权利要求1至3中任一项所述的方法,其特征在于,在计算机的中央单元(CPU)中建立存储器上下文(虚拟工作空间)。
5.如权利要求1至4中任一项所述的方法,其特征在于,借助于主操作系统的SBS驱动程序和主板支持程序包(BSP)实现操作系统之间的切换。
6.方法,特别是如上述权利要求中任一项所述的方法,其特征在于,在切换所使用的操作系统时完成中断表的更换。
7.如权利要求1至6中任一项所述的方法,其特征在于,辅助操作系统控制至主操作系统的切换。
8.如权利要求7所述的方法,其特征在于,在辅助操作系统的休止期(进入空循环)时完成从辅助操作系统至主操作系统的切换。
9.如权利要求8所述的方法,其特征在于,从辅助操作系统至主操作系统的切换通过辅助操作系统程序流程中的一个指令而进行。
10.如权利要求1至9中任一项所述的方法,其特征在于,从主操作系统至辅助操作系统的切换由一个中断调用(中断)完成。
11.如以上权利要求中任一项所述的方法,其特征在于,操作系统之间的切换借助于存储在存储器的一个隧道区中的程序代码来完成。
12.如以上权利要求中任一项所述的方法,其特征在于,在辅助操作系统工作过程中主操作系统的中断调用被封锁。
13.如以上权利要求中任一项所述的方法,其特征在于,SBS驱动程序中的中断服务程序读取辅助操作系统的中断调用表,并且在出现该中断调用的位置上进行或继续进行辅助操作系统的处理。
14.如以上权利要求中任一项所述的方法,其特征在于,系统驱动程序对配置给辅助操作系统的每个中断(它应该触发辅助操作系统中的一个中断调用)产生一个登录到主操作系统中的中断调用表中的操作,该表然后又触发辅助操作系统中相应中断服务程序的调用。
15.如以上权利要求中任一项所述的方法,其特征在于,借助于在系统驱动程序中的一个中断调用服务程序获取存储在辅助操作系统(SBS)的中断表中的关于应在辅助操作系统中的什么位置处完成中断调用(中断)处理的信息。
16.如以上权利要求中任一项所述的方法,其特征在于,在辅助操作系统(SBS)应一个中断请求被激活时,通过存储在辅助操作系统的中断调用表中的、关于应在辅助操作系统中的什么位置处进行中断调用(中断)处理的信息,直接通过系统驱动程序、仅由辅助操作系统调用辅助操作系统(SBS)的中断调用服务程序。
17.如权利要求12至16中任一项所述的方法,其特征在于,在出现相应的中断调用、并确定在辅助操作系统中实现中断处理的位置以后,中断处理在辅助操作系统中对应于此中断调用的位置处继续进行。
18.如以上权利要求中任一项所述的方法,其特征在于,在从一个操作系统至另一个操作系统的切换中,所述一个操作系统的所有系统状态被存储。
19.如以上权利要求中任一项所述的方法,其特征在于,在从一个操作系统至另一个操作系统的切换中,所述另一个操作系统的所有系统状态被存储。
20.如以上权利要求中任一项所述的方法,其特征在于,对于辅助操作系统的节拍产生由硬件主定时器(定时器)完成。
21.如以上权利要求中任一项所述的方法,其特征在于,对于主操作系统的节拍产生由一个节拍系统驱动程序完成。
22.用于在一台计算机上除了操作一个主操作系统之外还操作一个辅助操作系统的装置,其特征在于主操作系统的一个用于加载和控制辅助操作系统的辅助操作系统驱动程序(SBS驱动程序)。
23.如权利要求22所述的装置,其特征在于,SBS驱动程序具有一个用于在中央单元(CPU)中建立一个隧道上下文的隧道—上下文建立程序。
24.装置,特别是如权利要求22或23所述的装置,其特征在于,它被构造为用于在切换操作系统动作时更换中断表。
25.如权利要求22或24所述的装置,其特征在于,SBS驱动程序具有一个中断调用表改变程序,用于产生登录到主操作系统的中断调用表中的操作,此程序至少对辅助操作系统的中断调用进行登录。
26.如权利要求22至25中任一项所述的装置,其特征在于,主板支持程序包(BSP)具有一个用于跳回到主操作系统(PBS)的程序段。
27.如权利要求22至26中任一项所述的装置,其特征在于,辅助操作系统驱动程序(SBS驱动程序)具有一个中断表段,借助于这个中断表段,此系统驱动程序在主操作系统中产生一个中断调用表(中断表),其包含用于调用辅助操作系统的中断服务程序的调用。
28.如权利要求22至27中任一项所述的装置,其特征在于,系统驱动程序被设计为用于对于分配给辅助操作系统(SBS)的每一个中断(它应触发辅助操作系统(SBS)中的一个中断调用)产生一个登录到主操作系统(PBS)的中断调用表中的操作,并且中断调用表被设计用来调用辅助操作系统(SBS)中的相应中断服务程序。
29.如权利要求22至28中任一项所述的装置,其特征在于,系统驱动程序中的一个中断调用服务程序被设计用来获取存储在辅助操作系统(SBS)的中断表中的、关于应在辅助操作系统中的什么位置处进行中断调用(中断)处理的信息。
30.如权利要求22至29中任一项所述的装置,其特征在于,它被设计用来在辅助操作系统(SBS)应中断请求被激活时,通过存储在辅助操作系统的中断调用表中的、关于应在辅助操作系统的什么位置处进行中断调用(中断)处理的信息,直接通过系统驱动程序、仅由辅助操作系统调用辅助操作系统(SBS)的中断调用服务程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10348113.3 | 2003-10-16 | ||
DE10348113A DE10348113A1 (de) | 2003-10-16 | 2003-10-16 | Verfahren und Einrichtung zum Betreiben eines Sekundärbetriebssystems neben einem Primärbetriebssystem |
PCT/EP2004/011526 WO2005038651A1 (de) | 2003-10-16 | 2004-10-14 | Verfahren und einrichtung zum betreiben eines sekundär-betriebssystems neben einem primär-betriebssystem |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1867895A true CN1867895A (zh) | 2006-11-22 |
CN1867895B CN1867895B (zh) | 2011-05-25 |
Family
ID=34442006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480029966.2A Expired - Fee Related CN1867895B (zh) | 2003-10-16 | 2004-10-14 | 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8719836B2 (zh) |
EP (1) | EP1673696B1 (zh) |
JP (1) | JP2007537498A (zh) |
CN (1) | CN1867895B (zh) |
AT (1) | ATE387660T1 (zh) |
DE (2) | DE10348113A1 (zh) |
ES (1) | ES2303105T3 (zh) |
WO (1) | WO2005038651A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470675B (zh) * | 2007-12-29 | 2011-03-30 | 联想(北京)有限公司 | 一种数据输出方法和装置 |
CN102968342A (zh) * | 2012-11-12 | 2013-03-13 | 华中科技大学 | 嵌入式平台下半虚拟化的快速切换客户操作系统的方法 |
CN107436810A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土科技股份有限公司 | 一种计算机系统资源调度方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382452C (zh) * | 2005-11-15 | 2008-04-16 | 中兴通讯股份有限公司 | 一种实现主备倒换的装置和方法 |
US9804857B2 (en) * | 2010-12-17 | 2017-10-31 | Intel Corporation | Method and apparatus for multi-mode mobile computing devices and peripherals |
US9178981B2 (en) * | 2010-12-22 | 2015-11-03 | Lg Electronics Inc. | Mobile terminal and method of sharing information therein |
JP5756144B2 (ja) * | 2013-04-22 | 2015-07-29 | レノボ・シンガポール・プライベート・リミテッド | オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ |
US10977095B2 (en) | 2018-11-30 | 2021-04-13 | Microsoft Technology Licensing, Llc | Side-by-side execution of same-type subsystems having a shared base operating system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS644838A (en) * | 1987-06-29 | 1989-01-10 | Yokogawa Electric Corp | Method for switching os (operating system) |
US5483647A (en) | 1992-12-17 | 1996-01-09 | Bull Hn Information Systems Inc. | System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user |
DE4406094C2 (de) | 1994-02-25 | 2000-04-13 | Lp Elektronik Gmbh | Vorrichtung zum Betrieb einer Steuerungsanwendung |
AU4145797A (en) | 1996-08-29 | 1998-03-19 | Nematron Corporation | Real time software system |
AU4353297A (en) * | 1996-09-17 | 1998-04-14 | Radisys Corporation | Method and apparatus for encapsulating a protected-mode operating system within a real-time, protected-mode operating system |
US6996828B1 (en) * | 1997-09-12 | 2006-02-07 | Hitachi, Ltd. | Multi-OS configuration method |
JP2001216172A (ja) * | 1997-09-12 | 2001-08-10 | Hitachi Ltd | マルチos構成方法 |
JP3659062B2 (ja) * | 1999-05-21 | 2005-06-15 | 株式会社日立製作所 | 計算機システム |
EP1162536A1 (en) * | 2000-06-09 | 2001-12-12 | Hitachi, Ltd. | Multiple operating system control method |
JP2003248593A (ja) * | 2002-02-25 | 2003-09-05 | Matsushita Electric Ind Co Ltd | マルチオペレーティングシステム制御装置 |
ES2315469T3 (es) * | 2003-04-09 | 2009-04-01 | Virtuallogix Sa | Sistemas operativos. |
-
2003
- 2003-10-16 DE DE10348113A patent/DE10348113A1/de not_active Withdrawn
-
2004
- 2004-10-14 AT AT04790389T patent/ATE387660T1/de not_active IP Right Cessation
- 2004-10-14 ES ES04790389T patent/ES2303105T3/es active Active
- 2004-10-14 US US10/595,348 patent/US8719836B2/en not_active Expired - Fee Related
- 2004-10-14 EP EP04790389A patent/EP1673696B1/de not_active Not-in-force
- 2004-10-14 CN CN200480029966.2A patent/CN1867895B/zh not_active Expired - Fee Related
- 2004-10-14 WO PCT/EP2004/011526 patent/WO2005038651A1/de active IP Right Grant
- 2004-10-14 JP JP2006534680A patent/JP2007537498A/ja active Pending
- 2004-10-14 DE DE502004006343T patent/DE502004006343D1/de active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470675B (zh) * | 2007-12-29 | 2011-03-30 | 联想(北京)有限公司 | 一种数据输出方法和装置 |
CN102968342A (zh) * | 2012-11-12 | 2013-03-13 | 华中科技大学 | 嵌入式平台下半虚拟化的快速切换客户操作系统的方法 |
CN102968342B (zh) * | 2012-11-12 | 2015-03-11 | 华中科技大学 | 嵌入式平台下半虚拟化的快速切换客户操作系统的方法 |
CN107436810A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土科技股份有限公司 | 一种计算机系统资源调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20060282698A1 (en) | 2006-12-14 |
DE10348113A1 (de) | 2005-05-19 |
EP1673696B1 (de) | 2008-02-27 |
CN1867895B (zh) | 2011-05-25 |
US8719836B2 (en) | 2014-05-06 |
ATE387660T1 (de) | 2008-03-15 |
JP2007537498A (ja) | 2007-12-20 |
DE502004006343D1 (de) | 2008-04-10 |
ES2303105T3 (es) | 2008-08-01 |
WO2005038651A1 (de) | 2005-04-28 |
EP1673696A1 (de) | 2006-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7222203B2 (en) | Interrupt redirection for virtual partitioning | |
US8726249B2 (en) | Bootup method and device for application program in mobile equipment | |
CN1008484B (zh) | 处理机输入/输出和中断过滤器 | |
CN100347673C (zh) | 提供多线程计算机处理的方法与系统 | |
JPS62281039A (ja) | 制御プログラムに仮想記憶資源を動的に提供するシステム | |
EP2296089A2 (en) | Operating systems | |
US8051281B2 (en) | Operating system startup control method and information processing apparatus | |
WO2012003222A1 (en) | Cooperative memory resource management via application-level balloon | |
CN1702622A (zh) | 用于校正管理程序工作的分布的系统 | |
CN1316074A (zh) | 中断/软件控制的线程处理 | |
WO2018162991A2 (en) | Communication method and device for virtual base stations | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
CN1556474A (zh) | 软件的在线升级方法及装置 | |
CN103064796A (zh) | 虚拟机内存的共享方法与计算机系统 | |
CN1867895A (zh) | 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 | |
CN1801092A (zh) | 一种嵌入式芯片及其程序空间扩展的方法 | |
CN104714843B (zh) | 多内核操作系统实例支持多处理器的方法及装置 | |
CN1287287C (zh) | 基于控制系统实现在线更新数据的方法 | |
CN114489941B (zh) | 运行在宿主模式用户态的虚拟机管理方法及系统 | |
US20160170899A1 (en) | Embedded device and memory management method thereof | |
JPS59167756A (ja) | 仮想計算機のデイスパツチ制御方式 | |
CN103631648A (zh) | 一种任务处理方法及系统 | |
CN1890641A (zh) | 任务管理系统 | |
CN110618794A (zh) | 一种SSD固件访问NandFlash的方法和系统 | |
CN117492964A (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 | ||
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: 20110525 Termination date: 20201014 |