计算机系统的制作方法

文档序号:6650821阅读:271来源:国知局
专利名称:计算机系统的制作方法
技术领域
本发明涉及计算机系统,尤其是对计算机系统中的OS(OperatingSystem操作系统)的控制。
背景技术
根据一个现有技术,当其他OS对某OS进行处理请求的通信时,将处理请求临时保存在延迟请求队列中。接收到处理请求的OS通过中断处理从延迟请求队列中取出请求,进行请求的处理。采用这种方式,即使某OS封锁了资源,仍可以执行其他OS的中断处理程序,所以其他OS的中断处理不延迟。(参照专利文献1)[专利文献1]日本特开2001-282558号公报发明内容在上述现有技术中,在某OS与其他OS之间进行处理请求通信时,通过中断处理来处理请求,但是一般进行中断处理时,需要对CPU(Central Processing Unit)所具有的全部寄存器进行保存,而该寄存器的保存比较花费时间。另外,当CPU具有指令预取机制时,由于该机制不发挥功能,所以指令的执行也会延迟。
另外,人们考虑将其他OS(客户机OS)或应用程序作为某OS(主机OS)上的任务(task)来运行的方式。在这种方式下,运行在客户机OS上的中断处理程序和任务,按照主机OS上规定的规则运行。在主机OS正对一些资源进行排他性控制的状态下,为避免资源冲突,客户机OS中断也一并被禁止。
在主机OS上运行的任务发出API(Application Program Interface应用程序接口),具体说是发出OS服务调用(service call),结果,在产生了进行任务的启动或停止的需要时,主机OS的API处理单元将任务启动或停止的请求传送给处理该请求的调度单元。调度单元本身在运行时,封锁资源以表示其正在运行。此时,为了避免资源的冲突而禁止中断,因此,即使发生对客户机OS的中断,也要在封锁解除以后客户机OS的中断处理才进行动作。另外,即使在不禁止客户机OS中断的情况下,在客户机OS的中断处理程序内,也必须禁止可能发生资源冲突的API的发出。同样地,由应用程序发出API的情况也要受到制约。因此,在这样的计算机系统中,就产生了如下课题,即受主机OS的运行状态影响,客户机OS或应用程序的运行延迟。
本发明的目的在于提供一种计算机系统,具有一个OS和作为至少一个的任务而在该OS上运行的软件组件,在该计算机系统中能够不受该OS的运行状态影响地从该软件组件发出API。
为了达到上述目的,本发明决定采用这样的结构,即一种计算机系统,包括一个OS和作为在该OS上运行的至少一个任务的软件组件,该计算机系统中还包括OS中断处理程序和OS任务,分别在上述OS上运行并具有发出API的功能;第1API处理单元,具有基于由上述OS中断处理程序和上述OS任务中的任意一个所发出的API输出变更上述OS的任务状态的指令的功能;第2API处理单元,具有基于涉及上述软件组件的API输出变更上述OS的任务状态的指令的功能;指令存储单元,依次存储从上述第2API处理单元输出的指令,并按存储的顺序输出这些指令;指令同步定时控制单元,将上述第1API处理单元的输出和上述指令存储单元的输出作为输入,优先选择这些输入中从上述指令存储单元输出的指令,并输出该所选择的指令;调度单元,通过处理从上述指令同步定时控制单元输出的指令,来选择应启动的任务;关联切换单元,按照上述调度单元的选择,执行上述OS的任务切换。
上述软件组件,既可以是以上述OS作为主机OS,在该主机OS上作为至少一个任务运行的客户机OS,也可以是上述OS上的作为至少一个任务运行的应用程序。
根据本发明,能够不受主机OS的运行状态影响地从客户机OS的中断处理程序和任务发出API,并且,能够不受主机OS的运行状态影响地从该主机OS上运行的应用程序发出API。


图1是与本发明的第1实施方式相关的计算机系统结构图。
图2是表示图1中的第1和第2指令存储单元的各个操作的流程图。
图3是表示图1中的指令同步定时控制单元的操作的示意图。
图4是与本发明的第2实施方式相关的计算机系统结构图。
图5是表示图4中的指令同步定时控制单元的操作的流程图。
图6是与本发明的第3实施方式相关的计算机系统结构图。
图7是与本发明的第4实施方式相关的计算机系统结构图。
图8是与本发明的第5实施方式相关的计算机系统结构图。
具体实施例方式
以下,参照

