计算机系统、计算机系统控制方法、计算机系统控制程序及集成电路的制作方法

文档序号:6397119阅读:214来源:国知局
专利名称:计算机系统、计算机系统控制方法、计算机系统控制程序及集成电路的制作方法
技术领域
本发明涉及具有多个处理器的计算机系统。
背景技术
在处理应该保密的信息的计算机系统中,从安全保护的角度考虑,期望能够保护这种应该保密的信息,使其不被可信赖的特定程序(下面称为“安全程序”)以外的程序(下面称为“非安全程序”)进行存取(读出或者写入)。因此,在计算机系统中具有存取控制装置,仅限于在执行安全程序的期间对该存取控制装置进行存取许可设定,该存取控制装置仅限于在进行了规定的存取许可设定的情况下,许可向存储器的存储区域中、存储应该保密的信息的特定的存储区域(下面称为“安全区域”)的存取。另外,关于控制程序被执行的期间的技术,过去公知有这样的技术(例如,专利文献1),在具有多个处理器的计算机系统(下面称为“并行式计算机系统”)中并行执行多个程序执行单位。现有技术文献专利文献专利文献1:日本特开平09 - 128351号公报发明概要发明要解决的问题但是,在前述的利用如专利文献I所述的技术控制安全程序被执行的期间,仅限于在该期间中对存取控制装置进行存取许可设定的结构中,要求实现安全保护,并且进一步提高处理器的利用效率。

发明内容
本发明正是鉴于上述问题而提出的,其目的在于提供一种计算机系统,在截止到根据至少由安全程序构成的程序执行单位而开始向安全区域进行存取的期间中,增大处理器的利用效率提高的可能性。用于解决问题的手段为了解决上述问题,本发明的计算机系统包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于,所述第I处理器和所述第2处理器中至少一方作为通过执行被存储在所述存储器中的程序而实现的功能性结构要素,所述计算机系统具有:执行控制部,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及开始通知受理部,受理存取开始通知,该存取开始通知表示由所述第I处理器进行的、从被许可向所述安全存储区域的存取的存取许可类程序执行单位的向所述安全存储区域的存取开始,在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述执行控制部进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位。发明效果根据具有上述结构的本发明的计算机系统,在截止到从被许可向安全存储区域的存取的存取许可类程序执行单位向安全区域的存取开始的期间中,执行控制部进行多个程序执行单位的执行控制。因此,在该期间中,当一个处理器在一个程序执行单位中执行的程序消失的情况下,该处理器也能够执行另一个程序执行单位的程序。由此,该计算机系统在由安全程序构成的程序执行单位正在进行向安全存储区域的存取的期间中,包括非安全程序的程序执行单位不会成为执行对象,这种计算机系统在截止到按照至少由安全程序构成的程序执行单位向安全区域的存取开始的期间中,与按照成组调度方式进行各个处理器的调度的现行计算机系统相比,能够增大处理器的利用效率提高的可能性。


图1是表示计算机系统100的主要硬件结构的块图。图2是控制寄存器组131的数据结构图。图3是模块组300的示意图。图4是安全区域管理表400的数据结构图。图5是OSID管理表500的数据结构图。图6是存取开始处理的流程图。图7是再调度处理的流程图。图8是安全区域设定处理的流程图。图9是存取结束处理的流程图。图10是存取控制处理的流程图。图11是各个CPU的时序图。图12是模块组1200的示意图。图13是变形OSID管理表1300的数据结构图。图14是第I变形存取开始处理的流程图。图15是第I变形再调度处理的流程图。图16是第I变形安全区域设定处理的流程图。图17是第I变形存取结束处理的流程图。图18是表示计算机系统1800的主要硬件结构的块图。图19是模块组1900的示意图。图20是第2变形存取开始处理的流程图。图21是第2变形存取结束处理的流程图。图22是模块组2200的示意图。图23是变形安全区域管理表2300的数据结构图。图24是PGID管理表2400的数据结构图。图25是第3变形存取开始处理的流程图。图26是第2变形再调度处理的流程图。
图27是第2变形安全区域设定处理的流程图。图28是第3变形存取结束处理的流程图。图29是各个CPU的时序图。图30是现行计算机系统中的各个处理器的时序图。图31是表示变形例的计算机系统3100的结构的块图。
具体实施例方式<完成涉及本发明的一种方式的经过>关于前述的利用如专利文献I所述的技术控制安全程序被执行的期间,并仅限于在该期间中对存取控制装置进行存取许可设定的结构,本发明者进行了详细的研究。在这种并行式计算机系统中,例如并行式计算机系统具有上述的存取控制装置,该存取控制装置假设当在一个处理器中执行安全程序的期间中进行了存取许可设计时,如果在该期间中由另一个处理器执行了非安全程序,则应该保密的信息有可能被该非安全程序进行存取。因此,在过去的并行式计算机系统中,以在任意时刻使全部处理器将在安全/非安全方面是相同类型的程序执行单位作为执行对象的方式,由各个处理器相互同步地、按照在每个规定期间(下面称为“昆腾(quantum)”)切换作为执行对象的程序执行单位的成组调度(gang scheduling)方式进行调度。并且,由此防止安全程序和非安全程序被同时执行。图30是在具有CPU A3001和CPU B3002和CPU C3003这三个处理器的过去的并行式计算机系统中,按照成组调度方式进行各个处理器的调度时的各个处理器的时序图的一例。如该图所示,CPU A3001和CPU B3002和CPU C3003相互同步地在时刻qa3041和时刻qb3042和时刻qc3043和时刻qd3044这样的各个时刻,切换作为执行对象的程序执行单位。在该示例中,各个处理器在第N -1昆腾3011的期间将由安全程序构成的第I程序执行单位作为执行对象,在第N昆腾3012的期间将包括非安全程序的第2程序执行单位作为执行对象,在第N + I昆腾3013的期间再次将第I程序执行单位作为执行对象。在该图中,安全区域存取期间3031和安全区域存取期间3032分别表示安全程序正在向安全存储区域进行存取的期间,虚线部分表示对应的处理器是空闲状态。这样,在按照成组调度方式进行各个处理器的调度的过去的并行式计算机系统中,能够防止在安全程序正在向安全存储区域进行存取的期间(图中的安全区域存取期间3031、安全区域存取期间3032等)中执行非安全程序。通常,期望在计算机系统中提高处理器的利用效率。关于处理器的利用效率,发明者发现基于前述的现有技术的结构存在如下的问题。具体地讲,在按照成组调度方式进行各个处理器的调度的计算机系统中,即使在一个昆腾期间中存在作为执行对象的程序执行单位中应该执行的程序消失的处理器,该处理器也不能在另一个昆腾期间中执行作为执行对象的程序执行单位的程序。并且,由于这种原因而产生如下的问题:在将一个程序执行单位作为执行对象的一个昆腾期间中,在该期间中的至少一部分期间中一部分处理器处于空闲状态。并且,关于这一点,本发明者进行反复研究的结果发现能够提供如下的计算机系统,从而完成了本发明,该计算机系统在由安全程序构成的程序执行单位正在进行向安全存储区域的存取的期间中,包括非安全程序的程序执行单位不会成为执行对象,由此与按照成组调度方式进行各个处理器的调度的过去的计算机系统相比,能够增大处理器的利用效率提闻的可能性。<实施方式1>< 概况 >下面,作为涉及本发明的计算机系统的一个实施方式来说明这样的计算机系统,该计算机系统具有:存储器,具有存储应该保密的信息的安全区域;使用存储器的4个处理器;以及存取控制装置,控制由处理器进行的向安全区域的存取。在该计算机系统中,通过执行用于进行多个操作系统的执行控制的管理程序,能够相互独立地执行多个操作系统。在作为执行对象的操作系统中,包括仅对安全程序进行执行的控制的操作系统(下面称为“安全操作系统”)。在该计算机系统中,管理程序进行操作系统的执行控制,以便仅限于在安全程序向安全区域进行存取的期间中,将所执行的操作系统限定为安全操作系统。并且,管理程序控制存取控制装置,以便仅限于在安全程序向安全区域进行存取的期间中,许可由处理器进行的向安全区域的存取。下面,参照

