提供一种计算机系统,通过2个虚拟CPU143,144来实现2个虚拟计算机110,111,具备CPU103,当虚拟CPU143在执行虚拟计算机110的定时处理以外的计算处理时被分配给虚拟CPU143;定时处理专用的节拍CPU105,当接受到虚拟CPU103执行虚拟计算机110的定时处理的中断请求(节拍中断)后被分配给虚拟CPU143;中断控制器106,将节拍中断发给节拍CPU105。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及实现多个虚拟计算机的计算机系统。
技术介绍
目前所熟知的计算机系统为,如图17所示那样,通过1个CPU (Central Processing Unit) 300执行存储在存储器302中的程序来实现由相互不同操作系统(图17 的0S11、0S12)所管理的多个(图17中是2个)虚拟计算机310、311 (參照专利文献1、2)。 另外,图17概念地表示了通过CPU300执行存储器302上的程序来实现虚拟计算机310、311 等的情况,虚拟计算机310、311等实际上不构成存储器302的一部分。这种计算机系统具有管理程序312,该管理程序312包含分別执行虚拟计算机 310,311的虚拟CPU(虚拟处理单元)343、344。并且,管理程序312具有将CPU300对虚拟CPU343和虚拟CPU344交替分配的功能。另外,该管理程序312也被称为VM(Vtrtual Machine)监视器或硬件划分控制部。在该计算机系统中,虚拟计算机310执行任务T11、T12,在虚拟计算机311执行任务T21、T22。CPU300执行各虚拟计算机310、311的时间表由管理程序312进行管理。管理程序312通过CPU300来执行存储在存储器302中合适的程序而被实现。但是,图17所示的计算机系统中进行如下处理(定时处理),按照一定的周期来推进规定操作系统0S11、0S12的内部时刻的系统定时器ST1、ST2的计数值。该定时处理是为了推进操作系统0S11、0S12的内部时刻而进行的。又,该定时处理是通过CPU300根据中断请求(节拍中断)来执行中断处理程序(节拍(tick)处理程序)来进行的,所述中断请求是从硬件定时器307所连接的中断控制器306按照一定周期(例如,UNIX(TM)系的OS中为5ms或IOms)所发出的。这里,硬件定时器307以及中断控制器306由与CPU300等不同的硬件来构成。现有技术中,作为进行该定时处理的方法提供下述方法,当执行虚拟计算机311 吋,在没有执行虚拟计算机310时从中断控制器306对虚拟计算机310发出节拍中断的情况下,CPU300这时中断在虚拟计算机311的计算处理,在虚拟计算机310进行定时处理,就是说只有为了进行定时处理,暂时从虚拟计算机311切換到虚拟计算机310。但是,该方法在从虚拟计算机311切換到虚拟计算机310时,将执行虚拟计算机 311的虚拟CPU344所使用的数据(包含寄存器信息等),从在存储器302上储存用于实现虚拟CPU的寄存器信息等的区域(CPU用工作区域)暂时保存到与CPU用工作区域不同的保存区域,之后,将执行虚拟计算机310的虚拟CPU343所使用的数据读入到CPU用工作区域。于是,在存储器302上的CPU用工作区域和保存区域之间所进行的数据读入以及因保存引起的开销变大,进一歩,计算机系统整体的处理效率将会下降。对此,现有技术中提出以下方法,即关于现在实现2个虚拟计算机(第1虚拟计算机和第2虚拟计算机)的计算机系统,当第1虚拟计算机未被执行吋,即使和CPU等不同的硬件所构成的中断请求发行单元对第1虚拟计算机发出节拍中断,也不对第1虚拟计算机进行定时处理,而是接着在第1虚拟计算机被执行的定时(从第2虚拟计算机切換到第1 虚拟计算机的定时)进行定时处理(參照专利文献1)。该方法,在从第2虚拟计算机切換到第1虚拟计算机的定时,只在第1虚拟计算机停止了的时间段推进第1虚拟计算机的系统定时的计数值。采用该方法,即使当虚拟计算机310未被执行时对虚拟计算机310发生节拍中断, 也不进行从虚拟计算机311到虚拟计算机310的切換,因此可以削减伴随虚拟计算机310、 311的切換所产生的开销。另外,现有技术中提案一种虚拟计算机装置,即交替执行(也可以说不同的操作系统所管理的虚拟计算机在交替执行)多个操作系统,当某个操作系统未被执行吋,在被分配到下ー个操作系统的执行期间内汇总进行定时处理,该定时处理是根据从中断请求发行単元对该操作系统发出的节拍中断的定时处理(參照专利文献2)。该虚拟计算机装置中,如果通过中断请求发行单元对未被执行的操作系统发出节拍中断(tick interrupt)的话,管理程序(硬件划分控制部)只进行该节拍中断的计数。并且,管理程序计算出在该操作系统停止期间所发出的节拍中断次数和接着被分配到该操作系统中的执行期间内所发出的预定节拍中断次数的相加值,并用该相加值去除被分配到该操作系统中的执行时间,将该值作为进行新定时处理的周期。该虚拟计算机装置,当对未被执行的操作系统产生节拍中断时,不切換操作系统, 因此可以削减随着操作系统的切換而产生的开销。先行技术文献专利文献专利文献1日本特开平5-158710号公报专利文献2日本特开2001-166卯4号公报
技术实现思路
专利技术的概要专利技术要解決的问题但是,在专利文献1所记载的技术中,如图18所示,虚拟计算机310在时刻T2被执行的同吋,从该时刻T2开始新的节拍中断,因此时刻T2之后的节拍中断的定时相对于假设贯穿从时刻Tl以前到时刻T2以后继续执行了虚拟计算机310的情况下的节拍中断的定吋,出现错开的情況。例如,当虚拟计算机311的停止时间(时刻Tl到时刻T2之间)不是对虚拟计算机311发出节拍中断的周期的整数倍的情况下,节拍中断的定时出现错开的情况(參照图18的粗线箭头和虚线箭头)。于是,当在虚拟计算机310所执行的任务包括下述情況,即在经过从规定的基准时间到是发出节拍中断周期的整数倍且比虚拟计算机310、 311的切換周期还要长的时间后进行处理的情況,该任务有可能不能被正常地执行。另外,在专利文献1所记载的技术中不使用下述单元,即将在虚拟计算机310停止中通过中断请求发行単元对虚拟计算机310发出的节拍中断进行计数。因此,如果虚拟计算机310的停止时间比系统定时的周期长的话,虚拟计算机310的停止期间中所产生的预定节拍中断(參照图18的时刻Tl到时刻T2之间的虚线箭头)将不被计数。于是,虚拟计算机310将不能正常执行包括根据节拍中断的计数数进行的处理的任务。另外,专利文献2所记载的技术中,例如交替执行2个操作系统0S11、0S12的话, 如图19所示,被分配到操作系统OSll中的执行期间内的节拍中断周期会有变动(例如,时刻Tl以前的节拍中断周期(图19的箭头)和时刻T2以后的节拍中断周期(图19的粗线箭头)不同)。于是,在虚拟计算机所执行的应用程序(任务)和在虚拟计算机所控制的周边设备会根据在一定周期所产生的触发来工作,如果将节拍中断作为触发器来使用的话, 触发的周期将会变动,因此可能不能正常地工作。进一歩,操作系统OSll包括例如仅以规定的时间等待用户界面的输入的处理(输入等待处理),当根据节拍中断周期进行计时时,节拍中断的周期发生变动,则该输入等待处理将有可能不能被正确执行。就是说,在专利文献1和2所记载的技术中,对于在一定周期由中断发生单元所发出的中断请求,会给必须要由实时执行的处理带来异常。本专利技术鉴于上述情况而做出,其目的在干,提供一种计算机系统,其削减随着虚拟计算机的切換而产生的开销,且可以防止对于来自外部的中断请求以实时进行的任务的异常以及周边设备的异常工作。用于解决问题的手段本本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:谷川忠雄,天野克重,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。