CN1867895B - 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 - Google Patents

用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 Download PDF

Info

Publication number
CN1867895B
CN1867895B CN200480029966.2A CN200480029966A CN1867895B CN 1867895 B CN1867895 B CN 1867895B CN 200480029966 A CN200480029966 A CN 200480029966A CN 1867895 B CN1867895 B CN 1867895B
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.)
Expired - Fee Related
Application number
CN200480029966.2A
Other languages
English (en)
Other versions
CN1867895A (zh
Inventor
安德雷亚斯·格罗切尔
约尔格·埃尔林斯皮尔
斯特凡·金特格拉夫
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
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 KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Publication of CN1867895A publication Critical patent/CN1867895A/zh
Application granted granted Critical
Publication of CN1867895B publication Critical patent/CN1867895B/zh
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

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 (24)

1.用于在一个处理器上除了操作一个主操作系统之外还操作一个辅助操作系统的方法,其中通过中断调用从主操作系统切换至辅助操作系统,其特征在于,为了加载和控制辅助操作系统,主操作系统的一个辅助操作系统驱动程序被加载并被激活,在中断调用时完成操作系统的中断表的更换,并且所述辅助操作系统驱动程序借助于一个中断调用服务程序获取存储在辅助操作系统的中断表中的、关于应在辅助操作系统中的什么位置处处理中断调用的信息。
2.如权利要求1所述的方法,其特征在于,在计算机的中央处理单元(CPU)中建立存储器上下文。
3.如权利要求1或2所述的方法,其特征在于,借助于主操作系统的SBS驱动程序和主板支持程序包(BSP)实现操作系统之间的切换。
4.如权利要求1所述的方法,其特征在于,辅助操作系统控制至主操作系统的切换。
5.如权利要求4所述的方法,其特征在于,在辅助操作系统的休止期时完成从辅助操作系统至主操作系统的切换。
6.如权利要求5所述的方法,其特征在于,从辅助操作系统至主操作系统的切换通过辅助操作系统程序流程中的一个指令而进行。
7.如权利要求1所述的方法,其特征在于,操作系统之间的切换借助于存储在存储器的一个隧道区中的程序代码来完成。
8.如权利要求1所述的方法,其特征在于,在辅助操作系统工作过程中主操作系统的中断调用被封锁。
9.如权利要求1所述的方法,其特征在于,SBS驱动程序中的中断服务程序读取辅助操作系统的中断调用表,并且在出现该中断调用的位置上进行或继续进行辅助操作系统的处理。
10.如权利要求1所述的方法,其特征在于,系统驱动程序对配置给辅助操作系统的每个中断,所述中断应触发辅助操作系统中的一个中断调用,产生一个登录到主操作系统中的中断调用表中的操作,该表然后又触发辅助操作系统中相应中断服务程序的调用。
11.如权利要求1所述的方法,其特征在于,借助于在系统驱动程序中的一个中断调用服务程序获取存储在辅助操作系统(SBS)的中断表中的关于应在辅助操作系统中的什么位置处完成中断调用处理的信息。
12.如权利要求9至11中任一项所述的方法,其特征在于,在出现相应的中断调用、并确定在辅助操作系统中实现中断处理的位置以后,中断处理在辅助操作系统中对应于此中断调用的位置处继续进行。
13.如权利要求1所述的方法,其特征在于,在从一个操作系统至另一个操作系统的切换中,所述一个操作系统的所有系统状态被存储。
14.如权利要求1所述的方法,其特征在于,在从一个操作系统至另一个操作系统的切换中,所述另一个操作系统的所有系统状态被存储。
15.如权利要求1所述的方法,其特征在于,对于辅助操作系统的节拍产生由硬件主定时器完成。
16.如权利要求1所述的方法,其特征在于,对于主操作系统的节拍产生由一个节拍系统驱动程序完成。
17.用于在一个处理器上除了操作一个主操作系统之外还操作一个辅助操作系统的装置,其中该装置被设计为通过中断调用从主操作系统切换至辅助操作系统,其特征在于,该装置具有用于加载并激活主操作系统的辅助操作系统驱动程序以加载和控制辅助操作系统的装置,以及用于更换操作系统的中断表以处理中断调用的装置,其中在辅助操作系统驱动程序中一个中断调用服务程序被设计为获取存储在辅助操作系统的中断表中的、关于应在辅助操作系统中的什么位置处处理中断调用的信息。
18.如权利要求17所述的装置,其特征在于,SBS驱动程序具有一个用于在中央处理单元(CPU)中建立一个隧道上下文的隧道一上下文建立程序。
19.如权利要求17或18所述的装置,其特征在于,该装置被设计为在切换激活操作系统时更换中断表。
20.如权利要求17或19所述的装置,其特征在于,SBS驱动程序具有一个中断调用表改变程序,用于产生登录到主操作系统的中断调用表中的操作,此程序至少对辅助操作系统的中断调用进行登录。
21.如权利要求17所述的装置,其特征在于,主板支持程序包(BSP)具有一个用于跳回到主操作系统(PBS)的程序段。
22.如权利要求17所述的装置,其特征在于,辅助操作系统驱动程序具有一个中断表段,借助于这个中断表段,此系统驱动程序在主操作系统中产生一个中断调用表,其包含用于调用辅助操作系统的中断服务程序的调用。
23.如权利要求17所述的装置,其特征在于,系统驱动程序被设计为对于分配给辅助操作系统(SBS)的每一个中断,所述中断应触发辅助操作系统(SBS)中的一个中断调用,产生一个登录到主操作系统(PBS)的中断调用表中的操作,并且中断调用表被设计用来调用辅助操作系统(SBS)中的相应中断服务程序。
24.如权利要求17所述的装置,其特征在于,该装置被设计为在辅助操作系统(SBS)应中断请求被激活时,通过存储在辅助操作系统的中断调用表中的、关于应在辅助操作系统的什么位置处进行中断调用处理的信息,直接通过系统驱动程序、仅由辅助操作系统调用辅助操作系统(SBS)的中断调用服务程序。
CN200480029966.2A 2003-10-16 2004-10-14 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 Expired - Fee Related CN1867895B (zh)

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 CN1867895A (zh) 2006-11-22
CN1867895B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382452C (zh) * 2005-11-15 2008-04-16 中兴通讯股份有限公司 一种实现主备倒换的装置和方法
CN101470675B (zh) * 2007-12-29 2011-03-30 联想(北京)有限公司 一种数据输出方法和装置
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
CN102968342B (zh) * 2012-11-12 2015-03-11 华中科技大学 嵌入式平台下半虚拟化的快速切换客户操作系统的方法
JP5756144B2 (ja) * 2013-04-22 2015-07-29 レノボ・シンガポール・プライベート・リミテッド オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ
CN107436810A (zh) * 2017-07-03 2017-12-05 北京东土科技股份有限公司 一种计算机系统资源调度方法及装置
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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO1998012635A1 (en) * 1996-09-17 1998-03-26 Radisys Corporation Method and apparatus for encapsulating a protected-mode operating system within a real-time, protected-mode operating system
EP1054322A2 (en) * 1999-05-21 2000-11-22 Hitachi, Ltd. Computer system with multiple operating system operation
EP1162536A1 (en) * 2000-06-09 2001-12-12 Hitachi, Ltd. Multiple operating system control method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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)
DE4406094C2 (de) 1994-02-25 2000-04-13 Lp Elektronik Gmbh Vorrichtung zum Betrieb einer Steuerungsanwendung
EP1008054A1 (en) 1996-08-29 2000-06-14 Nematron Corporation Real time software 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構成方法
JP2003248593A (ja) * 2002-02-25 2003-09-05 Matsushita Electric Ind Co Ltd マルチオペレーティングシステム制御装置
EP1467282B1 (en) * 2003-04-09 2008-10-01 Jaluna SA Operating systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO1998012635A1 (en) * 1996-09-17 1998-03-26 Radisys Corporation Method and apparatus for encapsulating a protected-mode operating system within a real-time, protected-mode operating system
EP1054322A2 (en) * 1999-05-21 2000-11-22 Hitachi, Ltd. Computer system with multiple operating system operation
EP1162536A1 (en) * 2000-06-09 2001-12-12 Hitachi, Ltd. Multiple operating system control method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US 5483647 A,全文.