本实施方式I涉及的计算机系统的结构。〈结构〉图1是表示计算机系统100的主要硬件结构的块图。如该图所示,计算机系统100作为硬件是计算机装置,由集成电路110、输入装置191、输出装置192、和硬盘装置193构成。集成电路110由MPU (Multi Processor Unit:多处理器单元)120、存取控制装置130、存储器140、总线150、第I接口 160、第2接口 170、和第3接口 180构成。并且,MPU120由 CPU (Central Processor Unit:中央处理单元)A121、CPU B122、CPU C123、CPU D124、和中断控制器125构成。存储器140 由 ROM (Read Only Memory:只读存储器)和 RAM (Random AccessMemory:随机存取存储器)构成,并与存取控制装置130连接,存储器140存储用于规定CPUA121 CPU D124的动作的程序、和CPU A121 CPU D124使用的数据。存储器140的存储区域中的一部分区域被定义为用于存储应该保密的数据的安全区域141。关于应该保密的数据,例如可以举出用于对内容进行解码的加密密钥、包括个人信息的地址簿等。存取控制装置130与存储器140、总线150及中断控制器125连接,具有控制寄存器组131,并具有以下三种功能。存取禁止功能:在没有对控制寄存器组131设定规定的值的情况下,禁止由CPUA121 CPU D124进行的向安全区域141的存取。其中,所谓禁止存取是指不进行存取。
存取限制功能:在对控制寄存器组131设定有规定的值的情况下,许可由CPUA121 CPU D124进行的、向安全区域141中利用该设定值指定的存储区域的存取,并禁止由CPU A121 CPU D124进行的、向安全区域中利用该设定值指定的存储区域以外的存储区域的存取。其中,所谓许可存取是指进行存取。图2是表示控制寄存器组131的数据结构的一例的数据结构图。如该图所示,控制寄存器组131是汇集了 N条(例如16条)寄存器而构成的,该寄存器包括寄存器号码210、开始地址220、结束地址230、和存取权限240。寄存器号码210是用于存储识别号码的区域,该识别号码用于识别对应的寄存器。该寄存器号码210是不能改写的,预先对对应的每个寄存器设定了数值。开始地址220和结束地址230分别表示用于存储与包含于安全区域中的一个连续的存储区域相关的开始地址和结束地址的区域。存取权限240是用于存储存取形式信息的区域,该存取形式信息表示向利用对应的开始地址220和结束地址230指定的连续的存储区域的存取的许可形式。其中,关于存取形式信息,在其逻辑值为“I”时表示许可读出和写入双方,在其逻辑值为“2”时表示仅许可读出,在其逻辑值为“3”时表示仅许可写入,在其逻辑值为“O”时表示不许可读出和写入双方。另外,开始地址220和结束地址230和存取权限240分别被设定为在初始状态下被写入初始逻辑值“0”,并且能够由CPU A121 CPU D124通过总线150来改写其值。再返回到图1,继续说明存取控制装置130具有的功能。例外中断通知功能:在禁止由CPU A121 CPU D124中任意一个CPU进行的向存储器140的存取的情况下,存取控制装置130向中断控制器125发送表示禁止向存储器140的存取的存储器存取例外中断请求信号。其中,该存储器存取例外中断请求信号包括用于确定尝试了成为禁止对象的存储器存取的CPU的信息。中断控制器125 与存取控制装置 130、CPU A12UCPU B122、CPU C123 及 CPU D124连接,具有从这些连接对象设备受理中断请求信号,并在合适的计时对合适的CPU进行与接收到的中断请求信号对应的中断的功能。总线150 与存取控制装置 130、CPU A121、CPU B122、CPU C123、CPU D124、第 I 接口 160、第2接口 170及第3接口 180连接,具有传递所连接的设备之间的信号的功能。输入装置191由键盘、鼠标等构成,与第I接口 160连接,并由执行程序的CPUA121 CPU D124进行控制,输入装置191具有通过键盘、鼠标等受理来自用户的操作命令的功能。输出装置192由显示器、扬声器等构成,与第2接口 170连接,并由执行程序的CPUA121 CPU D124进行控制,输出装置192具有使用显示器、扬声器等输出文字序列、图像、
声首等的功能。第I接口 160和第2接口 170和第3接口 180分别与总线150连接,分别具有进行总线150与输入装置191之间的信号传递的功能、进行总线150与输出装置192之间的信号传递的功能、进行总线150与硬盘装置193之间的信号传递的功能。
CPU A121和CPU B122和CPU C123和CPU D124是彼此具有相同的功能的处理器。因此,下面对代表这些CPU的CPU A121进行说明。CPU A121与中断控制器125及总线150连接,并具有这样的功能:通过执行在存储器140中存储的程序,与其它CPU共同地控制存取控制装置130和存储器140和输入装置191和输出装置192和硬盘装置193,使计算机系统100作为计算机装置发挥作用。另外,CPU A121具有这样的功能:通过执行在存储器140中存储的程序来控制计算机系统100,使计算机系统100实现其特征性的动作即存取开始处理、再调度处理、安全区域设定处理、存取结束处理和存取控制处理。关于这些存取开始处理、再调度处理、安全区域设定处理、存取结束处理和存取控制处理,将在后面使用流程图进行详细说明。并且,CPU A121具有作为其动作模式的用户模式、第I特权模式、和比第I特权模式更上位的第2特权模式。图3是示意地表示在CPU A121 CPU D124中成为执行对象的程序模块(下面简称为“模块”)组300的示意图。如该图所示,在CPU A121 CPU D124中成为执行对象的模块组300包括:以用户模式310执行的进程A311 进程P312、进程Q313 进程Z314 ;以第I特权模式320执行的OS (Operating System:操作系统)a340和OS b350 ;以第2特权模式330执行的管理程序 360。管理程序360是具有对OS a340和OS b350进行执行控制的功能的管理程序模块,包括存取标志更新部361、0SID管理表存储部362、安全区域管理表存储部363、存取控制操作部364、调度器365和CPU间通信控制部367。OS a340是具有对进程A311 进程P312进行执行控制的功能的操作系统模块,包括安全区域开始指示部341和安全区域结束指示部342。另外,OS a340使由本OS即OSa340和正在被执行控制中的进程构成的系统,作为一个虚拟计算机发挥作用。OS b350是具有对进程Q313 进程Z314进行执行控制的功能的操作系统模块,包括安全区域开始指示部351和安全区域结束指示部352。另外,OS b350使由本OS即OSb350和正在被执行控制中的进程构成的系统,作为一个虚拟计算机发挥作用。进程A311 进程P312分别是通过由CPU A121 CPU D124中任意一个CPU执行可信赖的特定的应用程序(下面称为“安全应用程序”)而生成的任务。这些进程A311 进程P312已被预先确认为不会不恰当地使用在安全区域141中存储的数据。关于安全应用程序的一例,可以举出使用加密密钥对内容进行解密的内容解码程序、使用地址簿的邮件等。下面,有时将进程A311 进程P312称为安全进程。进程Q313 进程Z314分别是通过由CPU A121 CPU D124中任意一个CPU执行可信赖的特定的应用程序以外的应用程序(下面称为“非安全应用程序”)而生成的任务。这些进程Q313 进程P312未被预先确认为不会不恰当地使用在安全区域141中存储的数据。下面,有时将进程Q313 进程Z314称为非安全进程。安全区域开始指示部341具有这样的功能:检测到基于通过包括本模块的OS (此处指OS a340)来进行执行控制的进程的、向安全区域141的存取开始,并向存取标志更新部361发送表示向安全区域141的存取开始的存取开始信号。在此,该存取开始信号包括用于识别发送本信号的OS的识别符即OSID。安全区域结束指示部342具有这样的功能:检测到基于通过包括本模块的OS (此处指OS a340)来进行执行控制的进程的、向安全区域141的存取结束,并向存取标志更新部361发送表示向安全区域141的存取结束的存取结束信号。在此,该存取结束信号包括用于识别发送本信号的OS的识别符即0SID。安全区域开始指示部351和安全区域结束指示部352分别具有与安全区域开始指示部341和安全区域结束指示部342相同的功能。因此,在此省略说明。安全区域管理表存储部363具有存储安全区域管理表400的功能。图4是表示安全区域管理表400的数据结构的一例的数据结构图。如该图所示,安全区域管理表400是将0SID410、开始地址420、结束地址430及存取权限440相对应而构成的。0SID410是用于识别OS的识别符,在逻辑值为“I”时表示被识别出的OS是OSa340,在逻辑值为“2”时表示被识别出的OS是OS b350。开始地址420和结束地址430分别表示与包含于安全区域中的一个连续的存储区域相关的开始地址和结束地址。存取权限440是指存取形式信息,表示从由对应的0SID410识别出的OS、向由对应的开始地址420和结束地址430指定的连续的存储区域进行存取的许可形式。该存取形式信息与存取权限240中的存取形式信息相同。因此省略说明。在此,该安全区域管理表400是在进行系统研发时预先设定的表,其内容不能更新。另外,在图4所示的安全区域管理表400的示例中,表示许可从OS a340向安全区域141中的开始地址和逻辑地址分别是0x8400_0000和0x8402_FFFF的连续的存储区域进行读出和写入这两种处理。再返回到图3,继续说明模块组300。OSID管理表存储部362具有存储OSID管理表500的功能。图5是表示OSID管理表500的数据结构的一例的数据结构图。如该图所示,OSID管理表500是将0SID510和优先度520和存取标志530相对应而构成的。0SID510与0SID410相同地是用于识别OS的识别符,在逻辑值为“ I ”时表示被识别出的OS是OS a340,在逻辑值为“2”时表示被识别出的OS是OS b350。优先度520表示在管理程序360进行OS的执行控制时利用对应的0SID510识别出的OS的执行优先度。在此,优先度520取O 99中的任意一个整数值,数值越大表示优先度越高。另夕卜,关于管理程序360利用该优先度520进行的OS的执行控制,将在后面对调度器365的说明部分中进行说明。存取标志530是表示利用对应的0SID510识别出的OS是否在进行向安全区域141的存取的标志。在此,存取标志530在逻辑值为“I”时表示正在进行向安全区域141的存取,在逻辑值为“O”时表示没有进行向安全区域141的存取。
再返回到图3,继续说明模块组300。存取标志更新部361具有以下三种功能。存取标志I更新功能:在从安全区域开始指示部341或者安全区域开始指示部351接收到存取开始信号的情况下,当该存取开始信号的发送源的OS包含在利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中时,将在OSID管理表存储部362中存储的OSID管理表500中的、与识别发送源OS的0SID510对应的存取标志530更新为逻辑值“I”。存取标志O更新功能:在从安全区域结束指示部342或者安全区域结束指示部352接收到存取结束信号的情况下,当该存取开始信号的发送源的OS包含在利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中时,将在OSID管理表存储部362中存储的OSID管理表500中的、与识别发送源OS的0SID510对应的存取标志530更新为逻辑值“O”。再调度请求功能:在将被存储于OSID管理表存储部362中的OSID管理表500的存取标志530更新后的情况下,向调度器365进行基于被更新后的OSID管理表500的新调度的委托。调度器365具有以下两种功能。通常调度功能:在被存储于OSID管理表存储部362中的OSID管理表500的存取标志530的逻辑值全部为“O”的情况下,进行各个CPU中的各个OS的执行调度,以便使对于各个CPU来说执行的各个OS的各个执行时间的比率达到与各个OS对应的优先度520的比率。限定调度功能:当在被存储于OSID管理表存储部362中的OSID管理表500的存取标志530中具有逻辑值为“I”的存取标志的情况下,进行各个CPU中的各个OS的执行调度,以便将在全部CPU中执行的OS限定为、利用与其逻辑值为“I”的存取标志530对应的0SID510识别出的OS。执行控制部366具有根据由调度器365进行调度后的执行调度,进行有关各个CPU的OS的执行控制的功能。该执行控制部366在调度器365进行调度的期间中,将针对全部OS的执行控制暂时停止。CPU间通信控制部367具有这样的功能:在需要从一个CPU向另一个CPU进行中断通知的情况下,生成合适的中断请求信号并发送给中断控制器125 ;以及在由中断控制器125进行了中断的情况下接受该中断。存取控制操作部364具有以下两种功能。安全区域设定功能:在被存储于OSID管理表存储部362中的OSID管理表500的存取标志530的逻辑值被更新为“I”的情况下,在与对应于该存取标志530的0SID510相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中时,读出与该0SID410对应的开始地址420和结束地址430和存取权限440,并向包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器、写入开始地址220和结束地址230和存取权限240。安全区域解除功能:在被存储于OSID管理表存储部362中的OSID管理表500的存取标志530的逻辑值被更新为“O”的情况下,在与对应于该存取标志530的0SID510相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中时,对于包含于控制寄存器组131中的、已被写入与该0SID410对应的开始地址420和结束地址430和存取权限440的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”。下面,参照附图来说明如上所述构成的计算机系统100进行的动作。〈动作〉在此,对计算机系统100进行的动作中的特征性动作即存取开始处理、再调度处理、安全区域设定处理、存取结束处理和存取控制处理进行说明。〈存取开始处理〉存取开始处理是以管理程序360为主体而进行的处理,是指这样的处理:在从OSa340或者OS b350接收到表示向安全区域141的存取开始的通知时,根据该通知进行所执行的OS的再调度和控制寄存器组131的设定。图6是存取开始处理的流程图。在OS a340的安全区域开始指示部341或者OS b350的安全区域开始指示部351检测到基于通过包括本模块的OS来进行执行控制的进程的、向安全区域141的存取开始,并向存取标志更新部361发送存取开始信号后,存取开始处理开始。在存取开始处理开始后,存取标志更新部361接收所发送的存取开始信号(步骤S600)。在接收到存取开始信号后,存取标志更新部361取得所接收到的存取开始信号中所包含的OSID (步骤S610)。并且,通过调查与所取得的OSID相同的识别符是否包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中,调查是否对利用所取得的OSID识别出的OS设定有向包含在安全区域141中的一个连续的存储区域的存取权限(步骤S620)。在步骤S620的处理中,在已设定有存取权限的情况下(步骤S620:是),即在与所取得的OSID相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,存取标志更新部361将被存储于OSID管理表存储部362的OSID管理表500中的、与识别符和所取得的OSID相同的0SID510对应的存取标志530更新为逻辑值“I”(步骤S630)。并且,向调度器365委托再调度(步骤S640)。在被委托再调度后,调度器365进行后述的再调度处理,由此进行各个CPU中的各个OS的执行调度,以便将各个CPU所执行的OS限定为、利用与其逻辑值为“I”的存取标志530对应的0SID510识别出的OS。在此,在调度器365开始调度时,执行控制部366将针对全部CPU的OS的执行控制暂时停止。存取控制操作部364待机(步骤S650:反复“否”),直到调度器365完成对全部CPU的调度(步骤S650:是),然后执行后述的安全区域设定处理,由此存取标志更新部361将与所取得的OSID对应的开始地址420和结束地址430和存取权限440写入到、包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器中(步骤S660)。在向控制寄存器组131的一个寄存器的写入结束后,存取控制操作部364向执行控制部366进行表示寄存器的写入结束的通知。并且,执行控制部366重新开始被暂时停止的针对全部CPU的OS的执行控制(步骤S670)。在步骤S620的处理中,在没有设定存取权限的情况下(步骤S620:否),即在与所取得的OSID相同的识别符没有包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,或者在步骤S670的处理结束的情况下,管理程序360结束该存取开始处理。〈再调度处理〉再调度处理是由调度器365进行的处理,是指这样的处理:调度器365在被委托了再调度的情况下,参照被存储于OSID管理表存储部362中的OSID管理表500,进行各个CPU中的各个OS的调度。图7是再调度处理的流程图。再调度处理是通过由存取标志更新部361委托再调度而开始的。在再调度处理开始后,调度器365调查在被存储于OSID管理表存储部362的OSID管理表500中是否存在逻辑值为“I”的存取标志530 (步骤S700)。在步骤S700的处理中,在存在逻辑值为“I”的存取标志530的情况下(步骤S700:是),调度器365进行各个CPU中的各个OS的执行调度(步骤S710),以便将在全部CPU中所执行的OS限定为、利用与该存取标志530对应的0SID510识别出的OS。在步骤S700的处理中,在不存在逻辑值为“I”的存取标志530的情况下(步骤S700:否),调度器365进行各个CPU中的各个OS的执行调度(步骤S720),以便使对于各个CPU来说所执行的各个OS的各个执行时间的比率达到与各个OS对应的优先度520的比率。在步骤S710的处理结束的情况下、或者在步骤S720的处理结束的情况下,调度器365结束该再调度处理。〈安全区域设定处理〉安全区域设定处理是由存取控制操作部364进行的处理,是指这样的处理:在被存储于OSID管理表存储部362中的OSID管理表500的存取标志530被更新了的情况下,更新包含于控制寄存器组131中的寄存器。图8是安全区域设定处理的流程图。通过更新被存储于OSID管理表存储部362中的OSID管理表500的存取标志530,安全区域设定处理开始。在安全区域设定处理开始后,存取控制操作部364参照被存储于安全区域管理表存储部363中的安全区域管理表400,读出与识别符和对应于更新后的存取标志530的0SID510相同的0SID410对应的开始地址420和结束地址430和存取权限440(步骤S800)。并且,调查被更新后的存取标志530的逻辑值是否为“I”(步骤S810)。在步骤S810的处理中,在逻辑值为“I”的情况下(步骤S810:是),存取控制操作部364向包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器,写入开始地址220和结束地址230和存取权限240 (步骤S820)。在步骤S810的处理中,在逻辑值为“O”的情况下(步骤S810:否),存取控制操作部364对于包含于控制寄存器组131中的、已被写入与识别符和对应于更新后的存取标志530的0SID510相同的0SID410对应的开始地址420和结束地址430和存取权限440的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”(步骤S830)。在步骤S820的处理结束的情况下或者步骤S830的处理结束的情况下,存取控制操作部364结束该安全区域设定处理。〈存取结束处理〉存取结束处理是以管理程序360为主体而进行的处理,是指这样的处理:在从OSa340或者OS b350接收到表示向安全区域141的存取结束的通知时,根据该通知进行所执行的OS的再调度和控制寄存器组131的设定。图9是存取结束处理的流程图。OS a340的安全区域结束指示部342或者OS b350的安全区域结束指示部352检测到基于通过包括本模块的OS来进行执行控制的进程的、向安全区域141的存取结束,并向存取标志更新部361发送存取结束信号,由此存取结束处理开始。在存取结束处理开始后,存取标志更新部361接收所发送的存取结束信号(步骤S900)。在接收到存取结束信号时,存取标志更新部361取得所接收到的存取结束信号中所包含的OSID (步骤S910)。并且,通过调查与所取得的OSID相同的识别符是否包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中,调查是否对利用所取得的OSID识别出的OS设定有向包含于安全区域中的一个连续的存储区域的存取权限(步骤S920)。在步骤S920的处理中,在已设定存取权限的情况下(步骤S920:是),即在与所取得的OSID相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,存取标志更新部361将被存储于OSID管理表存储部362的OSID管理表500中的、与识别符和所取得的OSID相同的0SID510对应的存取标志530更新为逻辑值“O”(步骤S930)。并且,向调度器365委托再调度(步骤S940)。在被委托再调度后,调度器365通过进行前述的再调度处理来进行各个CPU中的各个OS的执行调度,以便使对于各个CPU来说所执行的各个OS的各个执行时间的比率达到与各个OS对应的优先度520的比率。在此,在调度器365开始调度后,执行控制部366将针对全部CPU的OS的执行控制暂时停止。存取控制操作部364待机(步骤S950:反复“否”),直到调度器365完成对全部CPU的调度(步骤S950:是),然后执行前述的安全区域设定处理,由此对于包含于控制寄存器组131中的、已被写入与识别符和对应于更新后的存取标志530的0SID510相同的0SID410对应的开始地址420和结束地址430和存取权限440的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”(步骤S960)。在步骤S960的处理结束后,存取控制操作部364向执行控制部366进行表示寄存器的写入结束的通知。并且,执行控制部366重新开始被暂时停止的针对全部CPU的OS的执行控制(步骤S970)。在步骤S920的处理中,在没有设定存取权限的情况下(步骤S920:否),即在与所取得的OSID相同的识别符没有包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,或者在步骤S970的处理结束的情况下,管理程序360结束该存取结束处理。〈存取控制处理〉存取控制处理是由存取控制装置130进行的处理,是指这样的处理:在从CPUA121 CPU D124中任意一个CPU进行了向存储器140的存取请求的情况下,在满足规定的条件时禁止该存取。图10是存取控制处理的流程图。在从CPU A121 CPU D124中任意一个CPU进行了向存储器140的存取请求时,存取控制处理开始。在存取控制处理开始后,存取控制装置130调查向存储器140的存取请求是否是向安全区域141以外的区域(下面称为“非安全区域”)的存取(步骤S1000)。在步骤S1000的处理中,在不是向非安全区域的存取的情况下(步骤S1000:否),存取控制装置130调查该存取的区域是否包含在、控制寄存器组131中的任意一个寄存器中用开始地址220和结束地址230示出的区域中(步骤S1010)。在步骤S1010的处理中,在该存取的区域包含在、控制寄存器组131中的任意一个寄存器中用开始地址220和结束地址230示出的区域中的情况下(步骤S1010:是)、以及在步骤S1000的处理中,在是向非安全区域的存取的情况下(步骤S1000:是),存取控制装置130不禁止该存取(步骤S1020)。在步骤S1010的处理中,在该存取的区域不包含在、控制寄存器组131中的任意一个寄存器之中用开始地址220和结束地址230示出的区域中的情况下(步骤S1010:否),禁止该存取,并向中断控制器125发送存储器存取例外中断请求信号(步骤S1030)。在步骤S1020的处理结束的情况下或者步骤S1030的处理结束的情况下,存取控制装置130结束该存取控制处理。〈考察〉图11是上述结构的计算机系统100中的各个CPU的时序图的一例。在该图中,被记述为OS a的各个长方形表示在对应的CPU中执行的OS是OS a340,被记述为OS b的各个长方形表示在对应的CPU中执行的OS是OS b350,虚线部分表示对应的CPU是空闲状态。第I期间1110表示基于由CPU C123执行的安全进程的、正在进行向安全区域141的存取的期间,第2期间1120表示基于由CPU B122执行的安全进程的、正在进行向安全区域141的存取的期间。如该图所示,在计算机系统100中,在基于由任意一个CPU执行的安全进程的、正在进行向安全区域141的存取的期间(例如第I期间1110和第2期间1120,下面将该期间称为“安全区域存取期间”)中,在任意一个CPU中都不执行OS b350。因此,在安全区域存取期间中不会执行非安全进程。另外,如该图所示,在安全区域存取期间以外的期间中,OS a340和OS b350均能够执行。因此,在安全区域存取期间以外的期间中,安全进程和非安全进程均能够执行。〈实施方式2>〈概况〉
下面,作为本发明涉及的计算机系统的一个实施方式,对将实施方式I的计算机系统100的一部分进行变形得到的第I变形计算机系统进行说明。该第I变形计算机系统的硬件结构与实施方式I的计算机系统100相同,但是在存储器140中存储的程序的一部分程序与实施方式I的计算机系统100不同。实施方式I的计算机系统100是这样的结构例:在基于安全进程的正在进行向安全区域141的存取的期间中,存取标志530 (参照图5)的逻辑值为“I”。与此相对,实施方式2的第I变形计算机系统是这样的结构例:在基于安全进程的正在进行向安全区域141的存取的期间中,基于管理程序的OS的执行优先度达到规定值(最大值)。下面,关于本实施方式2的第I变形计算机系统的结构,参照附图以与实施方式I的计算机系统100的不同之处为中心进行说明。< 结构 >第I变形计算机系统的硬件结构与实施方式I的计算机系统100相同。因此,在此省略其说明。与此相对,在存储器140中存储的程序的一部分程序是从实施方式I的计算机系统100进行变形得到的。并且,通过该变形,在实施方式I的计算机系统100中,在CPUA121 CPU D124中成为执行对象的模块组的一部分模块组被变形。图12是示意地表示在第I变形计算机系统中成为CPU A121 CPU D124中的执行对象的模块组1200的示意图。如该图所示,模块组1200相对于实施方式I的模块组300,将存取标志更新部361变形为OS优先度更新部1261,将OSID管理表存储部362变形为变形OSID管理表存储部1262,将调度器365变形为变形调度器1265,将存取控制操作部364变形为变形存取控制操作部1264。并且,伴随这些变形,将管理程序360变形为管理程序1260。变形OSID管理表存储部1262具有存储变形OSID管理表1300的功能。图13是表示变形OSID管理表1300的数据结构的一例的数据结构图。如该图所示,变形OSID管理表1300是将0SID1310和优先度1320相对应而构成的。0SID1310与0SID510相同地是用于识别OS的识别符。优先度1320表示在管理程序360进行OS的执行控制时利用对应的0SID510识别出的OS的执行优先度。在此,优先度1320取O 100的任意一个整数值,数值越大表示优先度越高。该优先度1320仅在满足规定的条件时取最大优先度值“100”,在不满足规定的条件时取O 99的某一个整数值。另外,关于由管理程序1260使用该优先度1320进行的OS的执行控制,将在后面对变形调度器1265的说明部分中进行说明。再返回到图12,继续说明模块组1200。OS优先度更新部1261具有以下三种功能。最大优先度更新功能:在从安全区域开始指示部341或者安全区域开始指示部351接收到存取开始信号的情况下,在该存取开始信号的发送源的OS包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中时,对被存储于变形OSID管理表存储部1262的变形OSID管理表1300中、与表示发送源OS的0SID1310对应的优先度1320进行暂时存储后,更新为最大优先度值“ 100”。非最大优先度更新功能:在从安全区域结束指示部342或者安全区域结束指示部352接收到存取结束信号的情况下,在该存取开始信号的发送源的OS包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中时,将被存储于变形OSID管理表存储部1262的变形OSID管理表1300中、与表示发送源OS的0SID1310对应的优先度1320更新为暂时存储的值。变形再调度请求功能:在更新了被存储于变形OSID管理表存储部1262的变形OSID管理表1300的优先度1320的情况下,向变形调度器1265进行基于更新后的变形OSID管理表1300的重新调度的委托。变形调度器1265具有以下两种功能。第I变形通常调度功能:当在被存储于变形OSID管理表存储部1262的变形OSID管理表1300的优先度1320中、不存在数值为“100”的优先度的情况下,进行各个CPU中的各个OS的执行调度,以便使对于各个CPU来说所执行的各个OS的各个执行时间的比率达到与各个OS对应的优先度1320的比率。第I变形限定调度功能:当在被存储于变形OSID管理表存储部1262的变形OSID管理表1300的优先度1320中、存在数值为“100”的优先度的情况下,进行各个CPU中的各个OS的执行调度,以便将在全部CPU中执行的OS限定为、利用与数值为“100”的优先度1320对应的OS皿310识别出的OS。变形存取控制操作部1264具有以下两种功能。第I变形安全区域设定功能:在被存储于变形OSID管理表存储部1262的变形OSID管理表1300的优先度1320的值被更新为“ 100”的情况下,在与对应于该优先度1320的0SID1310相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中时,读出与该0SID410对应的开始地址420和结束地址430和存取权限440,并对包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器,写入开始地址220和结束地址230和存取权限240。第I变形安全区域解除功能:在被存储于变形OSID管理表存储部1262的变形OSID管理表1300的优先度1320的值被从“ 100”更新为“ 100”以外的值的情况下,在与对应于该优先度1320的0SID1310相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中时,对于包含于控制寄存器组131中的、已被写入与该0SID410对应的开始地址420和结束地址430和存取权限440的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”。下面,参照

