CN1152305C - 虚拟机*** - Google Patents

虚拟机*** Download PDF

Info

Publication number
CN1152305C
CN1152305C CNB00117889XA CN00117889A CN1152305C CN 1152305 C CN1152305 C CN 1152305C CN B00117889X A CNB00117889X A CN B00117889XA CN 00117889 A CN00117889 A CN 00117889A CN 1152305 C CN1152305 C CN 1152305C
Authority
CN
China
Prior art keywords
operating system
priority
execution
carry out
interrupting
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
CNB00117889XA
Other languages
English (en)
Other versions
CN1276562A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1276562A publication Critical patent/CN1276562A/zh
Application granted granted Critical
Publication of CN1152305C publication Critical patent/CN1152305C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Bus Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在用于控制多个操作***的虚拟机***中,在决定要执行的下一操作***的时候,优先级装置(13)比较存储装置(12)中存储的优先级要素,并选择较高优先级的操作***,执行决定装置(11)执行该操作。此时,根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、每一操作***的时间片执行时间等,选择较高优先级的操作***。

Description

虚拟机***
技术领域
本发明涉及一种能够在计算机***中执行多个操作***的虚拟机***。
背景技术
近年来,在计算机***中,有选择地执行多个操作***(也称OS)的场合日益增加,并已提出了各种具有操作***执行控制功能的各种虚拟机***。
图33示出了一种虚拟机***的***配置实例。具有不同特性如实时特性和负载大小的多个操作***A101、B102、及C103在采用一个以上CPU(中央处理单元)的虚拟机(VM)100的控制下被执行,应用程序104、105、及106则在它们各自的操作***下执行。在这种虚拟机***中,当操作***按顺序改变时按时间共享方式执行操作;OS执行控制的实时特性和响应性是重要的因素。
下面将参照图34至37讨论现有技术的虚拟机***中操作***改变操作。至今,作为顺序改变多个操作***的方法,执行决定装置111执行OS执行控制,以便根据时间片以给定时间间隔公正地改变操作***,正如在“OS丛书Vol.11 VM”(OKAZAKI Tokio和MATSUSAKI Minoru所著,KyoritsuShuppan,1989)中所描述的。
然而,在现有技术的方法中,为了操作具有不同特性的多个操作***,比如指定高实时特性的操作***和指定低实时特性的操作***,这些操作***根据相等的执行分配和执行时间按时间片改变,而忽略操作***的实时特性,因此指定高实时特性的操作***对涉及实时特性的处理的响应性被显著降低,并且整个计算机***的响应性能和处理效率被显著降低。
图35是在时钟中断业务前后操作***的状态转移图。在现有技术的虚拟机***中,简单地以计算机***中的固定确定的次序,例如,以操作***A、B、及C的次序执行每一操作***的时钟中断业务。如果用不等式符号表示的操作***的实时特性高度为A<B<C,需要高实时特性的操作***C对时钟中断业务的响应性能被显著降低,整个计算机***的响应性能和处理效率也被显著降低。
图36是中断业务前后操作***的状态转移图。在现有技术的虚拟机***中,在执行操作***A期间发生操作***C的中断业务并被执行之后,再次执行操作***A。因此,执行在中断业务之前被执行的操作***A直到下一操作***改变的时机。通常,当中断业务发生时,由于中断而导致操作***的任务状态改变。因此,在中断业务之后,与中断相关的任务的响应性能作为与中断相关的继续处理是重要的。当用不等式符号表示的操作***的实时特性高度为A<B<C并且需要高实时特性的操作***C发生中断时,在中断业务之后恢复操作A的执行,不激活操作***C的中断所引起的任务操作,操作***C的任务响应性能显著下降,整个计算机***的响应性能和处理效率也显著下降。
图37是在多个中断业务前后操作***的状态转移图。在现有技术的虚拟机***中,在执行操作***A期间以操作***A、B、及C的次序发生多个中断业务并执行之后,再次执行操作***A。因此,执行在多个中断业务之前正被执行的操作***直到下一操作***改变的时机。当发生多个中断业务时,由于中断也引起每一操作***中任务状态改变。因此,在中断业务之后,与中断有关的任务的响应性能是重要的。当用不等式表示的操作***的实时我的高度为A<B<C时,如果在多个中断业务之后恢复操作A,执行不激活每一操作***B和C中断引起的任务操作,操作***B和C中每一个的任务响应性能显著下降,整个计算机***的响应性能和处理效率也显著下降。
如上所述,在现有技术的的虚拟机***中,在计算机***中以固定的预置次序改变操作***的执行。与操作***的实时特性无关地实现OS执行控制,例如,以这样的方式,即根据时间片或中断业务是否发生以给定时间间隔均等地改变操作***,在中断业务之后再次执行此时执行的操作***。
因此,为了执行具有不同特性如实时特性和负载大小的多个操作***,要求高实时特性的操作***对处理的响应性能被降低,整个计算机***的响应性能和处理效率也被降低。
发明内容
因此,本发明的目的是提供一种虚拟机***,为了能够增强指定高实时特性的操作***的响应性能并改善整个计算机***的处理效率,当执行多个操作***时,总是比任何其他操作***优先地执行高优先级的操作***。
为此,按照本发明的第一方面,提供一种控制多个操作***的虚拟机***,它包括:存储装置,用于为每一操作***存储执行优先级,优先级装置,用于在决定要执行的下一操作***的时候比较存储装置中存储的执行优先级,并选择高优先级的操作***,以及执行决定装置,用于执行优先级装置选择的操作***。
在本发明的第二方面,如本发明第一方面所述的虚拟机***还包括排序装置,用于当时钟中断发生时比较存储装置中存储的执行优先级并以优先级次序执行每一操作***的时钟中断业务。
在本发明的第三方面,如本发明第一方面所述的虚拟机***还包括恢复装置,用于当中断发生时存储正被执行的操作***,其中在对应于中断的中断业务之后,执行决定装置比较中断发生之前操作***的执行优先级与优先级装置所选择的操作***的执行优先级并选择和执行指定较高优先级的操作***。
在本发明的第四方面,如本发明第三方面所述的虚拟机***还包括累积装置,用于在多个中断按它们发生的次序发生时顺序存储正被执行的操作***,其中当执行对应于多个中断的多个中断业务时,执行决定装置根据多个中断发生次序顺序执行存储在存储装置中的操作***,以及在多个中断业务之后执行决定装置比较中断发生之前存储在恢复装置中的操作***的执行优先级与优先级装置选择的操作***的执行优先级,并选择和执行指定较高优先级的操作***。
按照本发明的第五方面,提供一种用于控制多个操作***的虚拟机***,它包括:存储装置,用于存储优先级要素以确定要执行的操作***,优先级装置,用于在决定要执行的下一操作***的时候比较存储装置中存储的优先级要素,并选择高优先级的操作***,以及执行决定装置,用于执行优先级装置选择的操作***。
在本发明的第六方面,在如第五方面所述的虚拟机***中,优先级装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个选择较高优先级的操作***。
在本发明的第七方面,如第五方面所述的虚拟机***还包括排序装置,用于当时钟中断发生时比较存储装置中存储的执行优先级并以优先级次序执行每一操作***的时钟中断业务,该排序装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,按优先级次序执行每一操作***的时钟中断业务。
在本发明的第八方面,如第五方面所述的虚拟机***还包括恢复装置,用于当中断发生时存储正被执行的操作***,其中在对应于中断的中断业务之后,执行决定装置比较中断发生之前操作***的优先级要素与优先级装置所选择的操作***的优先级要素并选择和执行指定较高优先级的操作***。
在本发明的第九方面,在如第八方面所述的虚拟机***中,在中断业务之后,执行决定装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,选择和执行指定较高优先级的操作***。
在本发明的第十方面,如第八方面所述的虚拟机***还包括累积装置,用于在多个中断按它们发生的次序发生时顺序存储正被执行的操作***,其中当执行对应于多个中断的多个中断业务时,执行决定装置根据多个中断发生次序顺序执行存储在存储装置中的操作***,以及在多个中断业务之后,执行决定装置比较中断发生之前存储在恢复装置中的操作***的优先级要素与优先级装置选择的操作***的优先级要素,并选择和执行指定较高优先级的操作***。
在本发明的第十一方面,在如第十方面所述的虚拟机***中,在多个中断业务之后,执行决定装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,选择和执行指定较高优先级的操作***。
为了控制若干操作***,本发明的虚拟机***在决定要执行的下一操作***的时候比较存储装置中存储的执行优先级,并选择和执行高优先级的操作***。此时,根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,选择较高优先级的操作***。因此,根据执行优先级、时间片执行时间等,确定优先级,并选择和执行操作***,从而能够总是比其他操作***优先地选择指定较高实时特性的操作***;增强了关于较高优先级操作***的响应性能并改进了整个计算机***的响应性能。
当发生时钟中断时,比较作优先级要素的执行优先级等,以优先级次序执行每一操作***的时钟中断业务,从而增强关于指定较高实时特性和较高优先级的操作***的响应性能并更进一步改善整个计算机***的响应性能。
当中断发生时,在中断业务之后,把在中断发生时执行的操作***的优先级要素与优先级装置选择的操作***的优先级要素相比较并选择和执行指定较高优先级的操作***,从而增强关于指定较高实时特性和较高优先级的操作***的响应性能并更进一步改善整个计算机***的响应性能。
当发生多个中断时,在执行多个中断业务时,根据多个中断发生的次序并在多个中断业务之后顺序执行存储装置中存储的操作***,在存储在恢复装置中的多个中断中的第一个中断的发生时间执行的操作***的优先级要素与优先级装置选择的操作***的优先级要素比较,并选择和执行指定较高优先级的操作***,从而增强关于指定较高实时特性和较高优先级的操作***的响应性能,并更进一步改善整个计算机***的响应性能。
附图说明
附图中:
图1是按照本发明第一实施例的虚拟机***的功能配置的方块图;
图2是按照本发明第一实施例的存储装置中存储的操作***处理列表的示意性表示;
图3是按照本发明第二实施例的的虚拟机***的功能配置的方块图;
图4是按照本发明第二实施例的虚拟机***中时钟中断业务前后操作***的状态转移图;
图5是按照本发明第三实施例的虚拟机***的功能配置的方块图;
图6是按照本发明第三实施例的虚拟机***中中断业务前后操作***的状态转移图;
图7是按照本发明第四实施例的虚拟机***的功能配置的方块图;
图8是按照本发明第四实施例的虚拟机***中多个中断业务前后操作***的状态转移图;
图9是按照本发明第五实施例的虚拟机***的功能配置的方块图;
图10是按照本发明第五实施例的存储装置中存储的操作***处理列表的示意性表示;
图11是是按照本发明第五实施例的虚拟机***的功能配置的方块图;
图12是按照本发明第六实施例的虚拟机***中时钟中断业务前后操作***的状态转移图;
图13是按照本发明第七实施例的虚拟机***的功能配置的方块图;
图14是按照本发明第七实施例的虚拟机***中中断业务前后操作***的状态转移图;
图15是是按照本发明第八实施例的虚拟机***的功能配置的方块图;
图16是按照本发明第八实施例的虚拟机***中多个中断业务前后操作***的状态转移图;
图17是是按照本发明第九实施例的虚拟机***的功能配置的方块图;
图18是按照本发明第九实施例的存储装置中存储的操作***处理列表的示意性表示;
图19是按照本发明第十实施例的虚拟机***的功能配置的方块图;
图20是按照本发明第十实施例的虚拟机***中时钟中断业务前后操作***的状态转移图;
图21是按照本发明第十一实施例的虚拟机***的功能配置的方块图;
图22是按照本发明第十一实施例的虚拟机***中中断业务前后操作***的状态转移图;
图23是按照本发明第十二实施例的虚拟机***的功能配置的方块图;
图24是按照本发明第十二实施例的虚拟机***中多个中断业务前后操作***的状态转移图;
图25是按照本发明第十三实施例的虚拟机***的功能配置的方块图;
图26是按照本发明第十三实施例的存储装置中存储的操作***处理列表的示意性表示;
图27是按照本发明第十四实施例的虚拟机***的功能配置的方块图;
图28是按照本发明第十四实施例的虚拟机***中时钟中断业务前后操作***的状态转移图;
图29是按照本发明第十五实施例的虚拟机***的功能配置的方块图;
图30是按照本发明第十五实施例的虚拟机***中中断业务前后操作***的状态转移图;
图31是按照本发明第十六实施例的虚拟机***的功能配置的方块图;
图32是按照本发明第十注实施例的虚拟机***中多个中断业务前后操作***的状态转移图;
图33是表示虚拟机***的***配置实例的的方块图;
图34是表示用于实现操作***执行控制的执行决定装置的方块图;
图35是现有技术的虚拟机***中时钟中断业务前后操作***的状态转移图;
图36是现有技术的虚拟机***中中断业务前后操作***的状态转移图;以及
图37是现有技术的虚拟机***中多个中断业务前后操作***的状态转移图。
具体实施方式
现在参照附图说明本发明的优选实施例。
如图33所示,按照实施例的虚拟机***可在采用一个以上CPU的虚拟机100的控制下,执行具有不同特性如实时特性和负载大小的多个操作***A101、B102、及C103,并可在它们各自的操作***下执行应用程序104、105、及106。内置在虚拟机***中的实时OS一类的各种操作***和时间共享***(TSS)的UNIX可以作为操作***应用。下面讨论虚拟机***的实施例的功能配置和操作。
(第一实施例)
图1是表示按照本发明第一实施例的虚拟机***的功能配置的方块图,图2是表示存储在存储装置中的操作***的处理列表的示意性表示。
第一实施例的虚拟机***包括存储装置12,用于存储作为优先级要素的每一操作***的执行状态和执行优先级,优先级装置13,用于比较在存储装置12中存储的作为优先级要素的操作***的执行优先级并选择较高优先级的操作***,以及执行决定装置11,用于在决定要执行的下一操作***时执行优先级装置13选择的操作***。执行决定装置11、存储装置12、以及优先级装置13作为计算机***中配备的半导体存储器等中可由CPU执行的数据和软件程序实现,可利用公知技术提供该装置的具体结构和工作原理,故在此不进行讨论;将仅讨论该实施例的特征。
其次,第一实施例中虚拟机***的操作如下:在用于控制多个操作***的虚拟机***中,在决定要执行的下一操作***时,优先级装置13根据存储装置12中存储的每一操作***的执行状态和执行优先级选择较高优先级的操作***。执行决定装置11执行所选择的操作***。操作***的改变时机、操作***的改变技术等与通用虚拟机***中的类似。
存储装置12存储如图2所示的操作***的处理列表。在该处理列表中,假定具有较小值的执行优先级具有较高优先级,执行状态GO是指CPU当前正在执行操作***,READY(就绪)是指可由CPU下一次执行的操作***,以及SLEEP(睡眠)是指操作***处于睡眠状态不能由CPU执行。优先级装置13比较处理列表中处于执行状态GO或READY的操作***的执行优先级并选择较高优先级的操作***。在这种情况下,可执行的操作***是A或C并选择最高优先级的操作***C,然后执行决定装置11决定操作***的执行并执行该操作***。
因此,为了在虚拟机***下执行指定高实时特性和低实时特性的操作***,将操作***的实时特性表示为执行优先级并可按照执行优先级选择操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,比任何其他操作***优先地执行指定较高执行优先级的操作***,从而可以总是比任何其他操作***优先地执行指定较高实时特性的操作***,能够增强关于指定需要瞬时响应处理的高实时特性的操作***的响应性能。
(第二实施例)
图3是按照本发明第二实施例的的虚拟机***的功能配置的方块图;图4是按照本发明第二实施例的虚拟机***中时钟中断业务前后操作***的状态转移图。
除了第一实施例的虚拟机***的部件以外,第二实施例的虚拟机***还包括排序装置14,用于在时钟中断业务发生时比较在存储装置12中存储作为优先级要素的操作***的执行优先级并按优先级次序执行每一操作***的时钟中断业务。
其次,第二实施例中虚拟机***的操作如下:周期性地(例如,每10毫秒)进入时钟中断并针对每一操作***按顺序执行时钟中断业务。当时钟中断发生时,优先级装置13比较存储装置12中存储的操作***的执行优先级并选择较高优先级的操作***,排序装置14根据优先级装置13的选择结果按优先级次序执行每一操作***的时钟中断业务。
在该实施例中,如图4的状态转移图所示,以存储在存储装置12中的操作***的执行优先级次序而非简单地以计算机***中固定确定的次序(例如以操作***A,B及C的次序)执行时钟中断业务。这里,如同在第一实施例中假定具有较小值的执行优先级具有较高优先级,排序装置14有选择地以操作***C,B,及A的次序,即以需要较高实时特性的操作***的次序,执行时钟中断业务。在终止时钟中断业务之后,指定高实时特性的操作***C被选择并由执行决定装置11执行。
因此,为了在虚拟机***下操作指定高实时特性和低实时特性的操作***,当时钟中断业务发生时能够有选择地以按照执行优先级的次序执行每一操作***的时钟中断业务。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,比任何其他操作***的时钟中断业务优先地执行指定较高优先级的操作***的时钟中断业务,从而可以总是在时钟中断业务时比任何其他操作***优先地执行指定较高实时特性的操作***,能够增强关于指定需要瞬时响应处理的高实时特性的操作***的时钟中断业务的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第三实施例)
图5是按照本发明第三实施例的虚拟机***的功能配置的方块图;图6是按照本发明第三实施例的虚拟机***中中断业务前后操作***的状态转移图。
除了第一实施例的虚拟机***的部件以外,第三实施例的虚拟机***还包括恢复装置15,用于在中断发生前存储操作***。在中断业务之后,执行决定装置11和优先级装置13比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级与作为优先级要素的任何可执行操作***的执行优先级并有选择地执行指定较高优先级的操作***。其他部件与第一实施例虚拟机***的类似因此不再讨论。
其次,第三实施例中虚拟机***的操作如下:当任何时间如键输入时发生的中断发生时,执行决定装置11执行中断业务。在中断业务之后,执行决定装置11比较存储在恢复装置15中的中断发生前的操作***执行优先级与优先级装置13选择的操作***执行优先级并在中断业务返回时执行指定最高优先级的操作***。
在该实施例中,如图6的状态转移图所示,在操作***A的执行期间操作***C的中断业务发生并被执行之后,把存储在恢复装置15中的中断发生前的操作***执行优先级与优先级装置13选择的指定高优先级的可执行操作***的执行优先级相比较,并执行指定最高优先级的操作***。这里,如同在第一实施例中,假定具有较小值的的执行优先级具有较高优先级,在中断业务之后,选择指定高实时特性的操作***C并由执行决定装置11执行而不恢复在中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机***下操作指定高实时特性和低实时特性的操作***,当中断业务发生时,能够在中断业务之后按照执行优先级有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在中断业务之后,比任何其他操作***优先地执行指定较高优先级的操作***,从而可以总是在中断发生时比任何其他操作***优先地执行指定较高实时特性的操作***,能够增强关于指定需要瞬时响应处理的高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第四实施例)
图7是按照本发明第四实施例的虚拟机***的功能配置的方块图;图8是按照本发明第四实施例的虚拟机***中多个中断业务前后操作***的状态转移图。
除了第三实施例的虚拟机***的部件以外,第四实施例的虚拟机***还包括累积装置16,用于顺序存储在按多个中断发生的次序发生多个中断业务时正在执行的操作***。在多个中断业务之后,执行决定装置11和优先级装置13比较恢复装置15中存储的中断发生之前的操作***的执行优先级与作为优先级要素的任何可执行操作***的执行优先级并有选择地执行指定较高优先级的操作***。其他部件与第一实施例虚拟机***的类似因此不再讨论。
其次,第四实施例中虚拟机***的操作如下:当多个中断发生时,执行决定装置11在无论何时每一中断发生时执行对应的中断业务。在终止最后一个中断业务之后,执行决定装置11以与多个中断发生的次序相反的次序执行存储在累积装置16中的在多个中断发生时正在执行的操作***的中断业务。亦即,在多个中断业务期间,执行正常的多个中断业务而不应用按照执行优先级的优先级处理。在多个中断业务之后,执行决定装置11比较存储在恢复装置15中的中断发生前的操作***执行优先级与优先级装置13选择的操作***执行优先级并在中断业务返回时执行指定最高优先级的操作***。
在该实施例中,如图8的状态转移图所示,在操作***A的执行期间,多个中断业务以操作***A、B及C的次序发生并被执行,在终止操作***C、多个中断业务中的最后一个的中断业务之后,以B和A的次序执行在累积装置16中存储的多个中断业务发生时正在执行的操作***的中断业务。在执行中断业务之后,把存储在恢复装置15中的在多个中断中的第一个发生时正在执行的操作***执行优先级,与优先级装置13选择的指定高优先级的可执行操作***的执行优先级相比较,并执行指定最高优先级的操作***。这里,如同在第一实施例中,假定具有较小值的的执行优先级具有较高优先级,在多个中断业务之后,选择指定高实时特性的操作***C并由执行决定装置11执行而不恢复在中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当多个中断业务发生时,能够在多个中断业务之后按照执行优先级有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在多个中断业务之后,比任何其他操作***优先地执行指定较高优先级的操作***,从而可以总是在多个中断发生时比任何其他操作***优先地执行指定较高实时特性的操作***,能够增强关于指定需要瞬时响应处理的高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第五实施例)
图9是按照本发明第五实施例的虚拟机***的功能配置的方块图;图10是存储装置中存储的操作***处理列表的示意性表示。
在第五至第八实施例中,根据将任务优先级加到上述第一到第四实施例中的执行优先级上而形成的优先级来决定要执行的操作***。
第五实施例的虚拟机***包括:存储装置12,用于存储作为优先级要素的每一操作***的执行状态和执行优先级以及每一操作***上正在操作的任务或要操作的下一任务的任务优先级,任务优先级装置17,用于比较在存储装置12中存储的作为优先级要素的操作***的执行优先级和任务优先级并选择较高优先级的操作***,以及执行决定装置11,用于在决定要执行的下一操作***时执行任务优先级装置17选择的操作***。执行决定装置11、存储装置12、以及任务优先级装置17作为计算机***中配备的半导体存储器等中可由CPU执行的数据和软件程序实现,该装置的具体结构和工作原理与公知技术中的几乎相同,故在此不进行讨论;将仅讨论该实施例的特征。
其次,第五实施例中虚拟机***的操作如下:在第五实施例中,把每一操作***上正在操作的任务和将要操作的任务的任务优先级增加到第一实施例中,以决定优于任何其他操作***执行的操作***。所需实时特性可依据任务类型、比如键输入处理或数据存储及传输处理而改变。在第五实施例中,为决定要执行的下一操作***而增加任务优先级。决定每一操作***正在操作的任务或将要操作的下一任务的方法与普通虚拟机***中的方法类似。
在决定要执行的下一操作***时,任务优先级装置17根据存储在存储装置12中的每一操作***的执行状态、执行优先级和任务优先级选择较高优先级的操作***。执行决定装置11执行所选择的操作***。
如图10所示,存储装置12存储操作***的处理列表。在处理列表中,假定具有较小值的执行优先级具有较高优先级,同样,假定具有较小值的任务优先级具有较高优先级。用执行优先级与任务优先级之和作为用于决定要执行的操作***的优先级值。任务优先级装置17比较处理列表中处于执行状态GO或READDY的操作***的执行优先级和操作***正在操作的任务或将要操作的下一任务的任务优先级,并选择较高优先级的操作***。在这种情况下,可执行的操作***是A或B,根据执行优先级与任务优先级之和选择总体上具有最高优先级的操作***B,然后执行决定装置11决定操作***的执行并执行该操作***。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,能够按照关于操作***的实时特性的执行优先级和关于操作***中执行的任务的任务优先级选择操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,总是比任何其他操作***优先地执行指定考虑执行优先级和任务优先级的较高优先级的操作***,从而能够比任何其他操作***优先地执行指定需要瞬时响应处理的较高实时特性的操作***,并能够增强操作***的响应性能。
(第六实施例)
图11是按照本发明第五实施例的虚拟机***的功能配置的方块图;图12是按照本发明第六实施例的虚拟机***中时钟中断业务前后操作***的状态转移图。
除了第五实施例的虚拟机***的部件以外,第六实施例的虚拟机***包括:任务排序装置18,用于在时钟中断业务发生时比较在存储装置12中存储的作为优先级要素的操作***的执行优先级和操作***正在执行的任务或将要执行的下一任务的任务优先级,并按优先级次序执行每一操作***的时钟中断业务。其他部件与第五实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第六实施例中虚拟机***的操作如下:当时钟中断发生时,任务优先级装置17比较在存储装置12中存储的操作***的执行优先级和任务优先级,并选择较高优先级的操作***,任务排序装置18根据任务优先级装置17的选择结果按优先级次序执行每一操作***的时钟中断业务。
在该实施例中,如图12的状态转移图所示,以存储在存储装置12中的基于操作***的执行优先级和任务优先级的优先级次序而非简单地以计算机***中固定确定的次序(例如以操作***A,B及C的次序)执行时钟中断业务。这里,如同在第五实施例中,假定具有较小值的执行优先级具有较高优先级,具有较小值的任务优先级也具有较高优先级,并且将执行优先级与任务优先级之和作为用于决定要执行的操作***的优先级值,任务排序装置18有选择地以操作***B,C,及A的次序,即以需要较高实时特性的操作***的次序,执行时钟中断业务。在终止时钟中断业务之后,指定高实时特性的操作***B被选择并由执行决定装置11执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当时钟中断业务发生时,能够按照执行优先级和任务优先级按次序有选择地执行每一操作***的时钟中断业务。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,比任何其他操作***的时钟中断业务优先地执行指定考虑执行优先级和任务优先级的较高优先级的操作***的时钟中断业务,从而能够总是比任何其他操作***优先地执行指定在时钟中断业务时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的时钟中断业务的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第七实施例)
图13是按照本发明第七实施例的虚拟机***的功能配置的方块图;图14是按照本发明第七实施例的虚拟机***中中断业务前后操作***的状态转移图。
除了第五实施例的虚拟机***的部件以外,第七实施例的虚拟机***包括:恢复装置15,用于存储在中断业务发生时正在执行的操作***。在中断业务之后,执行决定装置11和任务优先级装置17比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级和任务优先级与作为优先级要素的任何可执行操作***的执行优先级和任务优先级,并有选择地执行指定较高优先级的操作***。其他部件与第五实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第七实施例中虚拟机***的操作如下:在任何时间发生的中断、比如键输入,发生时,执行决定装置11执行中断业务。在中断业务之后,执行决定装置11比较存储在恢复装置15中的在中断发生时正在执行的操作***的执行优先级和任务优先级与任务优先级装置17选择的操作***的执行优先级和任务优先级,并在中断业务返回时执行最高优先级的操作***。
在该实施例中,如图14的状态转移图所示,在操作***A的执行期间发生操作***B的中断业务并被执行之后,把存储在恢复装置15中的在中断发生时正在执行的操作***的执行优先级和任务优先级与任务优先级装置17选择的指定高优先级的可执行的操作***的执行优先级和任务优先级相比较,并执行指定最高优先级的操作***。这里,如同在第五实施例中,假定具有较小值的执行优先级具有较高优先级,具有较小值的任务优先级也具有较高优先级,并且将执行优先级与任务优先级之和作为用于决定要执行的操作***的优先级值,在中断业务之后,选择指定高实时特性的操作***B并由执行决定装置11执行而不恢复中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当中断业务发生时,能够在中断业务之后按照执行优先级和任务优先级有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在中断业务之后,比任何其他操作***优先地执行指定考虑执行优先级和任务优先级的较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定在中断发生时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第八实施例)
图15是是按照本发明第八实施例的虚拟机***的功能配置的方块图;图16是按照本发明第八实施例的虚拟机***中多个中断业务前后操作***的状态转移图。
除第七实施例虚拟机***的部件以外,第八实施例的虚拟机***包括累积装置16,用于按多个中断业务发生的次序顺序地存储在多个中断业务发生时正在执行的操作***。在多个中断业务之后,执行决定装置11和任务优先级装置17比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级和任务优先级与作为优先级要素的任何可执行操作***的执行优先级和任务优先级,并有选择地执行指定较高优先级的操作***。其他部件与第五实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第八实施例中虚拟机***的操作如下:当多个中断发生时,执行决定装置11根据执行优先级和任务优先级处理正常的多个中断而不执行优先级处理。在多个中断业务之后,执行决定装置11比较存储在恢复装置15中的在多个中断中的第一个中断发生时正在执行的操作***的执行优先级和任务优先级与任务优先级装置17选择的操作***的执行优先级和任务优先级,并在中断业务返回时执行最高优先级的操作***。
在该实施例中,如图16的状态转移图所示,在操作***A的执行期间按操作***A,B,和C的次序发生多个中断业务并被执行,在操作***C的中断业务、即多个中断业务中的最后一个中断业务终止之后,按B和A的次序执行累积装置16中存储的在多个中断业务发生时正在执行的操作***的中断业务。在执行中断业务之后,把存储在恢复装置15中的在多个中断中的第一个发生时正在执行的操作***的执行优先级和任务优先级与任务优先级装置17选择的指定高优先级的可执行的操作***的执行优先级和任务优先级相比较,并执行指定最高优先级的操作***。这里,假定具有较小值的执行优先级具有较高优先级,具有较小值的任务优先级也具有较高优先级,并且将执行优先级与任务优先级之和作为用于决定要执行的操作***的优先级值,在多个中断业务之后,选择指定高实时特性的操作***B并由执行决定装置11执行而不恢复中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当多个中断业务发生时,能够在多个中断业务之后按照执行优先级和任务优先级有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在多个中断业务之后,比任何其他操作***优先地执行指定考虑执行优先级和任务优先级的较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定在多个中断发生时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第九实施例)
图17是是按照本发明第九实施例的虚拟机***的功能配置的方块图;图18是表示存储装置中存储的操作***的处理列表的示意性表示。
在第九至第十二实施例中,根据将时间片执行时间加到前述第一到第四实施例中的执行优先级上而形成的优先级来决定要执行的操作***。
第九实施例的虚拟机***包括:存储装置12,用于存储作为优先级要素的每一操作***的执行状态和执行优先级以及时间片执行时间,执行时间优先级装置19,用于比较在存储装置12中存储的作为优先级要素的操作***的执行优先级和时间片执行时间并选择较高优先级的操作***,以及执行决定装置11,用于在决定要执行的下一操作***时执行时间优先级装置19选择的操作***。执行决定装置11、存储装置12、以及执行时间优先级装置19作为计算机***中配备的半导体存储器等中由CPU执行的数据和软件程序实现,该装置的具体结构和工作原理与公知技术中的几乎相同,故在此不进行讨论;将仅讨论该实施例的特征。
其次,第九实施例中虚拟机***的操作如下:在第九实施例中,把每一操作***中时间片执行时间增加到第一实施例中,以决定优于任何其他操作***执行的操作***。对于时间片执行时间,虚拟机***设置并保持每一操作***经历的执行时间,例如,在操作***改变时和当该时间变为计算机***中定义的上限值(例如,10ms)以上时,设定初始值(通常,0值)。该时间片执行时间计算方法与普通虚拟机***中类似。
虚拟机***按每一可变的或固定的时间片改变并执行多个操作***。长的时间片执行时间表明在关于操作***的处理执行中它花费的时间长的状态,一直到上限值的剩余处理执行时间是短的。相反,短的时间片执行时间表明关于操作***的在到达上限值之前需要长的处理执行时间的状态。在该实施例中,例如将时间片执行时间的上限值设定为10ms,考虑到时间片执行时间越短,优先级越高,将时间片执行时间加到用于决定要执行的下一操作***的执行优先级上。
在决定要执行的下一操作***时,执行时间优先级装置19根据存储装置12中存储的每一操作***的执行状态、执行优先级以及时间片执行时间选择较高优先级的操作***。执行决定装置11执行所选择的操作***。
如图18所示,存储装置12存储操作***的处理列表。在处理列表中,假定具有较小值的执行优先级具有较高优先级,同样,假定具有较小值的时间片执行时间具有较高优先级。用执行优先级与时间片执行时间之和作为用于决定要执行的操作***的优先级值。在优先级值中,无需完整增加时间片执行时间,可以按例如利用时间片优先级和执行优先级之和作为优先级的时间片执行时间的升序给出时间片优先级0,1,2...。执行时间优先级装置19比较处理列表中处于执行状态GO(进行)或READY(就绪)的操作***的执行优先级和时间片执行时间,并选择较高优先级的操作***。在这种情况下,可执行的操作***是A或C,根据执行优先级与时间片执行时间之和选择总体上具有最高优先级的操作***C,然后执行决定装置11决定操作***的执行并执行该操作***。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,能够按照关于操作***的实时特性的执行优先级和操作***中时间片执行时间选择操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,总是比任何其他操作***优先地执行指定考虑执行优先级和时间片执行时间的较高优先级的操作***,从而能够比任何其他操作***优先地执行指定需要瞬时响应处理的较高实时特性的操作***,并能够增强操作***的响应性能。
(第十实施例)
图19是按照本发明第十实施例的虚拟机***的功能配置的方块图;图20是按照本发明第十实施例的虚拟机***中时钟中断业务前后操作***的状态转移图。
除了第九实施例的虚拟机***的部件以外,第十实施例的虚拟机***包括:执行时间排序装置20,用于在时钟中断业务发生时比较在存储装置12中存储的作为优先级要素的操作***的执行优先级和时间片执行时间,并按优先级次序执行每一操作***的时钟中断业务。其他部件与第九实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第十实施例中虚拟机***的操作如下:当时钟中断发生时,执行时间优先级装置19比较在存储装置12中存储的操作***的执行优先级和时间片执行时间,并选择较高优先级的操作***,执行时间排序装置20根据执行时间优先级装置19的选择结果按优先级次序执行每一操作***的时钟中断业务。
在该实施例中,如图20的状态转移图所示,以存储在存储装置12中的基于操作***的执行优先级和时间片执行时间的优先级次序而非简单地以计算机***中固定确定的次序(例如以操作***A,B及C的次序)执行时钟中断业务。这里,如同在第九实施例中,假定具有较小值的执行优先级具有较高优先级,具有较小值的时间片执行时间也具有较高优先级,并且将执行优先级与时间片执行时间之和作为用于决定要执行的操作***的优先级值,执行时间排序装置20有选择地以操作***C,B,及A的次序,即以需要较高实时特性的操作***的次序,执行时钟中断业务。在终止时钟中断业务之后,指定高实时特性的操作***C被选择并由执行决定装置11执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当时钟中断业务发生时,能够按照执行优先级和时间片执行时间按次序有选择地执行每一操作***的时钟中断业务。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,比任何其他操作***的时钟中断业务优先地执行指定考虑执行优先级和时间片执行时间的较高优先级的操作***的时钟中断业务,从而能够总是比任何其他操作***优先地执行指定在时钟中断业务时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的时钟中断业务的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第十一实施例)
图21是按照本发明第十一实施例的虚拟机***的功能配置的方块图;图22是按照本发明第十一实施例的虚拟机***中中断业务前后操作***的状态转移图。
除了第九实施例的虚拟机***的部件以外,第十一实施例的虚拟机***包括:恢复装置15,用于存储在中断业务发生时正在执行的操作***。在中断业务之后,执行决定装置11和执行时间优先级装置19比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级和时间片执行时间与作为优先级要素的任何可执行操作***的执行优先级和时间片执行时间,并有选择地执行指定较高优先级的操作***。其他部件与第九实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第十一实施例中虚拟机***的操作如下:在任何时间发生的中断、比如键输入,发生时,执行决定装置11执行中断业务。在中断业务之后,执行决定装置11比较存储在恢复装置15中的在中断发生时正在执行的操作***的执行优先级和时间片执行时间与执行时间优先级装置19选择的操作***的执行优先级和时间片执行时间,并在中断业务返回时执行最高优先级的操作***。
在该实施例中,如图22的状态转移图所示,在操作***A的执行期间发生操作***C的中断业务并被执行之后,把存储在恢复装置15中的在中断发生时正在执行的操作***的执行优先级和时间片执行时间与执行时间优先级装置19选择的指定高优先级的可执行的操作***的执行优先级和时间片执行时间相比较,并执行指定最高优先级的操作***。这里,如同在第九实施例中,假定具有较小值的执行优先级具有较高优先级,具有较小值的时间片执行时间也具有较高优先级,并且将执行优先级与时间片执行时间之和作为用于决定要执行的操作***的优先级值,在中断业务之后,选择指定高实时特性的操作***C并由执行决定装置11执行而不恢复中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当中断业务发生时,能够在中断业务之后按照执行优先级和时间片执行时间有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在中断业务之后,比任何其他操作***优先地执行指定考虑执行优先级和时间片执行时间的较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定在中断发生时需要瞬时响应处理的较高实时特性的操作***,并能够增强指定高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第十二实施例)
图23是按照本发明第十二实施例的虚拟机***的功能配置的方块图;图24是按照本发明第十二实施例的虚拟机***中多个中断业务前后操作***的状态转移图。
除第十一实施例虚拟机***的部件以外,第十二实施例的虚拟机***包括累积装置16,用于按多个中断业务发生的次序顺序地存储在多个中断业务发生时正在执行的操作***。在多个中断业务之后,执行决定装置11和执行时间优先级装置19比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级和时间片执行时间与作为优先级要素的任何可执行操作***的执行优先级和时间片执行时间,并有选择地执行指定较高优先级的操作***。其他部件与第九实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第十二实施例中虚拟机***的操作如下:当多个中断发生时,执行决定装置11根据执行优先级和时间片执行时间处理正常的多个中断而不执行优先级处理。在多个中断业务之后,执行决定装置11比较存储在恢复装置15中的在多个中断中的第一个中断发生时正在执行的操作***的执行优先级和时间片执行时间与执行时间优先级装置19选择的操作***的执行优先级和时间片执行时间,并在中断业务返回时执行最高优先级的操作***。
在该实施例中,如图24的状态转移图所示,在操作***A的执行期间按操作***A,B,和C的次序发生多个中断业务并被执行,在操作***C的中断业务、即多个中断业务中的最后一个中断业务终止之后,按B和A的次序执行累积装置16中存储的在多个中断业务发生时正在执行的操作***的中断业务。在执行中断业务之后,把存储在恢复装置15中的在多个中断中的第一个发生时正在执行的操作***的执行优先级和时间片执行时间与执行时间优先级装置19选择的指定高优先级的可执行的操作***的执行优先级和时间片执行时间相比较,并执行指定最高优先级的操作***。这里,如同在第九实施例中,假定具有较小值的执行优先级具有较高优先级,具有较小值的时间片执行时间也具有较高优先级,并且将执行优先级与时间片执行时间之和作为用于决定要执行的操作***的优先级值,在多个中断业务之后,选择指定高实时特性的操作***C并由执行决定装置11执行而不恢复中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当多个中断业务发生时,能够在多个中断业务之后按照执行优先级和时间片执行时间有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在多个中断业务之后,比任何其他操作***优先地执行指定考虑执行优先级和时间片执行时间的较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定在多个中断发生时需要瞬时响应处理的较高实时特性的操作***,并能够增强指定高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第十三实施例)
图25是按照本发明第十三实施例的虚拟机***的功能配置的方块图;图26是按照本发明第十三实施例的存储装置中存储的操作***处理列表的示意性表示。
在第十三至第十六实施例中,根据将第五至第八实施例中的任务优先级和第九至第十二实施例中的时间片执行时间加到前述第一到第四实施例中的执行优先级上而形成的优先级来决定要执行的操作***。
第十三实施例的虚拟机***包括:存储装置12,用于存储作为优先级要素的每一操作***的执行状态、执行优先级和时间片执行时间以及每一操作***上正在运行的任务或将要运行的下一任务的任务优先级,实时优先级装置21,用于比较在存储装置12中存储的作为优先级要素的操作***的执行优先级,时间片执行时间和任务优先级,并选择较高优先级的操作***,以及执行决定装置11,用于在决定要执行的下一操作***时实时执行优先级装置21选择的操作***。执行决定装置11、存储装置12、以及实时优先级装置21作为计算机***中配备的半导体存储器等中可由CPU执行的数据和软件程序实现,该装置的具体结构和工作原理与公知技术中的几乎相同,故在此不进行讨论;将仅讨论该实施例的特征。
其次,第十三实施例中虚拟机***的操作如下:在第十三实施例中,把每一操作***中时间片执行时间和每一操作***上正在运行的任务或要运行的下一任务的任务优先级增加到第一实施例中,以决定优于任何其他操作***执行的操作***。
在决定要执行的下一操作***时,实时优先级装置21根据存储装置12中存储的每一操作***的执行状态、执行优先级、时间片执行时间以及任务优先级选择较高优先级的操作***。执行决定装置11执行所选择的操作***。
如图26所示,存储装置12存储操作***的处理列表。在处理列表中,假定具有较小值的执行优先级具有较高优先级,同样,假定具有较小值的时间片执行时间具有较高优先级,假定具有较小值的任务优先级具有较高优先级。用执行优先级、时间片执行时间与任务优先级之和作为用于决定要执行的操作***的优先级值。实时优先级装置21比较处理列表中处于执行状态GO或READY的操作***的执行优先级和时间片执行时间以及操作***正在运行的任务或将要运行的下一任务的任务优先级,并选择较高优先级的操作***。在这种情况下,可执行的操作***是A或B,根据执行优先级、时间片执行时间及任务优先级之和选择总体上具有最高优先级的操作***B,然后执行决定装置11决定操作***的执行并执行该操作***。
因此,为了在虚拟机下运行指定高实时特性和低实时特性的操作***,能够按照关于操作***的实时特性的执行优先级、操作***中时间片执行时间、以及关于操作***执行的任务的任务优先级选择操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,总是比任何其他操作***优先地执行指定考虑执行优先级、时间片执行时间和任务优先级的较高优先级的操作***,从而能够比任何其他操作***优先地执行指定需要瞬时响应处理的较高实时特性的操作***,并能够增强关于操作***的响应性能。
(第十四实施例)
图27是按照本发明第十四实施例的虚拟机***的功能配置的方块图;图28是按照本发明第十四实施例的虚拟机***中时钟中断业务前后操作***的状态转移图。
除了第十三实施例的虚拟机***的部件以外,第十四实施例的虚拟机***包括:实时排序装置22,用于在时钟中断业务发生时比较在存储装置12中存储的作为优先级要素的操作***的执行优先级、时间片执行时间以及操作***正在运行的任务或将要运行的下一任务的任务优先级,并按优先级次序执行每一操作***的时钟中断业务。其他部件与第十三实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第十四实施例中虚拟机***的操作如下:当时钟中断发生时,实时优先级装置21比较在存储装置12中存储的操作***的执行优先级、时间片执行时间和任务优先级,并选择较高优先级的操作***,实时排序装置22根据实时优先级装置21的选择结果按优先级次序执行每一操作***的时钟中断业务。
在该实施例中,如图28的状态转移图所示,以存储在存储装置12中的基于操作***的执行优先级、时间片执行时间和任务优先级的优先级次序而非简单地以计算机***中固定确定的次序(例如以操作***A,B及C的次序)执行时钟中断业务。这里,如同在第十三实施例中,假定将执行优先级、时间片执行时间及任务优先级之和作为用于决定要执行的操作***的优先级值,并假定该值越小,优先级越高,实时排序装置22有选择地以操作***B,C,及A的次序,即以需要较高实时特性的操作***的次序,执行时钟中断业务。在终止时钟中断业务之后,指定高实时特性的操作***B被选择并由执行决定装置11执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当时钟中断业务发生时,能够按照执行优先级、时间片执行时间及任务优先级按次序有选择地执行每一操作***的时钟中断业务。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,比任何其他操作***的时钟中断业务优先地执行指定考虑执行优先级、时间片执行时间及任务优先级的较高优先级的操作***的时钟中断业务,从而能够总是比任何其他操作***优先地执行指定在时钟中断业务时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的时钟中断业务的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第十五实施例)
图29是按照本发明第十五实施例的虚拟机***的功能配置的方块图;图30是按照本发明第十五实施例的虚拟机***中中断业务前后操作***的状态转移图。
除了第十三实施例的虚拟机***的部件以外,第十五实施例的虚拟机***包括:恢复装置15,用于存储在中断业务发生时正在执行的操作***。在中断业务之后,执行决定装置11和实时优先级装置21比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级、时间片执行时间和任务优先级与作为优先级要素的任何可执行操作***的执行优先级、时间片执行时间和任务优先级,并有选择地执行指定较高优先级的操作***。其他部件与第十三实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第十五实施例中虚拟机***的操作如下:在任何时间发生的中断、比如键输入,发生时,执行决定装置11执行中断业务。在中断业务之后,执行决定装置11比较存储在恢复装置15中的在中断发生时正在执行的操作***的执行优先级、时间片执行时间和任务优先级与实时优先级装置21选择的操作***的执行优先级、时间片执行时间和任务优先级,并在中断业务返回时执行最高优先级的操作***。
在该实施例中,如图30的状态转移图所示,在操作***A的执行期间发生操作***B的中断业务并被执行之后,把存储在恢复装置15中的在中断发生时正在执行的操作***的执行优先级、时间片执行时间和任务优先级与实时优先级装置21选择的指定高优先级的可执行的操作***的执行优先级、时间片执行时间任务优先级相比较,并执行指定最高优先级的操作***。这里,如同在第十三实施例中,假定将执行优先级、时间片执行时间及任务优先级之和作为用于决定要执行的操作***的优先级值,并假定该值越小,优先级越高,在中断业务之后,选择指定高实时特性的操作***B并由执行决定装置11执行而不恢复中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当中断业务发生时,能够在中断业务之后按照执行优先级、时间片执行时间和任务优先级有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在中断业务之后,比任何其他操作***优先地执行指定考虑执行优先级、时间片执行时间和任务优先级的较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定在中断发生时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
(第十六实施例)
图31是按照本发明第十六实施例的虚拟机***的功能配置的方块图;图32是按照本发明第十注实施例的虚拟机***中多个中断业务前后操作***的状态转移图。
除第十五实施例虚拟机***的部件以外,第十六实施例的虚拟机***包括累积装置16,用于按多个中断业务发生的次序顺序地存储在多个中断业务发生时正在执行的操作***。在多个中断业务之后,执行决定装置11和实时优先级装置21比较恢复装置15中存储的在中断发生时正在执行的操作***的执行优先级、时间片执行时间和任务优先级与作为优先级要素的任何可执行操作***的执行优先级、时间片执行时间和任务优先级,并有选择地执行指定较高优先级的操作***。其他部件与第十三实施例的虚拟机***的那些类似,因此将不再讨论。
其次,第十六实施例中虚拟机***的操作如下:当多个中断发生时,执行决定装置11根据执行优先级和任务优先级处理正常的多个中断而不执行优先级处理。在多个中断业务之后,执行决定装置11比较存储在恢复装置15中的在多个中断中的第一个中断发生时正在执行的操作***的执行优先级、时间片执行时间和任务优先级与实时优先级装置21选择的操作***的执行优先级、时间片执行时间和任务优先级,并在中断业务返回时执行最高优先级的操作***。
在该实施例中,如图32的状态转移图所示,在操作***A的执行期间按操作***A,B,和C的次序发生多个中断业务并被执行,在操作***C的中断业务、即多个中断业务中的最后一个中断业务终止之后,按B和A的次序执行累积装置16中存储的在多个中断业务发生时正在执行的操作***的中断业务。在执行中断业务之后,把存储在恢复装置15中的在多个中断中的第一个发生时正在执行的操作***的执行优先级、时间片执行时间和任务优先级与实时优先级装置21选择的指定高优先级的可执行的操作***的执行优先级、时间片执行时间和任务优先级相比较,并执行指定最高优先级的操作***。这里,如同在第十三实施例中,假定将执行优先级、时间片执行时间及任务优先级之和作为用于决定要执行的操作***的优先级值,并假定该值越小,优先级越高,在多个中断业务之后,选择指定高实时特性的操作***B并由执行决定装置11执行而不恢复中断发生时正在执行的操作***A的执行。
因此,为了在虚拟机下操作指定高实时特性和低实时特性的操作***,当多个中断业务发生时,能够在多个中断业务之后按照执行优先级、时间片执行时间和任务优先级有选择地执行操作***。
如上所述,在该实施例中,为了控制特性不同的多个操作***的执行,在多个中断业务之后,比任何其他操作***优先地执行指定考虑执行优先级、时间片执行时间和任务优先级的较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定在多个中断发生时需要瞬时响应处理的较高实时特性的操作***,并能够增强关于指定高实时特性的操作***的响应性能,因此能够更进一步增强整个计算机***的响应性能。
本发明不限于上述实施例,下列修改的实施例是可能存在的:
虚拟机***中受控制的操作***的数目不涉及任何上限;它不限于所述实施例中的三个并且可控制任何数目的操作***的执行。
在上述实施例中用操作***的执行优先级作为固定确定的值,但是当计算机***工作时,它们可能根据虚拟机***、操作***、操作***的任务等任意改变。
作为执行优先级和任务优先级,可利用能够表示优先级级别的任何值且不受到限制。
可利用图2所示GO、READY、或SLEEP以外的任何其他状态等来表示操作***执行状态。
为了执行对用于决定要执行的操作***的优先级的计算和比较,除了执行优先级和任务优先级以外,任何其他要素比如每一操作***的睡眠时间或每一任务的执行时间可用于作为系数。
为了执行优先级的计算和比较,在该实施例中通过计算简单地找到执行优先级和任务优先级之和。然而,任务优先级的加权系数等可用于每一执行优先级,例如,以如下方式,每次在执行优先级被降低一个等级时,将任务优先级加5。另一方面,可在用于得到总优先级的要素之间执行加权。
对于存储执行优先级等的处理列表,在上述实施例中采用表结构,也可采用任何其他结构如队列结构或目录结构。
如果如上所述按优先级次序执行时钟中断业务,每一操作***的时钟中断业务没必要在一个时钟中断业务中执行并可分为多个时钟中断,以进行处理。
在所述实施例中时间片执行时间的上限值被设定为10ms;这是非限制性的,根据计算机***的处理性能可采用任何其他值。
时间片执行时间的一个上限值被固定用于一个虚拟机***,但时间片执行时间的上限值可确定并用于每一操作***。
在上述实施例中,具有较小值的时间片执行时间评价为具有较高优先级;相反,根据计算机***的情形也可将具有较大值的时间片执行时间评价为具有较高优先级。如果比任何其他操作***优先地执行指定较小剩余处理执行时间为上限值的操作***是有效的,则设定关于时间片执行时间的优先级,从而可增强整个计算机***的响应性能。
为了计算优先级,可应用所述实施例中的技术以外的任何公知技术;无任何限制。
如以上在整个说明书中所述,按照本发明,为了控制许多操作***,在决定要执行的下一操作***时比较诸如存储在存储装置中的执行优先级的优先级要素,选择和执行较高优先级的操作***,从而能够总是比任何其他操作***优先地执行指定较高实时特性和较高优先级的操作***;可增强指定较高实时特性的操作***的响应性能并可改善整个计算***的处理效率。
当时钟中断发生时,比较执行优先级一类的优先级要素并按优先级次序执行每一操作***的时钟中断业务,从而可增强关于指定较高实时特性和较高优先级的操作***的响应性能并能更进一步改善整个计算机***的响应性能。
当中断发生时,在中断业务之后,比较中断发生时正在执行的操作***的优先级要素与优先级装置选择的操作***的优先级要素,并选择和执行指定较高优先级的操作***,从而可增强关于指定较高实时特性和较高优先级的操作***的响应性能并能更进一步改善整个计算机***的响应性能。
当多个中断发生时,在执行多个中断业务的同时,根据多个中断发生的次序顺序地执行存储装置中存储的操作***,并在多个中断业务之后,比较存储在恢复装置中的在多个中断中的第一个发生时正执行的操作***的优先级要素与优先级装置选择的操作***的优先级要素,并选择和执行指定较高优先级的操作***,从而可增强关于指定较高实时特性和较高优先级的操作***的响应性能并能更进一步改善整个计算机***的响应性能。