Also Published As

Publication number Publication date
US20060282698A1 (en) 2006-12-14
DE502004006343D1 (de) 2008-04-10
EP1673696A1 (de) 2006-06-28
CN1867895A (zh) 2006-11-22
EP1673696B1 (de) 2008-02-27
JP2007537498A (ja) 2007-12-20
DE10348113A1 (de) 2005-05-19
ES2303105T3 (es) 2008-08-01
WO2005038651A1 (de) 2005-04-28
ATE387660T1 (de) 2008-03-15
US8719836B2 (en) 2014-05-06

Similar Documents

Publication Publication Date Title
EP2521033B1 (en) Startup method and device for application program on mobile device
JP3546678B2 (ja) マルチos構成方法
US6711605B2 (en) Multi OS configuration method and computer system
ES2315469T3 (es) Sistemas operativos.
JP2000330806A (ja) 計算機システム
US7930443B1 (en) Router having routing engine software instance and interface controller software instance on a single processor
JPH03144847A (ja) マルチプロセッサ・システムおよびそのプロセス同期方法
CN1867895B (zh) 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置
JPH0544054B2 (zh)
JP4026667B2 (ja) マルチos構成方法
CN100440153C (zh) 处理器
CN104714843A (zh) 多内核操作系统实例支持多处理器的方法及装置
JP2001216172A (ja) マルチos構成方法
CN115934656A (zh) 信息处理方法、业务处理方法及装置
CN102270181A (zh) 一种内存访问方法和装置
CN102508682B (zh) 一种系统预引导阶段硬件辅助cpu虚拟化环境建立的方法
JPS6314241A (ja) メモリ拡張方式
JP3022398B2 (ja) 仮想計算機方式
JPS603229B2 (ja) 情報処理方式
KR20010038482A (ko) 운영체제의 커널 스택 동적 할당 방법
CN117492964A (zh) 一种虚拟中断处理方法及相关产品
KR100870175B1 (ko) 에이알엠7 계열 마이크로 컨트롤러에서의 콘텍스트 스위치방법
JP2001034489A (ja) オブジェクト指向型プログラム実行環境の実行制御方法
JP2973480B2 (ja) 通信レジスタ多重化方式
JPH0744405A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110525

Termination date: 20201014

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