本发明的计算机系统的实施方式。
图1表示与本发明的第1实施方式相关的计算机系统的结构。图1的计算机系统包括作为硬件资源的CPU10、和作为在CPU10上运行的软件资源的主机OS20以及客户机OS40。主机OS20是例如不要求实时性的通用OS,在CPU10上运行。客户机OS40是例如实时OS,作为主机OS20上的至少一个任务运行。在这里,所谓的任务是指在处理器上的处理的执行单位。另外,在具备虚拟存储管理功能的OS上,多个任务能够共享地址空间,将这些任务的集合叫做任务群组。客户机OS可由至少一个任务群组构成。
在主机OS20上,运行主机OS中断处理程序31和主机OS任务32。主机OS中断处理程序31由硬件中断启动,并能够发出主机OS20上定义的API。另外,主机OS任务32也能够发出主机OS20的API。根据这些API,进行使主机OS任务32启动或停止等任务状态的变更。
在客户机OS40上,运行客户机OS中断处理程序51和客户机OS任务52。客户机OS中断处理程序51由硬件中断启动,并能够发出客户机OS40上定义的API。另外,客户机OS任务52也能够发出客户机OS40的API。根据这些API,进行使客户机OS任务52启动或停止等任务状态的变更。各客户机OS任务52都有作为主机OS任务的识别信息。
主机OS20上有API处理单元21、调度单元22、以及关联切换单元23。客户机OS40上具有单独的API处理单元41。主机OS20的API由主机OS20内部的API处理单元21处理。当主机OS20的处理要进行使任务启动或停止等的任务状态的变更时,API处理单元21输出能在调度单元22中处理的任务状态变更指令。客户机OS40的API由客户机OS40内部的API处理单元41处理。当客户机OS40的处理要进行使任务启动或停止等的任务状态的变更时,API处理单元41输出能在调度单元22中处理的任务状态变更指令。作为包含在这些任务状态变更指令中的信息,可列举对象任务的识别信息、和表示启动或停止等任务状态变更的信息。
图1的计算机系统还具有第1和第2指令存储单元61、62以及指令同步定时控制单元63。第1和第2指令存储单元61、62任意一个都具有能够存储多个指令的缓冲区,用于向该缓冲区存储指令的装置,以及用于从该缓冲区取出指令的装置。第1指令存储单元61依次存储主机OS的API处理单元21输出的指令,并按存储的顺序输出这些指令。第2指令存储单元62依次存储客户机OS的API处理单元41输出的指令,并按存储的顺序输出这些指令。在图1中,将第1指令存储单元61的输出指令作为Qa,将第2指令存储单元62的输出指令作为Qb。指令同步定时控制单元63将第1指令存储单元61的输出指令Qa和第2指令存储单元62的输出指令Qb作为输入指令,并在这些输入指令中优先选择从第2指令存储单元62输出的指令,并将该所选择的指令输出到调度单元22。在图1中,将这样从指令同步定时控制单元63输出到调度单元22的指令作为Qs。
调度单元22根据从指令同步定时控制单元63输入的指令Qs,进行主机OS任务32或者客户机OS任务52的启动、停止等操作,确定要执行的任务。当要执行的任务发生了变化时,调度单元22向关联切换单元23输出任务切换信息。
关联切换单元23根据任务切换信息,进行关联信息的切换。作为包含在关联信息中的信息,可列举CPU10的寄存器信息,表示任务32、52各自特有的存储空间的信息等。
图2表示图1中第1和第2指令存储单元61、62各自的操作。在此,用图2说明第1指令存储单元61的操作。首先,在步骤S11判断指令输入的有无。有输入时,在步骤S12将指令存储在第1指令存储单元61内的缓冲区内,没有输入时,进入步骤S13。然后,在步骤S13判断有无存储在缓冲区中的指令,没有指令时结束,有指令时进入步骤S14。在步骤S14,判断先前从第1指令存储单元61输出的指令是否被指令同步定时控制单元63接收。当先前输出的指令还没有被接收时,暂时结束处理,再次从步骤S11开始处理。当先前输出的指令已经被接收时,在步骤S15取出最早存储在缓冲区的指令,将其输出到指令同步定时控制单元63,并返回到步骤S13继续处理。另外,第2指令存储单元62的操作也与图2相同,所以省略说明。
图3表示在图1中指令同步定时控制单元63输出指令Qs时,第2指令存储单元62的输出指令Qb优先。当没有从第1和第2指令存储单元61、62中任合一个输入的指令时,也就没有指令Qs的输出。当只有第1指令存储单元61的输出指令Qa输入到指令同步定时控制单元63时,不管指令Qs的先前输出如何,都为Qs=Qa。另外,当第2指令存储单元62的输出指令Qb输入到指令同步定时控制单元63时,不管有无第1指令存储单元61的输出指令Qa或者指令Qs的先前输出如何,都为Qs=Qb。
按照以上说明,根据本实施方式,通过在客户机OS40的指令处理中使用第2指令存储单元62,能够使客户机OS中断处理程序51和客户机OS任务52发出API而不受主机OS20的运行状态影响。并且,优选的是,来自要求实时性的客户机OS40的API,比主机OS20的API优先。另外,通过在主机OS20的指令处理中使用第1指令存储单元61,能够使主机OS中断处理程序31和主机OS任务32发出API,而不受客户机OS40的运行状态影响。
图4表示与本发明的第2实施方式相关的计算机系统的结构。和图1的结构相比,不同点在于省略了第1指令存储单元61,而追加了主机OS中断状态信息输出单元24、客户机OS中断状态信息输出单元42、以及第1和第2中断状态信息控制单元64、65。
主机OS中断状态信息输出单元24,将主机OS中断处理程序31是否正在执行作为主机OS中断状态信息输出。客户机OS中断状态信息输出单元42,将客户机OS中断处理程序51是否正在执行作为客户机OS中断状态信息输出。
当用来指定是否使主机OS中断状态信息和客户机OS中断状态信息各信息无效的API发出时,主机OS的API处理单元21,将对应该API的控制信息输出到第1和第2中断状态信息控制单元64、65。客户机OS的API处理单元41也同样,当用来指定是否使主机OS中断状态信息和客户机OS中断状态信息各信息无效的API发出时,将对应该API的控制信息输出到第1和第2中断状态信息控制单元64、65。例如这些控制信息表示将主机OS中断状态信息和客户机OS中断状态信息不进行修正地输出,或将其修正成表示主机OS中断处理程序31和客户机OS中断处理程序51并非正在执行的信息。
第1中断状态信息控制单元64根据其控制信息,控制主机OS中断状态信息的有效性;第2中断状态信息控制单元65根据其控制信息,控制客户机OS中断状态信息的有效性。具体来讲,当使主机OS中断状态信息无效时,认为主机OS中断处理程序31并非正在执行;当使客户机OS中断状态信息为无效时,认为客户机OS中断处理程序51并非正在执行。根据第1中断状态信息控制单元64带来的主机OS中断状态信息、和第2中断状态信息控制单元65带来的客户机OS中断状态信息,当主机OS中断处理程序31和客户机OS中断处理程序51均并非正在执行时,指令同步定时控制单元63,执行用图3说明的指令的选择和输出。
图5表示图4中指令同步定时控制单元63的操作。指令同步定时控制单元63按照图5确定指令同步的时间。为此,首先在步骤S21判断主机OS中断状态信息是否是表示主机OS中断处理程序31正在执行的信息,当并非正在执行时进入步骤S22;当正在执行时结束。然后,在步骤S22判断客户机OS中断状态信息是否是表示中断处理程序51正在执行的信息,当并非正在执行时进入步骤S23;当正在执行时结束。然后,在步骤S23,根据图3进行输出指令的选择和指令的输出。图3中的第1指令存储单元(Qa)61被替换成主机OS的API处理单元(Qa)21。
根据本实施方式,当各OS20、40的状态为未执行中断处理程序31、51的状态时,进行指令同步,从而能够在中断处理程序31、51正在执行时抑止指令同步定时控制单元63的运行。一般在OS中,中断处理程序正在执行时不能进行任务的关联切换,因此能够在中断处理程序31、51执行结束时使指令同步定时控制单元63运行,能够减少该指令同步定时控制单元63的运行次数。
还有,根据各OS20、40的中断状态,主机OS20或者客户机OS40能够控制是否取得指令同步定时,由此,能够动态地控制指令同步定时。特别是,当主机OS20是不要求实时性的通用OS、客户机OS40是实时OS、由客户机OS中断处理程序51和客户机OS任务52正在进行要求实时性的处理时,能够更高速地进行指令同步定时的动态控制,这一点是很有利的。
图6表示与本发明的第3实施方式相关的计算机系统的结构。与图1的结构相比,不同点在于省略了第1指令存储单元61,追加了其他客户机OS70和存储指令选择单元66。
所追加的客户机OS70也作为至少一个任务而在主机OS20上运行。在该客户机OS70上,执行客户机OS中断处理程序81和客户机OS任务82。客户机OS中断处理程序81由硬件中断启动,能够发出客户机OS70上定义的API。另外,客户机OS任务82也能够发出客户机OS70的API。根据这些API进行使客户机OS任务82启动或停止等任务状态的变更。各客户机OS任务82具有作为主机OS任务的识别信息。
客户机OS70具有单独的API处理单元71。客户机OS70的API由客户机OS70内部的API处理单元71处理。通过该处理进行使任务启动或停止等任务状态的变更时,API处理单元71输出能在调度单元22中处理的任务状态变更指令Qc。
图6的计算机系统中的指令存储单元62,将客户机OS的API处理单元41的输出指令Qb和其他客户机OS的API处理单元71的输出指令Qc作为输入指令,并具有优先存储与这些输入指令中的一者相关的指令的功能。存储指令选择单元66控制在指令存储单元62中Qb和Qc哪个优先。指令同步定时控制单元63将主机OS的API处理单元21的输出指令Qa和指令存储单元62的输出指令Qb或Qc作为输入指令,并在这些输入指令中优先选择从指令存储单元62输出的指令Qb或Qc,并将该所选择的指令输出到调度单元22。
根据本实施方式,能够运行多个客户机OS40,70,从而能够集成以往作为各单独系统所运行的多个系统。另外,也可以省略存储指令选择单元66,由指令存储单元62进行固定的优先控制。另外,本实施方式中客户机OS的个数是2个,即使是3个以上时,也同样能够执行。另外,当多个客户机OS作为同一任务群组执行时,也同样能够执行。
图7表示与本发明的第4实施方式相关的计算机系统的结构。与图1的结构相比,不同点在于追加了其他客户机OS70、第3指令存储单元67、以及同步指令选择单元68。
所追加的客户机OS70作为至少一个任务而在主机OS20上的运行,在该客户机OS70上,执行客户机OS中断处理程序81和客户机OS任务82,客户机OS70具有单独的API处理单元71,这一点与图6相同。
与第1和第2指令存储单元61、62相同,第3指令存储单元67也具有能存储多个指令的缓冲区,用于向该缓冲区存储指令的装置,以及用于从该缓冲区取出指令的装置。第3指令存储单元67依次存储客户机OS的API处理单元71输出的指令,并按存储的顺序输出这些指令。在图7中,将第1指令存储单元61的输出指令作为Qa,将第2指令存储单元62的输出指令作为Qb,将第3指令存储单元67的输出指令作为Qc。指令同步定时控制单元63将第1指令存储单元61的输出指令Qa、第2指令存储单元62的输出指令Qb、以及第3指令存储单元67的输出指令Qc作为输入指令,并在这些输入指令中,将从第2或第3指令存储单元62、67输出的指令优先输出到调度单元22。同步指令选择单元68控制在指令同步定时控制单元63中,使Qb和Qc哪个优先。
根据本实施方式,为多个客户机OS40、70的每一个,设置专用的指令存储单元62、67,从而能够在这些客户机OS40、70之间建立优先度。另外,也可以省略同步指令选择单元68,由指令同步定时控制单元63执行固定的优先控制。另外,本实施方式中客户机OS的个数是2个,即使是3个以上时,也同样能执行。另外,当多个客户机OS作为同一任务群组执行时也同样能执行。
图8表示与本发明的第5实施方式相关的计算机系统的结构。与图1的结构相比,不同点在于省略了第1指令存储单元61,代替客户机OS40而具有应用程序90。
应用程序90是作为至少一个任务而在OS20上运行的程序,具有单独的API处理单元91。OS中断处理程序31或着OS任务32能够对该应用程序90发出API。应用程序90的API由应用程序90内部的API处理单元91处理。通过该处理进行使任务启动或停止等的任务状态的变更时,API处理单元91输出能在调度单元22中处理的任务状态变更指令。
图8的计算机系统中的指令存储单元62依次存储应用程序的API处理单元91所输出的指令,并按存储的顺序输出这些指令。指令同步定时控制单元63将OS的API处理单元21的输出指令Qa和指令存储单元62的输出指令Qb作为输入指令,在这些输入指令中,优先选择从指令存储单元62输出的指令,将该所选择的指令输出到调度单元22。
根据本实施方式,能够从应用程序90发出API,而不受主机OS20的运行状态影响。
如上所述,本发明对切换多个OS而运行的计算机系统的控制特别有用。
权利要求
1.一种计算机系统,具有一个OS和作为在该OS上运行的至少一个任务的软件组件,该计算机系统的特征在于,还包括OS中断处理程序和OS任务,分别在上述OS上运行并具有发出API的功能;第1API处理单元,具有基于由上述OS中断处理程序和上述OS任务中的任意一个所发出的API输出变更上述OS的任务状态的指令的功能;第2API处理单元,具有基于涉及上述软件组件的API输出变更上述OS的任务状态的指令的功能;指令存储单元,依次存储上述第2API处理单元所输出的指令,并按存储的顺序输出这些指令;指令同步定时控制单元,将上述第1API处理单元的输出和上述指令存储单元的输出作为输入,优先选择这些输入中的从上述指令存储单元输出的指令,并输出该所选择的指令;调度单元,通过处理从上述指令同步定时控制单元输出的指令,来选择应启动的任务;以及关联切换单元,按照上述调度单元的选择,执行上述OS的任务切换。
2.根据权利要求1所述的计算机系统,其特征在于上述软件组件,是将上述OS作为主机OS并作为在该主机OS上运行的至少一个任务的客户机OS;上述计算机系统,还包括客户机OS中断处理程序和客户机OS任务,该客户机OS中断处理程序和客户机OS任务分别在上述客户机OS上运行并具有发出API的功能;上述第2API处理单元,具有基于由上述客户机OS中断处理程序和上述客户机OS任务中的任意一个所发出的API输出变更上述OS的任务状态的指令的功能。
3.根据权利要求1所述的计算机系统,其特征在于上述软件组件是作为在上述OS上运行的至少一个任务的应用程序;上述第2API处理单元,具有基于由上述应用程序所发出的API输出变更上述OS的任务状态的指令的功能。
4.根据权利要求2所述的计算机系统,其特征在于还包括其他指令存储单元,依次存储上述第1 API处理单元所输出的指令,并按存储的顺序将这些指令输出到上述指令同步定时控制单元。
5.根据权利要求2所述的计算机系统,其特征在于还包括主机OS中断状态信息输出单元,将上述主机OS中断处理程序是否正在执行作为主机OS中断状态信息输出;和客户机OS中断状态信息输出单元,将上述客户机OS中断处理程序是否正在执行作为客户机OS中断状态信息输出,其中,上述指令同步定时控制单元具有如下功能,基于上述主机OS中断状态信息和上述客户机OS中断状态信息,在上述主机OS中断处理程序和上述客户机OS中断处理程序都非正在执行时,执行上述指令的选择和输出。
6.根据权利要求5所述的计算机系统,其特征在于还包括中断状态信息控制单元,控制上述主机OS中断状态信息和上述客户机OS中断状态信息各自的有效性;上述第1和第2API处理单元中至少一者,具有如下功能,当指定是否使各上述主机OS中断状态信息和各上述客户机OS中断状态信息为无效的API发出时,将对应于该API的控制信息输出到上述中断状态信息控制单元;当上述主机OS中断状态信息为无效时,判断为上述主机OS中断处理程序并非正在执行,当上述客户机OS中断状态信息为无效时,判断为上述客户机OS中断处理程序并非正在执行。
7.根据权利要求2所述的计算机系统,其特征在于还包括其他客户机OS,作为其他至少一个任务在上述主机OS上运行;其他客户机OS中断处理程序和其他客户机OS任务,分别在上述其他客户机OS上运行并具有发出API的功能;以及第3API处理单元,具有基于由上述其他客户机OS中断处理程序和上述其他客户机OS任务中的任意一个所发出的API输出变更上述主机OS的任务状态的指令的功能,其中,上述指令存储单元,具有将上述第2API处理单元的输出和上述第3API处理单元的输出作为输入,并优先存储这些输入中的一个指令的功能。
8.根据权利要求7所述的计算机系统,其特征在于还包括存储指令选择单元,对在上述指令存储单元中上述第2API处理单元的输出和上述第3API处理单元的输出中哪个优先进行控制。
9.根据权利要求2所述的计算机系统,其特征在于还包括其他客户机OS,作为其他至少一个任务在上述主机OS上运行;其他客户机OS中断处理程序和其他客户机OS任务,分别在上述其他客户机OS上运行并具有发出API的功能;第3API处理单元,具有基于由上述其他客户机OS中断处理程序和上述其他客户机OS任务中的任意一个所发出的API输出变更上述主机OS的任务状态的指令的功能;以及其他指令存储单元,依次存储上述第3API处理单元所输出的指令,并按存储的顺序输出这些指令,其中,上述指令同步定时控制单元具有如下功能,除了上述第1API处理单元的输出和上述指令存储单元的输出之外,还将上述其他指令存储单元的输出作为输入,优先输出这些输入中的从上述指令存储单元或上述其他指令存储单元输出的指令。
10.根据权利要求9所述的计算机系统,其特征在于还包括同步指令选择单元,控制在上述指令同步定时控制单元中上述指令存储单元的输出和上述其他指令存储单元的输出哪个优先。
11.一种计算机系统的控制方法,该计算机系统将一个OS作为主机OS,并具有作为在该主机OS上运行的至少一个任务的客户机OS,该控制方法的特征在于,包括以下步骤由第1API处理单元基于从在上述主机OS上运行的各中断处理程序和各任务中的任意一个所发出的API,输出变更上述主机OS的任务状态的指令;由第2API处理单元基于从在上述客户机OS上运行的各中断处理程序和各任务中的任意一个所发出的API,输出变更上述主机OS的任务状态的指令;由指令存储单元依次存储上述第2API处理单元所输出的指令,并按存储的顺序输出这些指令;由指令同步定时控制单元将上述第1API处理单元的输出和上述指令存储单元的输出作为输入,优先选择这些输入中的从上述指令存储单元输出的指令,并输出该所选择的指令;由调度单元通过处理从上述指令同步定时控制单元输出的指令,来选择应启动的任务;以及由关联切换单元按照上述调度单元的选择,执行上述主机OS的任务切换。
全文摘要
本发明提供一种计算机系统。将通用OS作为主机OS(20),将作为在此上运行的至少一个任务的实时OS作为客户机OS(40)。主机OS(20)上的中断处理程序(31)和任务(32)以及客户机OS(40)上的中断处理程序(51)和任务(52)发出请求使任务启动、停止等任务状态变更的API。各OS的API处理单元(21)、(41)输出变更任务状态的指令。设置将由客户机OS的API处理单元(41)所输出的指令依次存储并输出的指令存储单元(62),当两中断处理程序(31)、(51)都非正在执行时,指令同步定时控制单元(63)优先选择指令存储单元(62)的输出指令,并传递给调度单元(22)。
文档编号G06F9/46GK1783016SQ20051012418
公开日2006年6月7日 申请日期2005年11月21日 优先权日2004年11月24日
发明者浅井登, 喜多村启 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1