如上所述构成的第I变形计算机系统进行的动作。〈动作〉在此,对第I变形计算机系统进行的动作中的特征性动作、即第I变形存取开始处理、第I变形再调度处理、第I变形安全区域设定处理、第I变形存取结束处理进行说明。<第I变形存取开始处理>第I变形存取开始处理是将实施方式I的存取开始处理(参照图6等)中的一部分处理进行变形而得到的处理,是以管理程序1260为主体而进行的处理,是指这样的处理:在从OS a340或者OS b350接收到表示向安全区域141的存取开始的通知时,根据该通知进行所执行的OS的再调度和控制寄存器组131的设定。图14是第I变形存取开始处理的流程图。在OS a340的安全区域开始指示部341或者OS b350的安全区域开始指示部351检测到基于通过包括本模块的OS来进行执行控制的进程的、向安全区域141的存取开始,并向OS优先度更新部1261发送存取开始信号后,第I变形存取开始处理开始。在第I变形存取开始处理开始后,OS优先度更新部1261接收所发送的存取开始信号(步骤S1400)。在接收到存取开始信号后,OS优先度更新部1261取得所接收到的存取开始信号中所包含的OSID (步骤S1410)。并且,通过调查与所取得的OSID相同的识别符是否包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中,调查是否对利用所取得的OSID识别出的OS设定有向包含于安全区域中的一个连续的存储区域的存取权限(步骤S1420)。在步骤S1420的处理中,在设定有存取权限的情况下(步骤S1420:是),即在与所取得的OSID相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,OS优先度更新部1261对被存储于变形OSID管理表存储部1262的变形OSID管理表1300中的、与识别符和所取得的OSID相同的0SID1310对应的优先度1320进行暂时存储(步骤S1425),并更新为最大优先度值“100”(步骤S1430)。并且,向变形调度器1265委托再调度(步骤S1440)。在被委托再调度后,变形调度器1265进行后述的第I变形再调度处理,由此进行各个CPU中的各个OS的执行调度,以便将各个CPU所执行的OS限定为、利用与数值为“ 100 ”的优先度1320对应的0SID1310识别出的OS。在此,在变形调度器1265开始调度时,执行控制部366将针对全部CPU的OS的执行控制暂时停止。变形存取控制操作部1264待机(步骤S1450:反复“否”),直到变形调度器1265完成对全部CPU的调度(步骤S1450:是),然后执行后述的第I变形安全区域设定处理,由此OS优先度更新部1261将与所取得的OSID对应的开始地址420和结束地址430和存取权限440写入到、包含于控制寄存器组131之中的寄存器中已被写入有初始值的一个寄存器中(步骤S1460)。步骤S1470的处理是与实施方式I的步骤S670的处理(参照图6等)相同的处理。因此,在此省略说明。在步骤S620的处理中,在没有设定存取权限的情况下(步骤S1420:否),即在与所取得的OSID相同的识别符没有包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,或者在步骤S1470的处理结束的情况下,管理程序1260结束该存取开始处理。<第I变形再调度处理>第I变形再调度处理是将实施方式I的再调度处理(参照图7等)中的一部分处理进行变形而得到的处理,是由变形调度器1265进行的处理,是指这样的处理:变形调度器1265在被委托了再调度的情况下,参照被存储于变形OSID管理表存储部1262中的变形OSID管理表1300,进行各个CPU中的各个OS的调度。
图15是第I变形再调度处理的流程图。第I变形再调度处理是通过由OS优先度更新部1261委托再调度而开始的。在第I变形再调度处理开始后,变形调度器1265调查在被存储于变形OSID管理表存储部1262的变形OSID管理表1300中是否存在数值为“ 100”的优先度1320 (步骤S1500)。在步骤S1500的处理中,在存在数值为“100”的优先度1320的情况下(步骤S1500:是),变形调度器1265进行各个CPU中的各个OS的执行调度(步骤S1510),以便将在全部CPU中执行的OS限定为、利用与该数值为“100”的优先度1320对应的0SID1310识别出的OS。在步骤S1500的处理中,在存在数值为“100”的优先度1320的情况下(步骤S1500:否),变形调度器1265进行各个CPU中的各个OS的执行调度(步骤S1520),以便使对于各个CPU来说所执行的各个OS的各个执行时间的比率达到与各个OS对应的优先度1320的比率。在步骤S1510的处理结束的情况下、或者在步骤S1520的处理结束的情况下,变形调度器1265结束该第I变形再调度处理。<第I变形安全区域设定处理>第I变形安全区域设定处理是将实施方式I的安全区域设定处理(参照图8等)中的一部分处理进行变形而得到的处理,是由变形存取控制操作部1264进行的处理,是指这样的处理:在被存储于变形OSID管理表存储部1262中的变形OSID管理表1300的优先度1320被更新了的情况下,更新包含于控制寄存器组131中的寄存器。图16是第I变形安全区域设定处理的流程图。通过将被存储于变形OSID管理表存储部1262中的变形OSID管理表1300的优先度1320的值更新为“100”、或者从“100”更新为“100”以外的数值,第I变形安全区域设定处理开始。在安全区域设定处理开始后,存取控制操作部364参照被存储于安全区域管理表存储部363中的安全区域管理表400,读出与识别符和对应于更新后的优先度1320的0SID1310相同的0SID410对应的开始地址420和结束地址430和存取权限440 (步骤S1600)。并且,调查被更新后的优先度1320的值是否为“100”(步骤S1610)。在步骤S1610的处理中,在被更新后的优先度1320的值为“100”的情况下(步骤S1610:是),变形存取控制操作部1264向包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器,写入开始地址220和结束地址230和存取权限240 (步骤S1620)。在步骤S1610的处理中,在被更新后的优先度1320的值不是“100”的情况下(步骤S1610:否),变形存取控制操作部1264对于包含于控制寄存器组131中的、已被写入与识别符和对应于更新后的优先度1320的0SID1310相同的0SID410对应的开始地址420和结束地址430和存取权限440的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”(步骤S1630)。在步骤S1620的处理结束的情况下或者步骤S1630的处理结束的情况下,变形存取控制操作部1264结束该第I变形安全区域设定处理。<第I变形存取结束处理>
第I变形存取开始处理是将实施方式I的存取结束处理(参照图9等)中的一部分处理进行变形而得到的处理,是以管理程序1260为主体而进行的处理,是指这样的处理:在从OS a340或者OS b350接收到表示向安全区域141的存取结束的通知时,根据该通知进行所执行的OS的再调度和控制寄存器组131的设定。图17是第I变形存取结束处理的流程图。OS a340的安全区域结束指示部342或者OS b350的安全区域结束指示部352检测到基于通过包括本模块的OS来进行执行控制的进程的、向安全区域141的存取结束,并向OS优先度更新部1261发送存取结束信号,由此第I变形存取开始处理开始。在第I变形存取结束处理开始后,OS优先度更新部1261接收所发送的存取结束信号(步骤S1700)。在接收到存取结束信号时,OS优先度更新部1261取得所接收到的存取开始信号中所包含的OSID (步骤S1710)。并且,调查与所取得的OSID相同的识别符是否包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中,由此调查是否对利用所取得的OSID识别出的OS设定有向包含于安全区域中的一个连续的存储区域的存取权限(步骤S1720)。在步骤S1720的处理中,在已设定有存取权限的情况下(步骤S1720:是),即在与所取得的OSID相同的识别符包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,OS优先度更新部1261将被存储于变形OSID管理表存储部1262的变形OSID管理表1300中的、与识别符和所取得的OSID相同的0SID1310对应的优先度1320更新为暂时存储的值(步骤S1730)。并且,向变形调度器1265委托再调度(步骤S1740)。在被委托再调度后,变形调度器1265通过进行前述的第I变形再调度处理来进行各个CPU中的各个OS的执行调度,以便使对于各个CPU来说所执行的各个OS的各个执行时间的比率达到与各个OS对应的优先度1320的比率。在此,在变形调度器1265开始调度后,执行控制部366将针对全部CPU的OS的执行控制暂时停止。变形存取控制操作部1264待机(步骤S1750:反复“否”),直到变形调度器1265完成对全部CPU的调度(步骤S1750:是),然后执行前述的第I变形安全区域设定处理,由此对于包含于控制寄存器组131中的、已被写入与识别符和对应于更新后的优先度1320的0SID1310相同的0SID410对应的开始地址420和结束地址430和存取权限440的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”(步骤 S1760)。步骤S1770的处理是与实施方式I的步骤S970的处理(参照图9等)相同的处理。因此,在此省略说明。在步骤S920的处理中,在没有设定存取权限的情况下(步骤S1720:否),即在与所取得的OSID相同的识别符没有包含在、被存储于安全区域管理表存储部363的安全区域管理表400的0SID410中的情况下,或者在步骤S1770的处理结束的情况下,管理程序360结束该存取结束处理。<实施方式3>
< 概况 >下面,作为本发明涉及的计算机系统的一个实施方式,对将实施方式I的计算机系统100的一部分进行变形得到的计算机系统1800进行说明。该计算机系统1800是这样实现的:其硬件结构是对实施方式I的计算机系统100的一部分硬件结构进行变形而得到的,而且,在存储器140中存储的程序的一部分程序是对实施方式I的计算机系统100的一部分程序进行变形而得到的。实施方式I的计算机系统100是这样的结构例:包含于OS中的安全区域开始指示部341或者安全区域开始指示部351检测到向安全区域141的存取开始。与此相对,实施方式3的计算机系统1800是这样的结构例:根据从存取控制装置130发送的存储器存取例外中断请求信号,管理程序检测到向安全区域141的存取开始。下面,关于本实施方式3的计算机系统1800的结构,参照附图以与实施方式I的计算机系统100的不同之处为中心进行说明。< 结构 >图18是表示计算机系统1800的主要硬件结构的块图。如该图所示,相对于实施方式I的计算机系统100 (参照图1 ),计算机系统1800追加了计时器1705,并将中断控制器125变形为中断控制器1825。并且,伴随中断控制器1825的变形,将MPU120变形为MPU1820。计时器1705与总线150连接,由CPU A121 CPU D124进行控制,计时器1705具有这样的功能:计时由CPU A121 CPU D124指定的时间,在经过所指定的时间时,向中断控制器1825发送计时器中断请求信号。其中,该计时器中断请求信号包括用于确定指定了计时时间的CPU的信息。中断控制器1825与存取控制装置130、CPU A121、CPU B122、CPU C123以及CPUD124连接,具有以下两种功能。存储器存取例外通知功能:在从存取控制装置130接收到存储器存取例外中断请求信号的情况下,确定曾尝试了成为禁止对象的存储器存取的CPU (下面称为“存取CPU”),并对确定出的存取CPU进行能够确定存取CPU的存储器存取例外中断。计时器中断通知功能:在从计时器1705接收到计时器中断请求信号的情况下,确定指定了计时时间的CPU,对确定出的CPU进行能够确定该CPU的、表示计时器的计时结束的计时器中断。图19是示意地表示在计算机系统1800中成为CPU A121 CPU D124中的执行对象的模块组1900的图。如该图所示,模块组1900相对于实施方式I的模块组300 (参照图2等),OS a340通过删除安全区域开始指示部341和安全区域结束指示部342而变形为OS al940,0S b350通过删除安全区域开始指示部351和安全区域结束指示部352而变形为OS bl950,将存取标志更新部361变形为变形存取标志更新部1961,并追加了中断处理部1970。并且,伴随这些变形,将管理程序360变形为管理程序1960。中断处理部1970具有以下三种功能。存储器存取例外通知功能:检测由中断控制器1825对CPU A121 CPU D124中任意一个CPU进行的存储器存取例外中断,并确定在被进行了该存储器存取例外中断的CPU中执行的OS,将包括表示确定出的OS的信息的存储器存取例外通知信号发送给变形存取标志更新部1961。计时器结束通知功能:检测由中断控制器1825对CPU A121 CPU D124中任意一个CPU进行的计时器中断,并确定在被进行了该计时器中断的CPU中执行的OS,将包括表示确定出的OS的信息的计时器结束通知信号发送给变形存取标志更新部1961。存储器存取例外处理功能:在检测到由中断控制器1825对CPU A121 CPU D124中任意一个CPU进行的存储器存取例外中断的情况下,在满足规定的条件时,进行预先设定的在存储器存取被禁止时进行的存储器存取禁止处理。变形存取标志更新部1961除实施方式I的存取标志更新部361具有的再调度请求功能之外,还具有以下两种功能。第I变形存取标志I更新功能:在从中断处理部1970接收到存储器存取例外通知信号的情况下,当利用该存储器存取例外通知信号确定出的OS包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中时,将在OSID管理表存储部362中存储的OSID管理表500中的、与识别发送源OS的0SID510对应的存取标志530更新为逻辑值“I”。第I变形存取标志O更新功能:在从中断处理部1970接收到计时器结束通知信号的情况下,当利用该计时器结束通知信号确定出的OS包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中时,将在OSID管理表存储部362中存储的OSID管理表500中的、与识别发送源OS的0SID510对应的存取标志530更新为逻辑值“O”。下面,参照