Claims (11)

1.一种用于控制多个操作***的虚拟机***,包括:
存储装置,用于为每一操作***存储执行优先级;
优先级装置,用于在决定要执行的下一操作***的时候比较存储装置中存储的执行优先级,并选择高优先级的操作***;以及
执行决定装置,用于执行优先级装置选择的操作***。
2.如权利要求1所述的虚拟机***,其中还包括:
排序装置,用于当时钟中断发生时比较存储装置中存储的执行优先级并以优先级次序执行每一操作***的时钟中断业务。
3.如权利要求1所述的虚拟机***,其中还包括:
恢复装置,用于当中断发生时存储正被执行的操作***,其中
在对应于中断的中断业务之后,执行决定装置比较中断发生之前操作***的执行优先级与优先级装置所选择的操作***的执行优先级并选择和执行指定较高优先级的操作***。
4.如权利要求3所述的虚拟机***,其中还包括:
累积装置,用于在多个中断发生时顺序存储正被执行的操作***,其中
当执行对应于多个中断的多个中断业务时,执行决定装置根据多个中断发生次序顺序执行存储在存储装置中的操作***,以及
在多个中断业务之后执行决定装置比较中断发生之前存储在恢复装置中的操作***的执行优先级与优先级装置选择的操作***的执行优先级,并选择和执行指定较高优先级的操作***。
5.一种用于控制多个操作***的虚拟机***,包括:
存储装置,用于存储优先级要素以确定要执行的操作***;
优先级装置,用于在决定要执行的下一操作***的时候比较存储装置中存储的优先级要素,并选择高优先级的操作***;以及
执行决定装置,用于执行优先级装置选择的操作***。
6.如权利要求5所述的虚拟机***,其中:
优先级装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个选择较高优先级的操作***。
7.如权利要求5所述的虚拟机***,其中还包括:
排序装置,用于当时钟中断发生时比较存储装置中存储的执行优先级并以优先级次序执行每一操作***的时钟中断业务,其中
所述排序装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,按优先级次序执行每一操作***的时钟中断业务。
8.如权利要求5所述的虚拟机***,其中还包括:
恢复装置,用于当中断发生时存储正被执行的操作***,其中
在对应于中断的中断业务之后,执行决定装置比较中断发生之前操作***的优先级要素与优先级装置所选择的操作***的优先级要素并选择和执行指定较高优先级的操作***。
9.如权利要求8所述的虚拟机***,其中:
在中断业务之后,执行决定装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,选择和执行指定较高优先级的操作***。
10.如权利要求8所述的虚拟机***,其中还包括:
累积装置,用于在多个中断发生时顺序存储正被执行的操作***,其中
当执行对应于多个中断的多个中断业务时,执行决定装置根据多个中断发生次序顺序执行存储在存储装置中的操作***,以及
在多个中断业务之后执行决定装置比较中断发生之前存储在恢复装置中的操作***的优先级要素与优先级装置选择的操作***的优先级要素,并选择和执行指定较高优先级的操作***。
11.如权利要求10所述的虚拟机***,其中:
在多个中断业务之后,执行决定装置根据作为优先级要素的每一操作***的执行状态、每个操作***的执行优先级、每一操作***中每一可执行任务的任务优先级、以及每一操作***的时间片执行时间中至少一个,选择和执行指定较高优先级的操作***。
CNB00117889XA 1999-06-03 2000-06-02 虚拟机*** Expired - Fee Related CN1152305C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11156768A JP2000347883A (ja) 1999-06-03 1999-06-03 仮想計算機装置
JP156768/1999 1999-06-03