如上所述构成的计算机系统1800进行的动作。〈动作〉在此,对计算机系统1800进行的动作中的特征性动作、即第2变形存取开始处理和第2变形存取结束处理进行说明。<第2变形存取开始处理>第2变形存取开始处理是将实施方式I的存取开始处理(参照图6等)中的一部分处理进行变形而得到的处理,是以管理程序I960为主体而进行的处理,是指这样的处理:中断处理部1970在检测到由中断控制器1825对CPU A121 CPU D124中任意一个CPU进行的存储器存取例外中断时,根据该存储器存取例外中断进行所执行的OS的再调度和控制寄存器组131的设定。图20是第2变形存取开始处理的流程图。中断处理部1970检测由中断控制器1825对CPU A121 CPU D124中任意一个CPU进行的存储器存取例外中断,并确定在被进行了该存储器存取例外中断的CPU中执行的OS,将包括表示确定出的OS的信息的存储器存取例外通知信号发送给变形存取标志更新部1961,由此第2变形存取开始处理开始。在第2变形存取开始处理开始后,变形存取标志更新部1961接收所发送的存储器存取例外通知信号(步骤S2000)。在接收到存储器存取例外通知信号后,变形存取标志更新部1961确定利用所接收到的存储器存取例外通知信号确定出的OS(步骤S2010)。并且,通过调查确定出的OS是否包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400 (参照图4)的0SID410识别出的OS中,调查是否对确定出的OS设定有向包含于安全区域141中的一个连续的存储区域的存取权限(步骤S2020)。在步骤S2020的处理中,在已设定存取权限的情况下(步骤S2020:是),即在确定出的OS包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中的情况下,变形存取标志更新部1961将被存储于OSID管理表存储部362的OSID管理表500中的、与识别符和所取得的OSID相同的0SID510对应的存取标志530更新为逻辑值“I”(步骤S2030)。步骤S2040的处理 步骤S2070的处理分别是与在实施方式I的存取开始处理的步骤S640的处理 步骤S670的处理中、将存取标志更新部361改读为变形存取标志更新部1961的处理相同的处理。因此,在此省略这些处理的说明。在步骤S2070的处理结束后,存取控制操作部364使计时器1705开始规计时间Tl(例如Iys)的计时(步骤S2080)。在步骤S2020的处理中,在没有设定存取权限的情况下(步骤S2020:否),即在确定出的OS没有包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中的情况下,中断处理部1970进行存储器存取禁止处理(步骤S2090)。在步骤S2080的处理结束的情况下或者在步骤S2090的处理结束的情况下,管理程序1960结束该第2变形存取开始处理。<第2变形存取结束处理>第2变形存取结束处理是将实施方式I的存取结束处理(参照图9等)中的一部分处理进行变形而得到的处理,是以管理程序I960为主体而进行的处理,是指这样的处理:中断处理部1970在检测到由计时器1705对CPUA121 CPU D124中任意一个CPU进行的计时器中断时,根据该计时器中断进行所执行的OS的再调度和控制寄存器组131的设定。图21是第2变形存取结束处理的流程图。中断处理部1970检测由中断控制器1825对CPU A121 CPU D124中任意一个(PU进行的计时器中断,并确定在被进行了该计时器中断的CPU中执行的OS,将包括表示确定出的OS的信息的计时器结束通知信号发送给变形存取标志更新部1961,由此第2变形存取结束处理开始。在第2变形存取结束处理开始后,变形存取标志更新部1961接收所发送的计时器结束通知信号(步骤S2100)。在接收到计时器结束通知信号后,变形存取标志更新部1961确定利用所接收到的计时器结束通知信号确定出的OS (步骤S2110)。并且,通过调查确定出的OS是否包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400(参照图4)的0SID410识别出的OS中,调查是否对确定出的OS设定有向包含于安全区域141中的一个连续的存储区域的存取权限(步骤S2120)。在步骤S2020的处理中,在已设定有存取权限的情况下(步骤S2120:是),即在确定出的OS包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中的情况下,变形存取标志更新部1961将被存储于OSID管理表存储部362的OSID管理表500中的、与识别符和所取得的OSID相同的0SID510对应的存取标志530更新为逻辑值“O”(步骤S2130)。步骤S2140的处理 步骤S2170的处理分别是与在实施方式I的存取结束处理的步骤S940的处理 步骤S970的处理中、将存取标志更新部361改读为变形存取标志更新部1961的处理相同的处理。因此,在此省略这些处理的说明。在步骤S2120的处理中,在没有设定存取权限的情况下(步骤S2120:否),即在确定出的OS没有包含在、利用被存储于安全区域管理表存储部363的安全区域管理表400的0SID410识别出的OS中的情况下,或者在步骤S2170的处理结束的情况下,管理程序1960结束该第2变形存取结束处理。〈实施方式4>〈概况〉下面,作为本发明涉及的计算机系统的一个实施方式,对将实施方式I的计算机系统100的一部分进行变形得到的第2变形计算机系统进行说明。该第2变形计算机系统的硬件结构与实施方式I的计算机系统100相同,但是在存储器140中存储的程序的一部分程序与实施方式I的计算机系统100不同。实施方式I的计算机系统100是这样的结构例:该计算机系统100具有进行进程的执行控制的OS、和进行OS的执行控制的管理程序。与此相对,实施方式4的第2变形计算机系统是这样的结构例:该第2变形计算机系统不具有管理程序,但具有按照由一个以上的进程构成的进程组单位来进行进程的执行控制的OS。下面,关于本实施方式4的第2变形计算机系统的结构,参照附图以与实施方式I的计算机系统100的不同之处为中心进行说明。〈结构〉第2变形计算机系统的硬件结构与实施方式I的计算机系统100相同。因此,在此省略其说明。与此相对,在存储器140中存储的程序的一部分程序是对实施方式I的计算机系统100进行变形得到的。并且,通过该变形,在实施方式I的计算机系统100中成为CPUA121 CPU D124中的执行对象的模块组的一部分模块组被变形。图22是示意地表示在第2变形计算机系统中成为CPU A121 CPU D124中的执行对象的模块组2200的示意图。如该图所示,模块组2200包括以用户模式310执行的进程A2240 进程Z2250、和以第I特权模式320执行的0S2260。0S2260是具有按照由一个以上的进程构成的进程组单位对进程A2240 进程Z2250进行执行控制的功能的操作系统,包括存取标志更新部2261、PG(Process Group:进程组)ID管理表存储部2262、安全区域管理表存储部2263、存取控制操作部2264、调度器2265、执行控制部2266和CPU间通信控制部2267。其中,该0S2260在任意时刻进行进程的执行控制,以便使各个CPU将一个进程组作为执行对象。进程A2240 进程Z2250分别表示通过由CPU A121 CPU D124中任意一个CPU执行应用程序而生成的任务,包括安全区域开始指示部(安全区域开始指示部2241、安全区域开始指示部2251等)、和安全区域结束指示部(安全区域结束指示部2242、安全区域结束指示部等)。安全区域开始指示部2241具有这样的功能:检测到基于包括本模块的进程的向安全区域141的存取开始,并向存取标志更新部2261发送表示向安全区域141的存取开始的变形存取开始信号。在此,该变形存取开始信号包括用于识别包括发送本信号的进程在内的进程组的识别符即PGID。安全区域结束指示部2242具有这样的功能:检测到基于包括本模块的进程的向安全区域141的存取结束,并向存取标志更新部361发送表示向安全区域141的存取结束的变形存取结束信号。在此,该变形存取结束信号包括用于识别包括发送本信号的进程在内的进程组的识别符即PGID。安全区域开始指示部2251和安全区域结束指示部2252分别具有与安全区域开始指示部2241和安全区域结束指示部2242相同的功能。因此,在此省略说明。安全区域管理表存储部2263具有存储变形安全区域管理表2300的功能。图23是表示变形安全区域管理表2300的数据结构的一例的数据结构图。如该图所示,变形安全区域管理表2300是将PGID2310、开始地址2320、结束地址2330及存取权限2340相对应而构成的。PGID2310是用于识别进程组的识别符。在此,利用PGID2310为“1”、“2”、“9”而识别出的进程组,分别是由通过执行安全应用程序而生成的进程构成的安全进程组,利用PGID2310为“1”、“2”、“9”而识别出的进程组以外的进程组,分别是由通过执行非安全应用程序而生成的进程构成的非安全进程组。开始地址2320和结束地址2330分别表示与包含于安全区域中的一个连续的存储区域相关的开始地址和结束地址。存取权限2340是指存取形式信息,表示从利用对应的PGID2310识别出的进程组中所包含的进程、向利用对应的开始地址2320和结束地址2330指定的连续的存储区域进行存取的许可形式。该存取形式信息与实施方式I的存取权限240中的存取形式信息相同。因此省略说明。在此,该变形安全区域管理表2300是在进行系统研发时预先设定的表,其内容不能更新。再返回到图22,继续说明模块组300。PGID管理表存储部2262具有存储PGID管理表2400的功能。图24是表示PGID管理表2400的数据结构的一例的数据结构图。如该图所示,PGID管理表2400是将PGID2410和优先度2420和PID2430和存取标志2440相对应而构成的。PGID2410与PGID2310相同地是用于识别进程组的识别符。优先度2420表示在0S2260进行对进程的执行控制时利用对应的PGID2410识别出的进程组的执行优先度。在此,优先度2420取O 99中的某一个整数值,数值越大表示优先度越高。另外,关于0S2260使用该优先度2420进行的进程的执行控制,将在后面对调度器2265的说明部分中进行说明。P (Process:进程)ID2430是用于识别利用对应的PGID2410识别出的进程组中所包含的进程的识别符。存取标志2440是表示是否正在通过利用对应的PGID2410识别出的进程组中所包含的进程、进行向安全区域141的存取的标志。在此,存取标志2440在逻辑值为“I”时表示正在进行向安全区域141的存取,在逻辑值为“O”时表示没有进行向安全区域141的存取。再返回到图22,继续说明模块组2200。存取标志更新部2261具有以下三种功能。第2变形存取标志I更新功能:在从安全区域开始指示部(安全区域开始指示部
2241、安全区域开始指示部2251等)接收到变形存取开始信号的情况下,当该变形存取开始信号的发送源的进程是、利用被存储于安全区域管理表存储部2263中的变形安全区域管理表2300的PGID2310识别出的进程组中所包含的进程时,将在PGID管理表存储部2262中存储的PGID管理表2400中的、与识别发送源进程的PID2430对应的存取标志2440更新为逻辑值“I”。第2变形存取标志O更新功能:在从安全区域结束指示部(安全区域结束指示部
2242、安全区域结束指示部2252等)接收到变形存取结束信号的情况下,当该存取开始信号的发送源的进程是、利用被存储于安全区域管理表存储部2263中的变形安全区域管理表2300的PGID2310识别出的进程组中所包含的进程时,将在PGID管理表存储部2262中存储的PGID管理表2400中的、与识别发送源进程的PID2430对应的存取标志2440更新为逻辑值 “O”。变形再调度请求功能:在将被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440更新了的情况下,向调度器2265进行基于更新后的PGID管理表2400的新调度的委托。调度器2265具有以下两种功能。第2变形通常调度功能:在被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440的逻辑值全部为“O”的情况下,进行各个CPU中的各个进程的执行调度,以便使属于对于各个CPU来说所执行的各个进程组的进程的各个执行时间的比率达到与各个进程组对应的优先度2420的比率。第2变形限定调度功能:当在被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440中具有逻辑值为“I”的存取标志的情况下,进行各个CPU中的各个进程的执行调度,以便将在全部CPU中执行的进程限定为、属于利用与其逻辑值为“I”的存取标志2440对应的PGID2410识别出的进程组的进程。执行控制部2266具有根据由调度器2265进行调度后的执行调度,进行各个CPU的进程的执行控制的功能。该执行控制部2266在调度器2265进行调度的期间中,将针对全部进程的执行控制暂时停止。CPU间通信控制部2267具有与实施方式I的CPU间通信控制部367相同的功能。因此,在此省略说明。
存取控制操作部2264具有以下两种功能。第2变形安全区域设定功能:在被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440的逻辑值被更新为“I”的情况下,在与对应于该存取标志2440的PGID2410相同的识别符、包含在被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中时,读出与该PGID2310对应的开始地址2320和结束地址2330和存取权限2340,并向包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器,写入开始地址220和结束地址230和存取权限240。第2变形安全区域解除功能:在被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440的逻辑值被更新为“O”的情况下,在与对应于该存取标志2440的PGID2410相同的识别符包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中时,对于包含于控制寄存器组131中的、已被写入与该PGID2310对应的开始地址2320和结束地址2330和存取权限2340的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”。下面,参照附图来说明如上所述构成的第2变形计算机系统进行的动作。〈动作〉在此,对计算机系统100进行的动作中的特征性动作、即第3变形存取开始处理、第2变形再调度处理、第2变形安全区域设定处理、第3变形存取结束处理进行说明。<第3变形存取开始处理>第3变形存取开始处理是将实施方式I的存取开始处理(参照图6等)中的一部分处理进行变形而得到的处理,是以0S2260为主体而进行的处理,是指这样的处理:在从进程中接收到表示向安全区域141的存取开始的通知时,根据该通知进行所执行的进程的再调度和控制寄存器组131的设定。图23是第3变形存取开始处理的流程图。通过安全区域开始指示部(安全区域开始指示部2241、安全区域开始指示部2251等)检测到基于包括本模块的进程的、向安全区域141的存取开始,并向存取标志更新部2261发送变形存取开始信号,第3变形存取开始处理开始。在第3变形存取开始处理开始后,存取标志更新部2261接收所发送的变形存取开始信号(步骤S2500)。在接收到变形存取开始信号后,存取标志更新部2261取得所接收到的变形存取开始信号中所包含的PGID(步骤S2510)。并且,通过调查与所取得的PGID相同的识别符是否包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中,调查是否对利用所取得的PGID识别出的进程组设定有向包含于安全区域141中的一个连续的存储区域的存取权限(步骤S2520)。在步骤S2520的处理中,在已设定存取权限的情况下(步骤S2520:是),即在与所取得的PGID相同的识别符包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中的情况下,存取标志更新部2261将被存储于PGID管理表存储部2262的PGID管理表2400中的、与识别符和所取得的PGID相同的PGID2410对应的存取标志2440更新为逻辑值“I”(步骤S2530)。并且,向调度器2265委托再调度(步骤S2540)。在被委托再调度后,调度器2265进行后述的第2变形再调度处理,由此进行各个CPU中的各个进程的执行调度,以便将各个CPU所执行的进程限定为、属于利用与其逻辑值为“I”的存取标志2440对应的PGID2410识别出的进程组的进程。在此,在调度器2265开始调度时,执行控制部2266将针对全部CPU的进程的执行控制暂时停止。存取控制操作部2264待机(步骤S2550:反复“否”),直到调度器2265完成对全部CPU的调度(步骤S2550:是),然后执行后述的第2变形安全区域设定处理,由此存取标志更新部2261将与所取得的PGID对应的开始地址2320和结束地址2330和存取权限2340、写入到包含于控制寄存器组131中的寄存器中已被写入了初始值的一个寄存器中(步骤S2560)。在向控制寄存器组131的一个寄存器的写入结束后,存取控制操作部2264向执行控制部2266进行表示寄存器的写入已结束的通知。并且,执行控制部2266重新开始被暂时停止的针对全部CPU的进程的执行控制(步骤S2570)。在步骤S2520的处理中,在没有设定存取权限的情况下(步骤S2520:否),即在与所取得的PGID相同的识别符没有包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中的情况下,或者在步骤S2570的处理结束的情况下,0S2260结束该第3变形存取开始处理。<第2变形再调度处理>再调度处理是将实施方式I的再调度处理(参照图7等)中的一部分处理进行变形而得到的处理,是由调度器365进行的处理,是指这样的处理:在被委托了再调度的情况下,参照被存储于OSID管理表存储部362中的OSID管理表500,进行各个CPU中的各个OS的调度。图26是第2变形再调度处理的流程图。第2变形再调度处理是通过由存取标志更新部2261委托再调度而开始的。在再调度处理开始后,调度器2265调查在被存储于PGID管理表存储部2262的PGID管理表2400中是否存在逻辑值为“I”的存取标志2440 (步骤S2600)。在步骤S2600的处理中,在存在逻辑值为“I”的存取标志2440的情况下(步骤S2600:是),调度器2265进行各个CPU中的各个进程的执行调度(步骤S2610),以便将在全部CPU中执行的进程限定为、属于利用与该存取标志2440对应的PGID2410识别出的进程组的进程。在步骤S2600的处理中,在不存在逻辑值为“I”的存取标志2440的情况下(步骤S2600:否),调度器2265进行各个CPU中的各个进程的执行调度(步骤S2620),以便使属于对于各个CPU来说所执行的各个进程组的进程的各个执行时间的比率达到与各个进程组对应的优先度2420的比率。在步骤S2610的处理结束的情况下、或者在步骤S2620的处理结束的情况下,调度器2265结束该第2变形再调度处理。<第2变形安全区域设定处理>第2变形安全区域设定处理是将实施方式I的安全区域设定处理(参照图8等)中的一部分处理进行变形而得到的处理,是由存取控制操作部2264进行的处理,是指这样的处理:在被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440被更新的情况下,更新包含于控制寄存器组131中的寄存器。图27是第2变形安全区域设定处理的流程图。通过更新被存储于PGID管理表存储部2262中的PGID管理表2400的存取标志2440,第2变形安全区域设定处理开始。在第2变形安全区域设定处理开始后,存取控制操作部2264参照被存储于安全区域管理表存储部2263中的变形安全区域管理表2300,读出与识别符和对应于更新后的存取标志2440的PGID2410相同的PGID2210对应的开始地址2320和结束地址2330和存取权限2340 (步骤S2700)。并且,调查被更新后的存取标志2440的逻辑值是否为“I”(步骤S2710)。在步骤S2710的处理中,在逻辑值为“ I ”的情况下(步骤S2710:是),存取控制操作部2264向包含于控制寄存器组131中的寄存器中已被写入初始值的一个寄存器、写入开始地址220和结束地址230和存取权限240 (步骤S2720)。在步骤S2710的处理中,在逻辑值为“O”的情况下(步骤S2710:否),存取控制操作部2264对于包含于控制寄存器组131中的、已被写入与识别符和对应于更新后的存取标志2440的PGID2410相同的PGID2310对应的开始地址2320和结束地址2330和存取权限2340的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”(步骤S2730)。在步骤S2720的处理结束的情况下或者步骤S2730的处理结束的情况下,存取控制操作部2264结束该第2变形安全区域设定处理。<第3变形存取结束处理>第3变形存取结束处理是将实施方式I的存取结束处理(参照图9等)中的一部分处理进行变形而得到的处理,是以0S2260为主体而进行的处理,是指这样的处理:在从进程接收到表示向安全区域141的存取结束的通知时,根据该通知进行所执行的进程的再调度和控制寄存器组131的设定。图28是第3变形存取结束处理的流程图。安全区域结束指示部(安全区域结束指示部2242、安全区域结束指示部2252等)检测到基于包括本模块的进程的、向安全区域141的存取结束,并向存取标志更新部2261发送变形存取结束信号,由此第3变形存取结束处理开始。在第3变形存取结束处理开始后,存取标志更新部2261接收所发送的变形存取结束信号(步骤S2800)。在接收到变形存取结束信号时,存取标志更新部2261取得所接收到的变形存取结束信号中所包含的PGID(步骤S2810)。并且,通过调查与所取得的PGID相同的识别符是否包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中,调查是否已对利用所取得的PGID识别出的进程组设定有向包含于安全区域中的一个连续的存储区域的存取权限(步骤S2820)。在步骤S2820的处理中,在已设定有存取权限的情况下(步骤S2820:是),即在与所取得的PGID相同的识别符包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中的情况下,存取标志更新部2261将被存储于PGID管理表存储部2262的PGID管理表2400中的、与识别符和所取得的PGID相同的PGID2410对应的存取标志2440更新为逻辑值“O”(步骤S2830)。并且,向调度器2265委托再调度(步骤S2840)。在被委托再调度后,调度器2265通过进行前述的第2变形再调度处理来进行各个(PU中的各个进程的执行调度,以便使属于对于各个CPU而执行的各个进程组的进程的各个执行时间的比率达到与各个进程组对应的优先度2420的比率。在此,在调度器2265开始调度后,执行控制部2266将针对全部CPU的进程的执行控制暂时停止。存取控制操作部2264待机(步骤S2850:反复“否”),直到调度器2265完成对全部(PU的调度(步骤S2850:是),然后执行前述的第2变形安全区域设定处理,由此对于包含于控制寄存器组131中的、已被写入与识别符和对应于更新后的存取标志2440的PGID2410相同的PGID2310对应的开始地址2320和结束地址2330和存取权限2340的值的寄存器,将该寄存器的开始地址220和结束地址230和存取权限240的值改写为初始值即逻辑值“O”(步骤 S2860)。在步骤S2860的处理结束后,存取控制操作部2264向执行控制部2266进行表示寄存器的写入结束的通知。并且,执行控制部2266重新开始被暂时停止的针对全部CPU的进程的执行控制(步骤S2870)。在步骤S2820的处理中,在没有设定存取权限的情况下(步骤S2820:否),即在与所取得的PGID相同的识别符没有包含在、被存储于安全区域管理表存储部2263的变形安全区域管理表2300的PGID2310中的情况下,或者在步骤S2870的处理结束的情况下,0S2260结束该第3变形存取结束处理。< 考察 >图29是上述结构的第2变形计算机系统中的各个CPU的时序图的一例。在该图中,被记述了数字的各个长方形表示在对应的CPU中执行的进程是利用该数字的PID识别出的进程,虚线部分表示对应的CPU是空闲状态。第I期间2910表示由CPU C123执行的、基于利用PID为140而识别出的安全进程的正在进行向安全区域141的存取的期间,第2期间2920表示由CPU B122执行的、基于利用PID为100而识别出的安全进程的正在进行向安全区域141的存取的期间。如该图所示,在第2变形计算机系统中,在基于由任意一个CPU执行的安全进程的、正在进行向安全区域141的存取的安全区域存取期间(例如第I期间2910和第2期间2920)中,在任意一个CPU中都不执行该安全进程所属的安全进程组(例如,PGID为I的安全进程组)以外的进程。因此,在安全区域存取期间中不会执行非安全进程。另外,如该图所示,在安全区域存取期间以外的期间中,属于安全进程组的安全进程和属于非安全进程组的非安全进程均能够执行。〈补充〉以上作为本发明涉及的计算机系统的一个实施方式,在实施方式I 实施方式4中对4个计算机系统的示例进行了说明,但是当然也能够进行如下所述的变形,本发明不限于如在上述的实施方式中示出的计算机系统。(I)在实施方式I中说明了使用存储器140的处理器的数量是4的结构例。但是,如果是能够并行地执行两个以上的程序的结构,则处理器的数量不一定需要是4。作为一例,可以考虑处理器的数量是2的结构例等。
(2)在实施方式I中说明了在存储器140和总线150之间设置存取控制装置130的结构例。但是,对于由CPU A121 CPU D124进行的向存储器140的存取,如果能够实现与存取控制装置130相同的存取控制,则不一定需要在存储器140和总线150之间设置存取控制装置130。作为一例,可以考虑总线150具有与存取控制装置130相同的功能的结构
坐寸ο(3)在实施方式I中说明了存取控制装置130具有控制寄存器组131,并根据对控制寄存器组131设定的寄存器值进行向存储器的存取控制的结构例。但是,如果能够实现与存取控制装置130相同的功能,则存取控制装置130不一定需要具有控制寄存器组131。作为一例,可以考虑存取控制装置130内置控制器,由该内置的控制器控制向存储器的存取的结构等。(4)在实施方式I中说明了这样的结构例:CPU A121 CPU D124具有作为其动作模式的用户模式和第I特权模式和第2特权模式,并以第I特权模式执行OS、以第2特权模式执行管理程序。与此相对,作为另一种示例,可以考虑CPU A121 CPU D124具有作为动作模式的用户模式和特权模式,并以特权模式执行OS和管理程序的结构等。(5)在实施方式3中说明了计算机系统1800具有由CPU A121 CPUD124控制的计时器1705的结构例。与此相对,作为另一种示例,可以考虑各个CPU具有相互独立地进行动作的计时器的结构等。(6)在实施方式I中说明了这样的结构例:MPU120、存取控制装置130、存储器140、总线150、第I接口 160、第2接口 170以及第3接口 180被集成为一个集成电路110。但是,如果能够实现与集成电路110相同的功能,则这些电路不一定需要集成为一个集成电路。作为一例,可以考虑各个电路分别被集成为彼此不同的集成电路的结构等。(7)下面,说明本发明的一个实施方式的计算机系统的结构及其变形例和各种效果O(a)本发明的一个实施方式的计算机系统包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于,所述第I处理器和所述第2处理器中至少一方作为通过执行被存储在所述存储器中的程序而实现的功能性结构要素,所述计算机系统具有:执行控制部,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及开始通知受理部,受理存取开始通知,该存取开始通知表示由所述第I处理器进行的、从被许可向所述安全存储区域的存取的存取许可类程序执行单位向所述安全存储区域的存取开始,在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述执行控制部进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位。根据具有上述结构的本实施方式的计算机系统,在截止到从被许可向安全存储区域的存取的存取许可类程序执行单位向安全区域的存取开始的期间中,执行控制部进行多个程序执行单位的执行控制。因此,在该期间中,当一个处理器在一个程序执行单位中执行的程序消失的情况下,该处理器也能够执行另一个程序执行单位的程序。由此,该计算机系统在由安全程序构成的程序执行单位正在进行向安全存储区域的存取的期间中,包括非安全程序的程序执行单位不会成为执行对象,这种计算机系统在截止到按照至少由安全程序构成的程序执行单位向安全区域的存取开始的期间中,与按照成组调度方式进行各个处理器的调度的现行计算机系统相比,能够增大处理器的利用效率提高的可能性。图31是上述变形例的计算机系统3100的结构概况图。如该图所示,计算机系统3100具有存储器3110和第I处理器3120和第2处理器3130。存储器3110具有安全存储区域。作为一例,以实施方式I的存储器140的方式来实现。第I处理器3120使用存储器3110。作为一例,以实施方式I的CPUA121的方式来实现。第2处理器3130使用存储器3110。作为一例,以实施方式I的CPUB122的方式来实现。执行控制部3140具有这样的功能:使第I处理器3120和第2处理器3130中至少一方作为通过执行被存储在存储器3110中的程序而实现的功能性结构要素,执行控制部3140进行由第I处理器3120和第2处理器3130执行的多个程序执行单位的执行控制。作为一例,以实施方式I的由OSID管理表存储部362和安全区域管理表存储部363和调度器365和执行控制部366构成的功能单元的方式来实现。开始通知受理部3150具有这样的功能:使第I处理器3120和第2处理器3130中至少一方作为通过执行被存储在存储器3110中的程序而实现的功能性结构要素,开始通知受理部3150受理存取开始通知,该存取开始通知表示由第I处理器3120进行的、从被许可向安全存储区域的存取的存取许可类程序执行单位向安全存储区域的存取开始。作为一例,以实施方式I的存取标志更新部361的方式来实现。另外,执行控制部3140具有这样的功能:在通过开始通知受理部3150受理了存取开始通知的情况下,执行控制部3140进行执行控制,以便将由第2处理器3130执行的程序执行单位限定为存取许可类程序执行单位。(b)另外,也可以是,所述计算机系统具有受理存取结束通知的结束通知受理部,该存取结束通知表示由所述第I处理器进行的向所述安全存储区域的存取结束,所述执行控制部在进行所述限定性执行控制的情况下,在通过所述结束通知受理部受理了所述存取结束通知时,将所述限定解除,由此进行所述执行控制。通过形成这种结构,在从被许可向安全存储区域的存取的存取许可类程序执行单位向安全存储区域的存取结束以后的期间中,执行控制部进行多个程序执行单位的执行控制。因此,在该期间中,当一个处理器在一个程序执行单位中执行的程序消失的情况下,该处理器也能够执行另一个程序执行单位的程序。(C)另外,也可以是,所述计算机系统具有执行控制值管理部,管理有关所述存取许可类程序执行单位各自的执行控制值,在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述执行控制值管理部将有关所述存取许可类程序执行单位各自的执行控制值设定为规定值,在有关所述存取许可类程序执行单位各自的执行控制值被设定为所述规定值的情况下,在通过所述结束通知受理部受理了所述存取结束通知时,所述执行控制值管理部将有关所述存取许可类程序执行单位各自的执行控制值设定为所述规定值以外的各个值,所述执行控制部仅限于在有关所述存取许可类程序执行单位各自的执行控制值被设定为所述规定值的期间中,将使所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位,由此进行所述执行控制。通过形成这种结构,执行控制部能够使用由执行控制值管理部管理的执行控制值进行执行控制。(d)另外,也可以是,各个所述程序执行单位包括一个操作系统、和由该操作系统进行执行控制的程序组,所述存取许可类程序执行单位各自包含的操作系统是被许可向所述安全存储区域的存取的存取许可类操作系统中的任意一个。通过形成这种结构,能够将由一个操作系统、和由该操作系统进行执行控制的程序组构成的虚拟计算机作为执行控制对象。(e)另外,也可以是,各个所述存取许可类操作系统具有:开始检测部,检测由执行本操作系统的所述第I处理器进行的、向所述安全存储区域的存取的开始;开始通知部,在所述开始检测部检测到向所述安全存储区域的存取开始的情况下,向所述开始通知受理部进行所述存取开始通知;结束检测部,检测由执行本操作系统的所述第I处理器进行的、向所述安全存储区域的存取的结束;以及结束通知部,在所述开始检测部检测到向所述安全存储区域的存取结束的情况下,向所述结束通知受理部进行所述存取结束通知。通过形成这种结构,各个存取许可类操作系统能够进行存取开始通知和存取结束通知。(f)另外,也可以是,所述计算机系统还具有存取控制装置,该存取控制装置具有设定寄存器,在对该设定寄存器设定有规定的寄存器值的设定期间中,许可由所述第I处理器进行的向所述安全存储区域的存取、以及由所述第2处理器进行的向所述安全存储区域的存取,在所述设定期间以外的期间中,禁止由所述第I处理器进行的向所述安全存储区域的存取、以及由所述第2处理器进行的向所述安全存储区域的存取,所述计算机系统具有寄存器设定部,在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述寄存器设定部对所述设定寄存器设定所述规定的寄存器值,在对所述设定寄存器设定有所述规定的寄存器值的情况下,在通过所述结束通知受理部受理了所述存取结束通知时,所述寄存器设定部对所述设定寄存器设定所述规定的寄存器值以外的寄存器值。通过形成这种结构,存取控制装置能够仅限于在从受理了存取开始通知到受理到存取结束通知的期间中,许可向安全存储区域的存取。(g)另外,也可以是,所述存取控制装置还在所述设定期间以外的期间中、发行有由所述第I处理器进行的向所述安全存储区域的存取命令的情况下,向所述开始通知受理部进行所述存取开始通知。通过形成这种结构,能够通过存取控制装置进行存取开始通知。(h)本发明的一个实施方式的计算机系统包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于,所述第I处理器和所述第2处理器中至少一方作为通过执行被存储在所述存储器中的程序而实现的功能性结构要素,所述计算机系统具有:执行控制部,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及结束通知受理部,受理表示由所述第I处理器进行的、向所述安全存储区域的存取结束的存取结束通知,所述执行控制部进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位,当在进行该执行控制的情况下通过所述结束通知受理部受理了所述存取结束通知时,所述执行控制部将所述限定解除,由此进行所述执行控制。根据具有上述结构的本实施方式的计算机系统,在从被许可向安全存储区域的存取的存取许可类程序执行单位向安全存储区域的存取结束以后的期间中,执行控制部进行多个程序执行单位的执行控制。因此,在该期间中,当一个处理器在一个程序执行单位中执行的程序消失的情况下,该处理器也能够执行另一个程序执行单位的程序。由此,该计算机系统在由安全程序构成的程序执行单位正在进行向安全存储区域的存取的期间中,包括非安全程序的程序执行单位不会成为执行对象,这种计算机系统在按照至少由安全程序构成的程序执行单位向安全区域的存取结束以后的期间中,与按照成组调度方式进行各个处理器的调度的现行计算机系统相比,能够增大处理器的利用效率提高的可能性。产业上的可利用性本发明能够广泛应用于具有多个处理器的计算机系统。标号说明100 计算机系统;110 集成电路;121CPU A ;122CPU B ;123CPU C ;124CPU D ; 125 中断控制器;130存取控制装置;131控制寄存器组;130存储器;141安全区域;3400S a ;341安全区域开始指示部;342安全区域结束指示部;3500S b ;351安全区域开始指示部;352安全区域结束指示部;360管理程序;361存取标志更新部;3620SID管理表存储部;363安全区域管理表存储部;364存取控制操作部;365调度器;366执行控制部;367CPU间通信控制部。
权利要求
1.一种计算机系统,包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于, 所述第I处理器和所述第2处理器中至少一方作为通过执行被存储在所述存储器中的程序而实现的功能性结构要素, 所述计算机系统具有: 执行控制部,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及 开始通知受理部,受理存取开始通知,该存取开始通知表示由所述第I处理器进行的、从被许可向所述安全存储区域的存取的存取许可类程序执行单位向所述安全存储区域的存取开始, 在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述执行控制部进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位。
2.根据权利要求1所述的计算机系统,其特征在于,所述计算机系统具有受理存取结束通知的结束通知受理部,该存取结束通知表示由所述第I处理器进行的向所述安全存储区域的存取结束, 所述执行控制部在进行所述限定性执行控制的情况下,在通过所述结束通知受理部受理了所述存取结束通知时,将所述限定解除,由此进行所述执行控制。
3.根据权利要求2所述的计算机系统,其特征在于,所述计算机系统具有执行控制值管理部,管理有关所述存取许可类程序执行单位各自的执行控制值, 在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述执行控制值管理部将有关所述存取许可类程序执行单位各自的执行控制值设定为规定值,在有关所述存取许可类程序执行单位各自的执行控制值被设定为所述规定值的情况下,在通过所述结束通知受理部受理了所述存取结束通知时,所述执行控制值管理部将有关所述存取许可类程序执行单位各自的执行控制值设定为所述规定值以外的各个值, 所述执行控制部仅限于在有关所述存取许可类程序执行单位各自的执行控制值被设定为所述规定值的期间中,将使所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位,由此进行所述执行控制。
4.根据权利要求3所述的计算机系统,其特征在于,各个所述程序执行单位包括一个操作系统、和由该操作系统进行执行控制的程序组, 所述存取许可类程序执行单位各自包含的操作系统是被许可向所述安全存储区域的存取的存取许可类操作系统中的任意一个。
5.根据权利要求4所述的计算机系统,其特征在于,各个所述存取许可类操作系统具有: 开始检测部,检测由执行本操作系统的所述第I处理器进行的、向所述安全存储区域的存取的开始; 开始通知部,在所述开始检测部检测到向所述安全存储区域的存取开始的情况下,向所述开始通知受理部进行所述存取开始通知; 结束检测部,检测由执行本操作系统的所述第I处理器进行的、向所述安全存储区域的存取的结束;以及 结束通知部,在所述开始检测部检测到向所述安全存储区域的存取结束的情况下,向所述结束通知受理部进行所述存取结束通知。
6.根据权利要求3所述的计算机系统,其特征在于,所述计算机系统还具有存取控制装置,该存取控制装置具有设定寄存器,在对该设定寄存器设定有规定的寄存器值的设定期间中,许可由所述第I处理器进行的向所述安全存储区域的存取、以及由所述第2处理器进行的向所述安全存储区域的存取,在所述设定期间以外的期间中,禁止由所述第I处理器进行的向所述安全存储区域的存取、以及由所述第2处理器进行的向所述安全存储区域的存取, 所述计算机系统具有寄存器设定部,在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述寄存器设定部对所述设定寄存器设定所述规定的寄存器值,在对所述设定寄存器设定有所述规定的寄存器值的情况下,在通过所述结束通知受理部受理了所述存取结束通知时,所述寄存器设定部对所述设定寄存器设定所述规定的寄存器值以外的寄存器值。
7.根据权利要求6所述的计算机系统,其特征在于,所述存取控制装置还在所述设定期间以外的期间中、发行有由所述第I处理器进行的向所述安全存储区域的存取命令的情况下,向所述开始通知受理部进行所述存取开始通知。
8.一种计算机系统,包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于, 所述第I处理器和所述第2处理器中至少一方作为通过执行被存储在所述存储器中的程序而实现的功能性结构要素, 所述计算机系统具有: 执行控制部,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及 结束通知受理部,受理表示由所述第I处理器进行的、向所述安全存储区域的存取结束的存取结束通知, 所述执行控制部进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位,当在进行该执行控制的情况下通过所述结束通知受理部受理了所述存取结束通知时,所述执行控制部将所述限定解除,由此进行所述执行控制。
9.一种控制计算机系统的计算机系统控制方法,该计算机系统包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于,所述计算机系统控制方法包括: 执行控制步骤,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及 开始通知受理步骤,受理存取开始通知,该存取开始通知表示由所述第I处理器进行的、从被许可向所述安全存储区域的存取的存取许可类程序执行单位向所述安全存储区域的存取开始, 在所述执行控制步骤中,在通过所述开始通知受理步骤受理了所述存取开始通知的情况下进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位。
10.一种计算机系统控制程序,用于使计算机系统执行控制本系统的计算机系统控制处理,该计算机系统包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于,所述计算机系统控制处理包括: 执行控制步骤,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及 开始通知受理步骤,受理存取开始通知,该存取开始通知表示由所述第I处理器进行的、从被许可向所述安全存储区域的存取的存取许可类程序执行单位向所述安全存储区域的存取开始, 在所述执行控制步骤中,在通过所述开始通知受理步骤受理了所述存取开始通知的情况下进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位。
11.一种集成电路,包括具有安全存储区域的存储器、和使用该存储器的第I及第2处理器,其特征在于, 所述第I处理器和所述第2处理器中至少一方作为通过执行被存储在所述存储器中的程序而实现的功能性结构要素, 所述集成电路具有: 执行控制部,进行由所述第I处理器和所述第2处理器执行的多个程序执行单位的执行控制;以及 开始通知受理部,受理存取开始通知,该存取开始通知表示由所述第I处理器进行的、从被许可向所述安 全存储区域的存取的存取许可类程序执行单位向所述安全存储区域的存取开始, 在通过所述开始通知受理部受理了所述存取开始通知的情况下,所述执行控制部进行所述执行控制,以便将由所述第2处理器执行的程序执行单位限定为所述存取许可类程序执行单位。
全文摘要
一种计算机系统,包括具有安全存储区域的存储器、和使用存储器的多个处理器。该计算机系统当在一个处理器中从被许可向安全存储区域的存取的存取许可类程序执行单位向安全存储区域的存取开始时,将由其它处理器执行的程序执行单位限定为存取许可类程序执行单位。
文档编号G06F21/78GK103201750SQ20128000360
公开日2013年7月10日 申请日期2012年7月20日 优先权日2011年9月8日
发明者石川广男, 齐藤雅彦 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1