Publications (2)

Publication Number Publication Date
CN1276562A CN1276562A (zh) 2000-12-13
CN1152305C true CN1152305C (zh) 2004-06-02

Family

ID=15634900

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB00117889XA Expired - Fee Related CN1152305C (zh) 1999-06-03 2000-06-02 虚拟机***

Country Status (3)

Country Link
EP (1) EP1059582A3 (zh)
JP (1) JP2000347883A (zh)
CN (1) CN1152305C (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4015898B2 (ja) * 2002-07-26 2007-11-28 松下電器産業株式会社 プログラム実行装置
KR20040012540A (ko) * 2002-07-31 2004-02-11 마쯔시다덴기산교 가부시키가이샤 정보처리단말 및 정보처리방법
GB2396712B (en) 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Handling multiple interrupts in a data processing system utilising multiple operating systems
US8612992B2 (en) 2003-04-09 2013-12-17 Jaluna Sa Operating systems
ATE409904T1 (de) 2003-04-09 2008-10-15 Jaluna Sa Betriebssysteme
JP3952992B2 (ja) 2003-06-03 2007-08-01 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
EP1503286B1 (en) * 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
CN1922576A (zh) 2003-09-30 2007-02-28 扎鲁纳股份有限公司 操作***
CN1942859A (zh) * 2003-10-01 2007-04-04 扎鲁纳股份有限公司 操作***
US20060005190A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for implementing an operating system in a virtual machine environment
US7500244B2 (en) * 2004-06-30 2009-03-03 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
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
US7694298B2 (en) * 2004-12-10 2010-04-06 Intel Corporation Method and apparatus for providing virtual server blades
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
DE112009000612A5 (de) 2008-03-14 2012-08-02 Mitsubishi Electric Corp. Multi-Betriebssystem-Booteinrichtung (OS), Multi-OS-Boot-Programm, Aufzeichnungsmedium und Multi-OS-Bootverfahren
US8468533B2 (en) * 2008-04-28 2013-06-18 Panasonic Corporation Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target
JP2009294712A (ja) * 2008-06-02 2009-12-17 Panasonic Corp 優先度制御装置及び優先度制御方法
JP5323828B2 (ja) * 2008-06-24 2013-10-23 パナソニック株式会社 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
JP5446791B2 (ja) * 2009-12-02 2014-03-19 トヨタ自動車株式会社 情報処理装置
KR101658035B1 (ko) * 2010-03-12 2016-10-04 삼성전자주식회사 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
KR101719559B1 (ko) * 2010-06-22 2017-03-24 삼성전자주식회사 방송수신장치 및 그의 스케줄링 방법
JP2012033001A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
US9262196B2 (en) 2010-11-30 2016-02-16 International Business Machines Corporation Virtual machine deployment planning method and associated apparatus
JP5648544B2 (ja) 2011-03-15 2015-01-07 富士通株式会社 スケジューリングプログラム、および情報処理装置
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
CN103136052A (zh) * 2011-11-25 2013-06-05 展讯通信(上海)有限公司 移动终端及安装有多个操作***的移动终端的控制方法
CN102546830B (zh) * 2012-02-27 2015-06-24 辛旻 一种服务器中实现存储的方法和***
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
CN103067982B (zh) * 2012-12-14 2015-09-09 华为技术有限公司 一种数据传输方法及设备
JP7010014B2 (ja) * 2018-01-18 2022-01-26 株式会社デンソー スケジューリング装置
CN109032029B (zh) * 2018-08-14 2020-12-08 北京东土科技股份有限公司 工业服务器对外通信方法、***、装置及工业服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0814795B2 (ja) * 1986-01-14 1996-02-14 株式会社日立製作所 マルチプロセッサ仮想計算機システム
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system

Also Published As

Publication number Publication date
JP2000347883A (ja) 2000-12-15
CN1276562A (zh) 2000-12-13
EP1059582A3 (en) 2005-02-02
EP1059582A2 (en) 2000-12-13

Similar Documents

Publication Publication Date Title
CN1152305C (zh) 虚拟机***
CN1288556C (zh) 运算处理***和控制方法,任务管理***和方法
CN1284095C (zh) 多处理器***中的任务分配方法和多处理器***
CN1310148C (zh) 程序执行处理终端装置和程序执行处理方法
CN1517869A (zh) 处理器、运算处理方法和优先度决定方法
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN1795434A (zh) 程序执行控制设备,程序执行控制方法,控制程序和记录介质
CN1591374A (zh) 直接存储器存取传输控制器
CN1838077A (zh) 可调度性确定方法和实时***
CN1253806C (zh) 仲裁电路和数据处理***
CN1906583A (zh) 信息处理设备、中断处理控制方法、以及计算机程序
CN1549976A (zh) 通用串行端口体系结构和***
CN1878131A (zh) 进行流量控制的方法和***
CN1760836A (zh) 信息处理***、信息处理方法和程序
CN1321273A (zh) 操作***和虚拟计算机***
CN1782989A (zh) 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
CN1637696A (zh) 移动终端设备中支持输入确认的***与方法
CN1908904A (zh) 实时内部简易监视器
CN1145876C (zh) 网络***和网络接口卡
CN101065725A (zh) 命令供给装置
CN1862511A (zh) 一种软件单元的测试方法
CN101031884A (zh) 处理器
CN101055569A (zh) 一种电子数据表的函数收集方法和装置
CN1598797A (zh) 实时处理器***及控制方法
CN1777831A (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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee