多处理器系统、多处理器系统中的系统构成方法及其程序的制作方法

文档序号:6456398阅读:203来源:国知局
专利名称:多处理器系统、多处理器系统中的系统构成方法及其程序的制作方法
技术领域
本发明涉及一种多处理器系统,更具体地涉及一种在考虑安全性 级别的同时基于所要进行的处理启用执行环境的多处理器系统、该多 处理器系统中的系统构成方法及其程序。
背景技术
在执行对称多处理器(SMP)上SMPOS的多处理器系统中,例 如使得多处理器的OS操作于多个处理器的多处理器系统,多个CPU 被设计用于同等地负责处理应用程序,从而改变由要在SMPOS下根 据CPU的负载状态执行的处理与CPU的组合所形成的执行环境的构 成来实现有效的处理。
在相关文献l (日本专利公开No. 2002-278778)中公开了一种与 多处理器系统相似的系统。
在相关文献l中公开的多处理器系统中,关于在某一固定时段内 执行的所有处理,确定某一处理是否应由一个特定CPU来执行,以及 在要被确定为由一个特定CPU执行的处理的数目与处理的总数目的 比例超过阈值时,关于所有处理,确定该特定CPU应执行所有线程, 由此消除了线程执行中的顺序管理、每一个CPU中所包含的高速缓 冲存储器与主存储器之间的同步、以及针对主存储器和导致开销的输 入/输出的排他利用管理处理。
专利文献l:日本专利公开No. 2002-278778.
上述现有技术中的多处理器系统存在如下问题。
首先,相关文献l等中所记载的系统被设计为具有同等负责对应 用的多种处理的多个CPU,以及被设计为利用CPU负载状态作为条 件来难一地改变执行环境(CPU与处理的组合)的构成,以便不会建 立一个稳定性或安全性级别随每一次处理而改变的执行环境。例如,在执行应用的基本处理和要按照基本处理执行的、任意追 加或删除的伴随处理时,无法在考虑稳定性或安全性级别的同时(提 高基本处理执行环境的稳定性和安全性级别)建立用于执行基本处理 的执行环境以及用于执行其他处理的执行环境。
更具体地,在同时执行所要求的稳定性各不相同的多种处理的情 况下,出现以下问题关于要求高稳定性的执行处理和不同执行环境 下的其他处理,无法建立这样的环境。
除了安装有SMPOS的多处理器之外的其他系统也存在如上所述 的问题。
本发明旨在解决上述问题。本发明的目的是提供一种在考虑稳定 性和安全性级别的同时启用要根据所要执行的处理的内容灵活建立的 执行环境的多处理器系统、该多处理器系统中的系统构成方法及其程 序。
本发明的另一目的是提供一种启动要根据每一处理内容、以高速 实现的执行环境切换(构成变化)的多处理器系统、该多处理器系统 中的系统构成方法及其程序。

发明内容
为了解决上述问题,本发明包括多个CPU和要在CPU上执行的 多个os,并根据要在系统上执行的处理形成至少一个执行环境,所 述至少一个执行环境组合了 CPU和os。
本发明实现了建立执行环境的效果,该执行环境的稳定性和安全 性级别根据要在系统上执行的每一处理而改变。
理由如下通过根据要在系统上执行的处理形成至少一个安装有
多个CPU和多个要在CPU上执行的OS、并具有CPU和OS的组合
的执行环境,能够根据处理形成各种执行环境。


图1是示意性地示出了根据本发明的多处理器系统的转移图; 图2是示出了根据本发明的第一实施方式的多处理器系统的构成的框图3是示意性地示出了作为本发明的特性组件的执行环境主控制 单元、执行环境子控制单元和执行环境管理单元之间的关系的图4是用于说明根据第一实施方式的存储装置的逻辑地址的图; 图5是用于说明根据第一实施方式的RAM上的基于CPU的执行 环境信息的图6是用于说明根据第一实施方式的RAM上的基于执行环境的
执行环境信息的图7是示出了根据第一实施方式的CPU的上下文的构成的图; 图8是示出了根据第一实施方式的执行环境主控制单元的构成的
框图9是示出了根据第一实施方式的执行环境子控制单元的构成的 框图10是示出了根据第一实施方式的执行环境主控制单元与执行 环境子控制单元之间的连接关系的框图11是用于基于CPU来说明根据第一实施方式的执行环境管理 单元的构成的框图12是用于说明根据第一实施方式的CPU管理数据的构成的
图13是用于说明根据第一实施方式的执行环境管理单元的数据 更新功能的图14是用于说明根据第一实施方式的执行环境管理单元的访问 许可功能的图15是用于说明根据第一实施方式的执行环境管理单元的访问 拒绝功能的图16是用于基于执行环境来说明根据第一实施方式的执行环境 管理单元的构成的框图17是用于说明根据第一实施方式的执行环境管理数据存储装 置的执行环境对应信息的图18是用于说明根据第一实施方式的执行环境管理数据的构成的图19是用于说明根据第一实施方式的执行环境管理单元的数据 更新功能的图20是用于说明根据第一实施方式的执行环境管理单元的访问 许可功能的图21是用于说明根据第一实施方式的执行环境管理单元的访问 拒绝功能的图22是示出了根据本发明的第二实施方式的多处理器系统在切 换后的构成的框图23是示出了根据第二实施方式的多处理器系统的硬件构成的 框图24是用于以基于共享存储器的同步为基础来说明根据第一实 施方式的执行环境停止处理的图25是用于以基于中断的同步为基础来说明根据第一实施方式 的执行环境停止处理的图26是用于基于障碍同步来说明根据第一实施方式的执行环境 停止处理的图27是用于以基于共享存储器的同步为基础来说明根据第一实 施方式的执行环境切换处理的图28是用于以基于中断的同步为基础来说明根据第一实施方式 的执行环境切换处理的图29是用于基于障碍同步来说明根据第一实施方式的执行环境 切换处理的图30是用于示意性地说明根据第一实施方式的多处理器系统中 的CPU4-0的操作的图31是用于示意性地说明根据第一实施方式的多处理器系统中 的CPU4-1至4-n的操作的图32是用于说明根据第一实施方式的多处理器系统的状态转移 的图33是用于说明根据第一实施方式的多处理器系统的状态转移的图34是用于说明根据第一实施方式的多处理器系统的状态转移 的图35是用于说明根据第一实施方式的多处理器系统的状态转移 的图36是用于说明根据第一实施方式的多处理器系统的状态转移 的图37是用于说明根据第一实施方式的多处理器系统的状态转移 的图38是用于说明根据第一实施方式的多处理器系统的状态转移 的图39是用于说明根据第一实施方式的多处理器系统的状态转移 的图40是用于说明根据第一实施方式的多处理器系统的状态转移 的图41是用于说明根据第一实施方式的多处理器系统的状态转移 的图42是用于说明根据第一实施方式的多处理器系统的状态转移 的图43是用于说明根据第一实施方式的多处理器系统的状态转移 的图44是用于说明根据第一实施方式的多处理器系统的状态转移 的图45是用于说明根据第一实施方式的多处理器系统的状态转移 的图46是用于说明根据第一实施方式的多处理器系统的状态转移 的图47是用于说明由根据第一实施方式的执行环境主控制单元在 主执行环境中所执行的CPU停止处理(不具有自动切换功能)的图; 图48是用于说明由根据第一实施方式的执行环境主控制单元在主执行环境中所执行的CPU停止处理和上下文保存处理(不具有自动
切换功能)的图49是用于说明由根据第一实施方式的执行环境主控制单元在 主执行环境中所执行的切换处理(不具有自动切换功能)的图50是用于说明由根据第一实施方式的执行环境主控制单元在 初始状态下在主执行环境中所执行的CPU其他处理(不具有自动切换 功能)的图51是用于说明由根据第一实施方式的执行环境主控制单元在 具有上下文设置的主执行环境中所执行的CPU其他处理(不具有自动 切换功能)的图52是用于说明由根据第一实施方式的执行环境主控制单元和 执行环境子控制单元对于另一个CPU的OS停止处理(不具有自动切 换功能)的图53是用于说明由根据第一实施方式的执行环境主控制单元和 执行环境子控制单元对于另一个CPU所执行的OS停止处理和上下文 保存处理(不具有自动切换功能)的图54是用于说明由根据第一实施方式的执行环境主控制单元和 执行环境子控制单元对于另一个CPU所执行的执行环境切换处理(不 具有自动切换功能)的图55是用于说明由根据第一实施方式的执行环境主控制单元和 执行环境子控制单元对于处于初始状态的另一个CPU所执行的OS启 动处理(不具有自动切换功能)的图56是用于说明由根据第一实施方式的执行环境主控制单元和 执行环境子控制单元在具有上下文设置的另一个CPU上执行的OS启 动处理(不具有自动切换功能)的图57是用于说明由根据第一实施方式的执行环境主控制单元和 执行环境子控制单元所执行的从执^环境子控制单元的切换处理(不 具有自动切换功能)的图58是用于说明由根据第一实施方式的执行环境主控制单元对 于另一个CPU所执行的停止执行环境子控制单元的处理(不具有自动切换功能)的图59是用于说明由根据第一实施方式的执行环境主控制单元对 于另一个CPU所执行的启动执行环境子控制单元的处理(不具有自动 切换功能)的图60是用于基于CPU来说明根据本发明的第二实施方式的执行 环境管理单元的构成的框图61是用于说明根据本发明的第二实施方式的自动CPU切换数
据的构成的图62是用于说明根据本发明的第二实施方式的执行环境管理单 元的数据更新功能的图63是用于说明根据第二实施方式的执行环境管理单元在读(R) 访问中的自动切换功能的图64是用于说明根据本发明的第二实施方式的执行环境管理单 元在写(W)访问中的自动切换功能的图65是用于说明根据第二实施方式的CPU管理数据在切换后的 构成的图66是用于基于执行环境来说明根据第二实施方式的执行环境 管理单元的构成的框图67是用于说明根据第二实施方式的自动执行环境切换数据的 构成的图68是用于说明根据第二实施方式的执行环境管理单元的数据 更新功能的图69是用于说明根据第二实施方式的执行环境管理单元在读(R) 访问中的自动切换功能的图70是用于说明根据第二实施方式的执行环境管理单元在写 (W)访问中的自动切换功能的图71是用于说明根据第二实施方式的执行环境切换功能(具有 自动切换功能)的图72是用于说明由根据第二实施方式的执行环境主控制单元和 执行环境子控制单元对于另一个CPU所执行的执行环境切换处理(具有自动切换功能)的图73是示出了根据第二实施方式的多处理器系统在切换后的构 成的框图74是示出了根据本发明的第三实施方式的执行环境子控制单 元的构成的框图75是用于说明由根据第三实施方式的执行环境子控制单元所 执行的同一可靠性执行环境切换处理(不具有自动切换功能)的图76是用于说明由根据第三实施方式的执行环境主控制单元和 执行环境子控制单元所执行的从同一执行环境调度单元的切换处理 (不具有自动切换功能)的图77是示出了根据本发明的第四实施方式的多处理器系统的构 成的框图78是示出了根据本发明的第五实施方式的多处理器系统的一 部分构成的框图79是示出了根据本发明的第五实施方式的多处理器系统的一 部分构成的框图80是示出了根据本发明的第六实施方式的多处理器系统的构 成的框图81是示出了根据本发明的示例性实施例1的多处理器系统的 操作的特定示例的流程图82是示出了根据本发明的示例性实施例1的具有执行顺序检 査的执行环境管理单元的构成的图83是示出了根据本发明的示例性实施例1的执行顺序检査存 储单元的构成的图84是用于说明根据本发明的示例性实施例1的具有执行顺序 检查的执行环境管理单元的操作的图85是用于说明根据本发明的示例性实施例1的具有执行顺序 检查的执行环境管理单元的操作的图86是用于说明根据本发明的示例性实施例1的具有执行顺序 检查的执行环境管理单元的操作的图;图87是用于说明根据本发明的示例性实施例1的具有执行顺序 检査的执行环境管理单元的操作的图88是用于说明根据本发明的示例性实施例1的具有执行顺序 检查的执行环境管理单元的操作的图89是用于说明根据本发明的示例性实施例1的具有执行顺序 检査的执行环境管理单元的操作的图;以及
图卯是用于说明根据本发明的示例性实施例1的具有执行顺序 检査的执行环境管理单元的操作的图。
具体实施例方式
首先,图l所示的是通过根据本发明的多处理器系统对于执行环 境切换(状态转移)的机制。
参考图1,本发明的多处理器系统根据每一个CPU的负载、处理 稳定性或安全性级别,在仅具有CPU4-0和CPU4-1上的基本处理执 行环境100-0的状态(构成)与由CPU 4-0上的基本处理执行环境100-0 与CPU 4-1上的其他处理执行环境100-1组成的状态(构成)之间进 行状态转移,在基本处理执行环境100-0中,包括执行环境主控制单 元10的SMP OS 2在应用(AP) 8中执行基本处理110,即基本处理, 在其他处理执行环境100-1中,包括执行环境子控制单元20的OS 3 在新的应用8中执行其他处理120。
在本实施方式下,每一个基本处理110是应用程序8中固有(必 须)提供的处理,其可靠性(安全性级别)最高。每一个其他处理120 是应用程序8中要附带或单独添加至基本处理110或者删除的处理, 其可靠性(安全性级别)比基本处理低。因而,每一个其他处理与基 本处理110的不同之处在于处理内容或稳定性或安全性级别。安全性 级别(稳定性)表示基于处理、根据特定安全策略分配给每一个阶段 的级别。
换言之,图1示出了在其中建立仅执行基本处理的基本处理执行 环境100-0的构成状态(状态A)与在其中建立多个执行环境、用于 执行基本处理的基本处理执行环境100-0和用于执行其他处理的其他处理执行环境100-1的构成状态(状态B)之间的状态转移。
可以理解,图l所示的状态转移仅仅是根据本发明的多处理器系 统中的状态转移的示例,并且不局限于那些限定。
(第一实施方式) 将参考附图详细说明本发明的第一实施方式。 (第一实施方式的构成)
图2是示出了根据本发明的第一实施方式的多处理器系统的构成 的框图。
参考图2,根据本发明的第一实施方式的多处理器系统包括SMP OS 2、 OS 3、执行环境主控制单元10、执行环境子控制单元20a 20n、 CPU4-0 4-n、执行环境管理单元30、存储装置5和I/O (输入/输出) 装置6。 SMP OS 2连接至执行环境主控制单元10和执行环境子控制 单元20a 20n, OS 3连接至执行环境子控制单元20a 20n,执行环境 主控制单元10连接至CPU 4-0 4-n,执行环境子控制单元20a 20n连 接至CPU 4-0~4-n,以及CPU 4-0 4-n和作为共享资源的存储装置5 和I/O装置6连接至执行环境管理单元30。
更具体地,在根据本实施方式的多处理器系统中,执行环境主控 制单元10直接控制CPU4-0 4-n中的每一个。
图3是示意性地示出了作为本发明的特性组件的执行环境主控制 单元10、执行环境子控制单元20a 20n和执行环境管理单元30之间 的相互关系的图。
执行环境主控制单元10具有下列功能执行基本处理执行环境 的功能、控制其他处理执行环境的功能、在执行环境管理单元30处设 置CPU 4和执行环境的管理信息的功能、自/至执行环境子控制单元 20发送和接收执行环境管理信息或上下文信息(上下文90)的功能、 以及防止执行环境管理单元30在执行环境之间的冲突的功能。
更具体地,执行环境主控制单元10接收下列输入作为输入信息: 来自应用或OS 3的启动/切换通知;来自执行环境子控制单元20的诸 如定时器或中断之类的事件通知或切换通知,以便与用于基本处理110的SMP OS 2或OS 3 —同操作,或者确定执行环境的CPU分配, 或者控制执行环境的启动/停止/切换,或者确保与执行环境子控制单 元20和执行环境管理单元30协作的权限控制,以及根据情况向执行 环境主控制单元10输出执行环境控制信息和上下文信息(上下文90) 作为输出信息。
例如,在确定CPU分配时,执行环境主控制单元IO基于其他处 理的可靠性(安全性级别)、CPU的可靠性(安全性级别)、基本处理 与其他处理等之间的性能、相互关系或适应性的区别来确定CPU分 配。
更具体地,当接受启动执行环境100-1的请求时,例如来自AP8 或OS 3的启动/切换通知,执行环境主控制单元10启动执行环境 100-1,当接收到执行环境100-3不再必需的通知时,例如执行环境主 控制单元IO停止执行环境100-3,以及当接收到与执行环境100-2中 的某一应用通信的请求时,例如,如果执行环境100-2处于操作中, 则执行环境主控制单元10抑制进行任何操作,以及如果执行环境 100-2停止,则启动执行环境100-2。当启动执行环境100-2时,如果 将操作的执行环境比CPU的数目更多时,期望通过从其操作时间最长 的执行环境切换来启动执行环境100-2。
此外,当在接收到时间中断作为自发请求时比CPU的数目多的 执行环境处于操作时,例如,执行环境主控制单元IO将操作中的执行 环境切换至其执行时间在被停止的执行环境中为最短的执行环境(选 择执行时间最短的执行环境的策略是任意的),以及当在预定外部中断 下启动或停止执行环境100-4时,例如,执行环境主控制单元10在预 定外部中断下启动或停止执行环境100-4。当启动该环境时,如果处 于操作中的执行环境比CPU的数目更多时,期望通过从所述执行环境 切换来启动执行环境100-4。
执行环境子控制单元20具有在执行环境主控制单元10的通知下 控制其他处理执行环境的功能。
更具体迆,执行环境子控制单元20接收来自执行环境主控制单 元10的执行环境控制信息和上下文信息(上下文90)的输入作为输入信息,并根据来自执行环境主控制单元10的指令来控制执行环境的 启动/停止/切换,以便与执行环境主控制单元io进行同步。与执行环 境主控制单元10的同步启用了对切换前后的执行环境的分离。执行环 境子控制单元20根据场合向执行环境主控制单元10输出错误信息作 为输出信息。
执行环境管理单元30具有将执行环境主控制单元10与执行环境 子控制单元20a 20n或者执行环境子控制单元20a 20n分离开的功能。 更具体地,执行环境管理单元30接收针对每一个执行环境的CPU 4 或共享资源(存储装置5、 1/0装置6)的管理信息或参照拒绝信息的 输入作为输入信息,以便基于输入信息并响应于来自每一个CPU的参 照来抑制或者拒绝任何操作,并返回错误信息。
例如,根据地址将共享资源分配给每一个处理,共享资源可以具 有针对下列区域预定的地址基本处理110的区域、其他处理120的 执行环境100的区域、共享区域和处理环境信息区域。图4是用于说
明作为共享资源的从存储装置的逻辑地址的图。
参照图4,存储装置5的ROM 51具有地址为 0x00000000 0x007FFFFF 的基本处理 110 区域、地址为 0x00800000 0x00FFFFF的针对其他处理的执行环境100-1区域、地址 为0x01000000 0xOr7FFFFF的针对其他处理120的执行环境100-2区 域、以及地址为0xO18O00OO~0xO2000000的针对其他处理120的执行 环境100-3区域,存储装置5的RAM 52具有地址为 0x30000000 0x30FFFFFF的基本处理 110 区域、地址为 0x310000000 0x31FFFFFF的针对其他处理120的执行环境100-1区 域、地址为0x32000000 0x32FFFFFi^的针对其他处理120的执行环境 100-2区域、地址为0x33000000~0x33FFFFFF的针对其他处理120的 执行环境100-3区域、地址为0x34000000 0x34FFFFFF的共享区域、 以及地址为0x35000000 0x36000000的执行环境信息区域。 图5和图6是用于说明RAM上的执行环境信息的图。 图5是用于说明S据RAM上的基于CPU的执行环境信息的图, 参照图5 (a) ~图5 (d),基于CPU的执行环境信息存储每一个执行环境的操作状态作为针对CPU的上下文和构成执行环境100-1~100-3 中的每一个的CPU管理信息。
图6是用于说明RAM上的基于执行环境的执行环境信息的图, 参照图6 (a) ~图6 (d),基于执行环境的执行环境信息存储每一个执 行环境的操作状态作为针对CPU的上下文和构成执行环境 100-1-100-3中的每一个的每一个执行环境的执行环境信息。
图7是示出了 CPU4-k的上下文的构成的图。参照图7, CPU4-k 的上下文90包括寄存器#0 #14、寄存器#15 (PC)、处理器状态寄存 器和处理器控制寄存器,例如,在其中存储了处于操作的CPU4-k在 指定时刻的所有存储状态。
这里,将根据本实施方式对执行环境主控制单元10和执行环境 子控制单元20的构成进行进一步详细描述。
图8是示出了根据本实施方式的执行环境主控制单元10的构成 的框图。
参照图8,根据本实施方式的执行环境主控制单元10包括执行 环境调度单元13,连接至AP 8/OS 3和RAM; OS主协作单元ll,连 接至OS3、 OS子协作单元21 (稍后将对其进行描述)和执行环境调 度单元13;执行环境主管理和同步单元12,连接至OS子协作单元 21、执行环境子管理和同步单元22、执行环境管理单元30和执行环 境调度单元13。
执行环境调度单元13具有下列功能在接收到例如来自AP 8/OS 3的某一请求作为输入信息时,参照RAM 52上的执行环境信息,以 基于所参照的执行环境信息,向OS主协作单元11通知诸如对执行环 境调度单元13自身所属于的执行环境、其CPU及其OS的启动/停止/ 追加/切换之类的控制指令,或者诸如对执行环境调度单元13不属于 其中的执行环境、其CPU及其OS的启动/停止/追加/切换之类的控制 指令;向OS主协作单元11通知关于下一个要切换的上下文或前一个 上下文的信息;通过控制指令,向执行环境主管理和同步单元12通知 执行环境调度单元13在CPU追加之后的设置信息等;以及更新RAM 52上的执行环境信息。OS主协作单元11具有下列功能执行从执行环境调度单元13
接收到的控制指令;向OS子协作单元21 (稍后将进行描述)通知相 关控制指令;在OS 3处设置前一个上下文或切换后的上下文的信息; 获得处于操作中的OS 3的上下文以及将该上下文转移至执行环境调 度单元13;以及执行从OS子协作单元21 (稍后将进行描述)接收到 的控制指令。
执行环境主管理和同步单元12具有下列功能将通知给执行环 境调度单元13的设置信息设置在执行环境调度单元13处;向执行环 境调度单元13或OS主协作单元11通知设置完成;以及将处理与执 行环境子管理和同步单元22 (稍后将进行描述)同步。
图9是示出了根据本实施方式的执行环境子控制单元10的构成 的框图。
参照图9,根据本实施方式的执行环境子控制单元20包括OS 子协作单元21,连接至OS 3和OS主协作单元ll;执行环境子管理 和同步单元22,连接至执行环境主管理和同步单元12和OS子协作 单元21。
OS子协作单元21具有下列功能执行从OS主协作单元11接收 到的控制指令;向执行环境子管理和同步单元22通知指令已经执行; 获得OS子协作单元21自身属于的执行环境中的OS的上下文的信息, 以将该信息发送至OS主协作单元11;将前一个上下文或者从OS主 协作单元ll发送的切换目的地的上下文的信息设置在OS子协作单元 21自身属于的执行环境的OS3处;以及向OS主协作单元ll通知从 OS子协作单元21自身属于的执行环境的OS 3接收到的某一请求。
执行环境子管理和同步单元22具有下列功能当OS子协作单元 21通知已经执行了指令时,通过佝OS主协作单元11通知该执行已经 被执行等来将处理与OS主协作单元11同步。
图10是示出了根据本发明的第一实施方式的执行环境主控制单 元10与执行环境子控制单元20之间的连接关系的框图。
这里,将基于(a) CPU和基于(b)执行环^ tm^本实施方 式的执行环境管理单元30的构成进行进一步详细描述。((A) CPU场合)
图11至图15是用于基于CPU来说明根据第一实施方式的执行环 境管理单元30的构成的框图。
图11是用于基于CPU来说明根据本实施方式的执行环境管理单 元30的构成的框图。参照图ll,执行环境管理单元30包括CPU过 滤单元31,连接至系统总线和外围总线;以及CPU管理数据存储装 置32,连接至系统总线和CPU过滤单元31。
CPU过滤单元31具有下列功能在通过系统总线接收到来自某 一 CPU 4的访问请求时,基于从CPU管理数据存储装置32读取的 CPU管理数据321 (稍后将进行描述)来确定是否拒绝该访问请求。
CPU管理数据存储装置32具有下列功能存储CPU管理数据 321,以执行对CPU管理数据321的更新请求。
图12是用于说明根据第一实施方式的CPU管理数据321的构成 的图。参照图12,关于CPU4-0 4-n中的每一个,CPU管理数据321 由其中记载了所分配的存储装置5的区域的起始点和终点和表示许可 处理、读处理(R)或写处理(W)的许可比特的实体构成。
接下来,将对根据本实施方式的执行环境管理单元30的基于CPU 的功能进行描述。
(数据更新功能)
图13是用于说明根据本实施方式的执行环境管理单元30的数据 更新功能的图。参照图13,在步骤S1中,执行环境管理单元30的数 据更新功能更新CPU管理数据321。基本上,只许可正在执行基本处 理的CPU访问CPU管理数据321。关于预定实体,许可正在执行其 他处理的CPU访问CPU管理数据321 。 (访问许可功能)
图14是用于说明根据本实施方式的执行环境管理单元30的访问 许可功能的图。参照图14,在执行环境管理单元30的访问许可功能 中,CPU过滤单元31在步骤S1接受来自任意CPU的访问,在步骤 S2读取CPU管理数据321 ,以及基于所读取的CPU管理数据321来 确定是否许可所接受的访问,以在步骤S3许可所接受的访问。用于说明根据本实施方式的执行环境管理单元30的访问
拒绝功能的图。参照图15,在执行环境管理单元30的访问拒绝功能 中,CPU过滤单元31在步骤S1中接受来自任意CPU的访问,在步 骤S2读取CPU管理数据321 ,以及基于所读取的CPU管理数据321 来确定是否许可所接受的访问,.以在步骤S3中拒绝所接受的访问。 当定时约束比较严格时,不是通过该电路来拒绝访问,而是通过冒险 将访问地址转换为系统中不存在的地址,来使得另一电路进行这样的 拒绝。
((B)执行环境场合)
图16至图21是用于基于执行环境来说明根据本实施方式的执行 环境管理单元30的构成的框图。
图16是用于基于执行环境来说明根据本实施方式的执行环境管 理单元30的构成的框图。参照图16,执行环境管理单元30包括执 行环境过滤单元35,连接至系统总线和外围总线;以及执行环境管理 数据存储装置36,连接至系统总线和执行环境过滤单元35。
执行环境过滤单元35具有下列功能在通过系统总线接收到来 自某一 CPU 4的访问请求时,基于从执行环境管理数据存储装置36 读取的执行环境管理数据361和执行环境对应信息362 (稍后将进行 描述)来确定是否拒绝该访问请求。'
执行环境管理数据存储装置36具有下列功能存储执行环境管 理数据361和执行环境对应信息362,以执行更新执行环境管理数据 361和执行环境对应信息362的请求。
图17是用于说明根据本实施方式的执行环境管理数据存储装置 36的执行环境对应信息362的图。参照图17,执行环境对应信息362 使得CPU 4-0 4-n分别与执行环境序号所表示的执行环境100-0-100-4 相关关联。更具体地,使得CPU 4-0和4-1对应执行环境100-0, CPU 4-2对应执行环境100-1, CPU 4-3对应执行环境100-2,以及CPU 4-3 对应执行环境100-3。
图18是用于说明根据本实施方式的执行环境管理数据361的构成的图。参照图18,关于表示执行环境序号的执行环境100-0 100-4, 执行环境管理数据361由其中记载了所分配的存储装置5的区域的起 始点和终点和表示许可处理、处理(R)或写处理(W)的许可比特 的实体构成。
接下来,将基于执行环境对根据本实施方式的执行环境管理单元 30的功能进行描述。 (数据更新功能)
图19是用于说明根据本实施方式的执行环境管理单元30的数据 更新功能的图。参照图19,在步骤S1中,执行环境管理单元30的数 据更新功能更新执行环境管理数据361。基本上,只许可正在执行基 本处理的CPU访问执行环境管理数据361。关于预定实体,许可正在 执行其他处理的CPU 4访问执行环境管理数据361 。 (访问许可功能)
图20是用于说明根据本实施方式的执行环境管理单元30的访问 许可功能的图。参照图20,在执行环境管理单元30的访问许可功能 中,执行环境过滤单元35在步骤S1接受来自任意CPU的访问,在步 骤S2读取执行环境管理数据361,以及基于所读取的执行环境管理数 据361来确定是否许可所接受的访问,以在步骤S3许可所接受的访 问。
(访问拒绝功能)
图21是用于说明根据本实施方式的执行环境管理单元30的访问 拒绝功能的图。参照图21,在执行环境管理单元30的访问拒绝功能 中,执行环境过滤单元35在步骤S1中接受来自任意CPU的访问,在 步骤S2读取执行环境管理数据361,以及基于所读取的执行环境管理 数据361来确定是否许可所接受的访问,以在步骤S3中拒绝所接受 的访问。当定时约束比较严格时,不是通过该电路来拒绝访问,而是 通过冒险将访问地址转换为系统中不存在的地址,来使得另一电路进 行这样的拒绝。
图22示出了根据本实施方式的基于CPU或执行环境的切换后的 多处理器系统的结构。这里,将对多处理器系统的硬件构成进行描述。
图23是示出了根据本实施方式的多处理器系统的硬件构成的框图。
参照图23,根据本发明的可以由诸如公共计算机装置种类的硬件 构成来实现多处理器系统包括CPU (中央处理单元)501、主存储单 元502,作为诸如RAM (随机存取存储器)等用作数据作业区域或数 据暂时保存区域的主存储器;通信控制单元503,用于通过互联网等 来发送和接收数据;接口单元504,连接至外围装置,用于发送和接 收数据;辅助存储单元505,是由诸如ROM (只读存储器)之类的非 易失性存储器、磁盘、或半导体存储器构成的硬盘装置;以及系统总 线506,连接至本发明的信息处理装置的上述各个组件。
根据本发明的多处理器系统不仅利用硬件而且利用软件来实现 其操作,该硬件具有由诸如所安装的LSI (大规模集成电路)等之类 的硬件部件构成的电路部件,该硬件部件将实现这些功能的程序合并 在多处理器系统内部,该软件在计算机处理装置上执行用于提供CPU 501上的上述各项功能中的每一项功能的程序。
更具体地,CPU 501 (CPU 4、 CPU4-0~4-n、 CPU4-k)将存储在 辅助存储单元505 (存储装置5)中的程序加载到主存储单元501 (存 储装置5)中,并执行该程序,以控制多处理器系统的操作,由此以 软件方式来实现上述各项功能。 (第一实施方式的操作)
图24至图59是用于说明根据第一实施方式的多处理器系统的操 作的图。
首先,将以(a)基于共享存储器的同步、(b)基于中断的同步 和(c)障碍同步为基础来对根据本实施方式的执行环境停止处理和执 行环境切换处理进行描述。 (执行环境停止处理) 执行环境停止处理是停止执行环境子管理和同歩单元22所属于 的执行环境的处理。
((A)基于共享存储器的同步)图24是用于以基于共享存储器的同步为基础来说明根据本实施 方式的执行环境停止处理的图。
参照图24,执行环境子管理和同步单元22将某一个值(例如"A") 写入作为共享存储器的存储装置5中(步骤S101)。当执行环境子管 理和同步单元22将某一个值写入共享存储器时,执行环境主管理和同 步单元12确定共享存储器中的值是否为"A"(步骤S102),以及当 共享存储器的值为"A"时,对执行环境管理单元30进行设置(步骤 S105),以继续进行处理(步骤S106),以便执行环境子管理和同步单 元22所属于的执行环境停止(步骤S107)。当共享存储器的值不是"A" 时,如果共享存储器的值被确定为不是"A"的次数不少于阈值数目
(步骤S103),则执行环境主管理和同步单元12强制重新设置对方(步 骤S104),以及如果该值被确定为不是"A"的次数没有达到预定值
(步骤S103),则再次确定共享存储器的值是否为"A"(步骤S102)。 执行环境子管理和同步单元22可以循环。 ((B)基于中断的同步)
图25是用于以基于中断的同步为基础来说明根据本实施方式的 执行环境停止处理的图。
参照图25,当执行环境子管理和同步单元22发送中断请求(步 骤S201)时,执行环境主管理和同步单元12确定是否接收到中断请 求(步骤S202),以及当接收到中断请求时,对执行环境管理单元30 进行设置(步骤S205),以继续进行处理(步骤S206),以便执行环 境子管理和同步单元22所属于的执行环境停止(步骤S207)。当无法 接收到中断请求时,如果没有接收状态持续的时间比阈值时间长时(步 骤S203),执行环境主管理和同步单元12强制重新设置对方(步骤 S204),以及当没有接收状态的持续时间没有达到阈值时(步骤S203), 再次确定是否接收到中断请求(步骤S202)。执行环境子管理和同步 单元22可以循环。
((C)障碍同步)
图26是用于基于障碍同步来说明根据本实施方式的执行环境停 止处理的图参照图26,执行环境子管理和同步单元22执行与执行环境主管 理和同步单元12的同步(步骤S301),以确定障碍同步是否实现(步 骤S302),以及在尚未实现时,再次进行确定,并在实现障碍同步时 停止执行环境(步骤S303)。执行环境主管理和同步单元12执行与执 行环境子管理和同步单元22的障碍同步(步骤S311),以确定障碍同 步是否实现(步骤S312),以及在实现障碍同步时,对执行环境管理 单元30进行设置(步骤S313),以继续进行处理(步骤S314)。在尚 未实现时,执行环境子管理和同步单元22确定尚未实现障碍同步的状 态所持续的时间是否不小于阈值时间时(步骤S315),以及在该状态 持续的时间不小于阈值时间时,强制重新设置对方(步骤S316),以 及在该状态持续的时间尚未达到阈值时间时,再次确定障碍同步是否 实现(步骤S312)。
(执行环境切换处理)
执行环境切换处理是对执行环境主控制单元10或执行环境子控 制单元20所属于的执行环境进行切换的处理。 ((A)基于共享存储器的同步)
图27是用于以基于共享存储器的同步为基础来说明根据本实施 方式的执行环境切换处理的图。
参照图27,执行环境子管理和同步单元22将某一个值(例如"A") 写入作为共享存储器中(步骤S401)。当执行环境子管理和同步单元 22将某一个值写入共享存储器时,执行环境主管理和同步单元12确 定共享存储器中的值是否为"A"(步骤S402),以及当共享存储器的 值不是"A"时,如果共享存储器的值被确定为不是"A"的次数不少 于阈值数目(步骤S403),则执行环境主管理和同步单元12强制重新 设置对方(步骤S404),如果该值被确定为不是"A"的次数没有达 到预定值,则再次确定共享存储器的值是否为"A"(步骤S402),以 及当共享存储器的值为"A"时,对执行环境管理单元30进行设置(步 骤S405),并将某一个值(例如"B")写入共享存储器中(步骤S406), 以继续进行处理(步骤S407)。在执行环境主管理和同步单元12将某 一个值写入共享存储器时,执行环境子管理和同步单元22确定共享存储器中的值是否为"B"(步骤S408),以及在共享存储器中的值不为 "B"时,再次确定共享存储器中的值是否为"B"(步骤S40S),以 及如果共享存储器中的值为"B",则切换执行环境(步骤S409)。执 行环境子管理和同步单元22可以首先循环。 ((B)基于中断的同步)
图28是用于以基于中断的同步为基础来说明根据本实施方式的 执行环境切换处理的图。
参照图28,当执行环境子管理和同步单元22发送中断请求(步 骤S501)时,执行环境主管理和同步单元12确定是否接收到中断请 求(步骤S502),以及当没有接收到中断请求时,如果没有接收状态 持续的时间比阈值时间长时(步骤S503),执行环境主管理和同步单 元12强制重新设置对方(步骤S504),以及当没有接收状态的持续时 间没有达到阈值时,再次确定是否接收到中断请求(步骤S502),以 及当接收到中断请求时,对执行环境管理单元30进行设置(步骤 S505),并发送中断请求(步骤S506),以继续进行处理(步骤S507)。 执行环境子管理和同步单元22确定是否接收到中断请求(步骤S508), 以及在尚未接收到中断请求时,再次确定是否接收到中断请求(步骤 S508),以及在接收到中断请求时,切换执行环境(步骤S509)。执行 环境子管理和同步单元22可以首先循环。 ((C)障碍同步)
图29是用于基于障碍同步来说明根据本实施方式的执行环境切 换处理的图。
参照图29,执行环境子管理和同步单元22执行与执行环境主管 理和同步单元12的同步(步骤S601),以确定障碍同步是否实现(步 骤S602),以及在尚未实现时,p次进行确定(步骤S602),并在实 现障碍同步时,再次执行与执行环境主管理和同步单元12的障碍同步 (S603),以确定障碍同步是否实现(步骤S604),以及在尚未实现时, 再次进行确定(步骤S604),并在实现时,停止执行环境(步骤S605)。 执行环境主管理和同步单元12执行与执行环境子管理和同步单元22 的障碍同步(歩骤S611),以确定障碍同步是否实现(步骤S612),以及在尚未实现障碍同步时,再次确定尚未实现障碍同步的状态所持
续的时间是否不小于阈值时间(步骤S613),以及在该状态持续的时 间不小于阈值时间时,强制重新设置对方(步骤S614),以及在该状 态持续的时间尚未达到阈值时间时,再次确定障碍同步是否实现(步 骤S612)。当在步骤S612中实现障碍同步时,执行环境主管理和同步 单元12对执行环境管理单元30进行设置(步骤S615),以再次执行 与执行环境子管理和同步单元22的同步(步骤S616),并确定障碍同 步是否实现(步骤S617),以及在尚未实现时,确定尚未实现障碍同 步的状态所持续的时间是否不小于阈值时间(步骤S618),以及当该 状态所持续的时间是否不小于阈值时间时,强制重新设置对方(步骤 S614),以及在该状态持续的时间尚未达到阈值时间时,再次确定障 碍同步是否实现(步骤S617),以继续进行处理(步骤S619)。
接下来,将主要关于执行环境主控制单元10的操作详细描述根 据实施方式的多处理器系统的操作。根据本实施方式的执行环境主控 制单元10对包括至少CPU4-0在内的执行环境100-0进行操作。
图30是用于示意性地说明根据本实施方式的多处理器系统中的 CPU 4-0的操作的图,以及图31是用于示意性地说明根据本实施方式 的多处理器系统中的CPU4-l"4-n的操作的图。
参照图3 0,关于CPU4-0,初始状态处的启动处理启动了执行环 境主控制单元10。此外关于CPU 4-0,执行环境主控制单元10的恢 复处理启动SMP0S2,并且挂起处理停止SMP0S2。 CPU 4-0还返 回至SMP OS 2或执行环境主控制单元10的停止处理的初始状态。
参照图31,关于CPU4~0~4-n,执行环境主控制单元10在初始状 态下的启动处理启动了执行环境主控制单元10,并且执行环境子控制 单元在初始状态下的启动处理启动了执行环境子控制单元20,以及该 切换处理启用了执行环境主控制单元10与执行环境子控制单元20的 切换。执行环境主控制单元IO执行针对SMPOS2的恢复处理和挂起 处理,以及执行环境子控制单元执行针对SMP OS 2和单个OS 7的恢 复处理和挂起处理。CPU4-0^返回至SMPOS2、单个OS7、执行 环境主控制单元10或执行环境子控制单元20的停止处理的初始状态。图32至图46是用于说明根据本实施方式的多处理器系统的状态 转移的图。
(主执行环境中的CPU停止处理(不具有自动切换功能)) 图47是用于说明由根据本实施方式的执行环境主控制单元10在 主执行环境中所执行的CPU停止处理(不具有自动切换功能)的图。 参照图47,在由根据本实施方式的执行环境主控制单元10在主 执行环境中所执行的CPU停止处理(不具有自动切换功能)中,执行 环境调度单元13在步骤Sl接收来自AP 8/OS 3的所述请求,在步骤 S2读取RAM 52上的执行环境信息521,以及在步骤S3向OS主协作 单元11通知用于停止执行环境中的所述CPU的请求,或者向执行环 境主管理和同步单元12通知执行环境管理单元30在CPU停止后的设
置倍息o
接下来,OS主协作单元11在步骤S4请求OS 3停止上述CPU, 在步骤S5接收来自OS 3的CPU停止完成的通知(近似于电源管理 中的CPU关机处理),以及在步骤S6向执行环境主管理和同步单元 12通知完成了 CPU停止。
接下来,执行环境主管理和同步单元12在步骤S7在执行环境管 理单元30处设置执行环境管理单元30在CPU停止后的设置信息,并 在步骤S8向执行环境调度单元13通知该处理的完成。
接下来,执行环境调度单元13在步骤S9更新执行环境信息521 , 并在步骤S10向AP 8/OS 3通知该请求己完成。
(主执行环境中的CPU停止处理和上下文保存处理(不具有自 动切换功能))
图48是用于说明由根据本实施方式的执行环境主控制单元10在 主执行环境中所执行的CPU停止处理和上下文保存处理(不具有自动
切换功能)的图。
参照图48,在由根据本实施方式的执行环境主控制单元10在主 执行环境中所执行的CPU停止处理和上下文保存处理(不具有自动切 换功能)中,执行环境调度单元13在步骤Sl接收来自AP 8/OS 3的 所述请求,在步骤S2读取RAM52上的执行环境信息521,以及在步骤S3向OS主协作单元11通知用于停止执行环境中的所述CPU的请 求和上下文保存请求,以及向执行环境主管理和同步单元12通知执行 环境管理单元30在CPU停止后的设置信息。
接下来,OS主协作单元11在步骤S4请求OS 3停止上述CPU 并保存上下文,在步骤S5接收来自OS3的CPU停止完成的通知(近 似于电源管理中的CPU挂起处理)和上述OS3的上下文90,在步骤 S6将上述OS 3的上下文90转移至执行环境调度单元13,以及在步 骤S7向执行环境主管理和同步单元12通知完成了CPU停止。
接下来,执行环境主管理和同步单元12在步骤S8在执行环境管 理单元30处设置执行环境管理单元30在CPU停止后的设置信息,并 在步骤S9向执行环境调度单元13通知该处理的完成。
接下来,执行环境调度单元13在步骤S10更新执行环境信息521 , 并在步骤Sll向AP 8/OS 3通知该请求己完成。
将对主执行环境中的上述CPU停止处理和上下文保存处理(不 具有自动切换功能)所引起的多处理器系统的状态转移进行描述。
图32示出了 SMP OS在由所有CPU构成的一个执行环境下执行 基本处理110的状态,即主执行环境中的CPU停止处理之前的状态; 以及图33示出了 SMP OS在由除了一个CPU之外的所有CPU构成的 一个执行环境下执行基本处理110的*态,即主执行环境中的CPU停 止处理之后的状态。换言之,图32所示的状态转移至图33所示的状 态,在图33所示的状态中预定CPU通过主执行环境中的上述CPU停 止处理而在主执行环境中停止。
(主执行环境中的切换处理(不具有自动切换功能))
图49是用于说明由根据本实施方式的执行环境主控制单元10在
主执行环境中所执行的切换处理(不具有自动切换功能)的图。
参照图49,在由根据本实施方式的执行环境主控制单元10在主 执行环境中所执行的切换处理(不具有自动切换功能)中,执行环境 调度单元13在步骤S1接收来自SP8/OS3的所述请求,在步骤S2读 取RAM 52上的执行环境信息521 ,以及在步骤S3向OS主协作单元 11通知用于切换执行环境的请求和执行环境中所述切换目的地的上下文90,以及向执行环境主管理和同步单元12通知执行环境管理单
元30在切换后的设置信息。
接下来,OS主协作单元11在步骤S4接收来自0S3的处于操作 中的OS 3的上下文90,在步骤S5将OS 3的上述上下文90转移至执 行环境调度单元13,以及在步骤S6向执行环境主管理和同步单元12 通知上下文的保存已完成。
接下来,执行环境主管理和同步单元12在步骤S7在执行环境管 理单元30处设置执行环境管理单元30在切换后的设置信息,并在步 骤S8向执行环境调度单元13通知该处理的完成。
接下来,执行环境调度单元13在步骤S9更新执行环境信息521, 并在步骤S10向AP 8/OS 3通知该请求已完成。
接下来,在步骤Sll,执行环境主管理和同步单元12向执行环境 调度单元13通知该处理的完成,并且在步骤S12, OS主协作单元ll 设置先前接收到的切换目的地的上下文90。
将对主执行环境中的上述切换处理所引起的多处理器系统的状 态转移进行描述(不具有自动切换功能)。
图32示出了 SMP OS在由所有CPU构成的一个执行环境下执行 基本处理110的状态,即主执行环境中的切换处理之前的状态;以及 图34示出了 SMP OS在由除了一个CPU之外的所有CPU构成的一个 执行环境下执行基本处理110、以及OS 3在由剩余一个CPU构成的 执行环境下执行其他处理120的状态,即主执行环境中的切换处理之 后的状态。换言之,图32所示的状态通过主执行环境中的切换处理转 移至图34所示的状态,在图34所示的状态中在主执行环境中执行切 换。
此外,通过相同的方式,执行环境中的上述切换处理导致SMP OS 2在由图35所示的多个CPU构成的一个执行环境下执行基本处理110 的状态,以转移至SMPOS2在由一个CPU构成的一个执行环境下执 行基本处理110和SMP OS 2在图36所示的剩余CPU之外的多个CPU 构成的一个执行环境下执行其他处理120的状态。
此外,通过相同方式,执行环境中的上述切换处理导致SMPOS2在由多个CPU构成的一个执行环境下执行基本处理110、并且SMPOS 2在由图37所示的所有剩余CPU构成的执行环境下执行其他处理120 的状态,以转移至SMP OS 2在由多个CPU构成的执行环境下执行基 本处理110、 SMPOS2在由剩余CPU以外的一个CPU构成的一个执 行环境下执行其他处理120、以及OS 3在由如图38所示的剩余CPU 中的每一个构成的每一个执行环境下执行其他处理120的状态。
(初始状态下主执行环境中的CPU其他处理(不具有自动切换 功能))
图50是用于说明由根据本实施方式的执行环境主控制单元10在 初始状态下在主执行环境中的CPU其他处理(不具有自动切换功能) 的图。
参照图50,在由根据本实施方式的执行环境主控制单元10在初 始状态下在主执行环境中的CPU其他处理(不具有自动切换功能)中, 执行环境调度单元13在步骤SI接收来自AP 8/OS 3的所述请求,在 步骤S2读取RAM 52上的执行环境信息521,以及在步骤S3向OS 主协作单元11通知用于在相关执行环境以外追加CPU的请求,并向 执行环境主管理和同步单元12通知执行环境管理单元30在CPU追加 后的设置信息。
接下来,OS主协作单元11在步骤S4在执行环境管理单元30设 置执行环境管理单元30在CPU停止后的设置信息,并在步骤S5向执 行环境调度单元13通知该处理已完成。
接下来,执行环境调度单元13在步骤S6更新更新执行环境信息 521,并在步骤S7向AP8/OS3通知该请求已完成。
接下来,在步骤S8,执行环境主管理和同步单元12向OS主协 作单元11通知执行环境管理单元30的设置已完成。
接下来,OS主协作单元11在步骤S9请求OS 3追加上述CPU, 并在步骤S10接收来自OS3的关于上述CPU的追加已经完成的通知 (近似于电源管理中的CPU关机处理)。
(具有上下文设置处理的主执行环境中的CPU其他处理(不具 有自动切换功能))图51是用于说明由根据本实施方式的执行环境主控制单元10在
具有上下文设置处理的主执行环境中的CPU其他处理(不具有自动切
换功能)的图。
参照图51,在由根据本实施方式的执行环境主控制单元10在具 有上下文设置处理的主执行环境中所执行的CPU其他处理(不具有自 动切换功能)中,执行环境调度单元13在步骤Sl接收来自AP8/OS 3 的所述请求,在步骤S2读取RAM52上的执行环境信息521,以及在 步骤S3向OS主协作单元11通知用于在执行环境之外追加所述CPU 的请求和前一个上下文90,并向执行环境主管理和同步单元12通知 执行环境管理单元30在CPU追加后的设置信息。
接下来,执行环境主管理和同步单元12在步骤S4执行环境管理 单元30处设置执行环境管理单元30在CPU停止后的设置信息,并在 步骤S5向执行环境调度单元13通知该处理己完成。
接下来,执行环境调度单元!3在步骤S6更新执行环境信息521 , 并在步骤S7通知AP 8/OS 3该请求已完成。
接下来,执行环境主管理和同步单元12在步骤S8通知OS主协 作单元11完成了执行环境管理单元30的设置。
接下来,OS主协作单元11在步骤S9请求OS 3追加上述CPU 和前一个上下文设置,并在步骤S10接收来自OS3的CPU追加已完 成的通知(近似于电源管理中的CPU恢复处理)。
接下来,将对根据本实施方式的执行环境主控制单元10协同执 行环境子控制单元20所执行的操作进行详细描述。
将对具有上下文设置处理的主执行环境中的上述CPU其他处理 (不具有自动切换功能)所引起的多处理器系统的状态转移进行描述。
图39示出了 SMPOS在由一个CPU构成的一个执行环境下执行 基本处理110、同时剩余CPU停止的状态,即上述CPU其他处理之 前的状态;以及图40示出了 SMPOS在由多个CPU构成的一个执行 环境下执行基本处理110、同时剩余CPU停止的状态,即上述CPU 其他处理之后的状态。换言之,图39所示的状态通过CPU其他处理 转移至图40所示的状态,在图40所示的状态中在主执行环境中追加了 CPU。
(关于另一个CPU的OS停止处理(不具有自动切换功能))
图52是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20对于另一个CPU所执行的OS停止处理(不 具有自动切换功能)的图。
参照图52,在由根据本实施方式的执行环境主控制单元10和执 行环境子控制单元20对于另一个CPU所执行的OS停止处理(不具 有自动切换功能)中,执行环境调度单元13在步骤SI接收来自AP 8/OS3的所述请求,在步骤S2读取RAM52上的执行环境信息521, 以及在步骤S3向OS主协作单元11通知用于停止另一 CPU上的执行 环境中的OS的请求,以及向执行环境主管理和同步单元12通知执行 环境管理单元30在OS停止后的设置信息。
接下来,OS主协作单元11在步骤S4向另一个CPU上的OS子 协作单元21通知OS停止请求,并在步骤S5向执行环境主管理和同 步单元12通知等待CPU停止完成。
接下来,已经接收到该通知的OS子协作单元21在步骤S6请求 OS 3停止CPU,在步骤S7接收来自OS3的关于上述CPU停止已经 完成的通知(近似于电源管理中的CPU关机处理),并在步骤S8向执 行环境子管理和同步单元22通知OS停止已完成。
接下来,执行环境子管理和同步单元22在步骤S9向执行环境主 管理和同步单元12通知CPU停止已完成。
接下来,执行环境主管理和同步单元12在步骤S10在执行环境 管理单元30处设置执行环境管理单元30在CPU停止后的设置信息, 并在步骤Sll向执行环境调度单元13通知该处理已完成。
接下来,执行环境调度单元13在步骤S12更新执行环境信息521 , 并在步骤S13向AP 8/OS 3通知该请求己完成。
接下来,执行环境主管理和同步单元12在步骤S8向OS主协作 单元11通知执行环境管理单元30的设置已完成。
接下来,OS主协作单元11在步骤S9向OS 3请求上述CPU追 加和前一个上下文设置,并接收来自OS3的关于上述CPU追加己完成的通知(近似于电源管理中的CPU关机处理)。
(另一个CPU上的OS停止处理和上下文保存处理(不具有自动
切换功能))
图53是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20对于另一个CPU所执行的OS停止处理和上 下文保存处理(不具有自动切换功能)的图。
参照图53,在由根据第一实施方式的执行环境主控制单元10和 执行环境子控制单元20对于另一个CPU所执行的OS停止处理和上 下文保存处理(不具有自动切换功能)中,执行环境调度单元13在步 骤SI接收来自AP 8/OS 3的所述请求,在步骤S2读取RAM 52上的 执行环境信息521,以及在步骤S3向OS主协作单元11通知用于停 止另一CPU上的执行环境中的OS的请求,以及向执行环境主管理和 同步单元12通知执行环境管理单元30在OS停止后的设置信息。
接下来,OS主协作单元11在步骤S4向另一个CPU上的OS子 协作单元21通知OS停止请求,并在步骤S5向执行环境主管理和同 步单元12通知等待CPU停止完成。
接下来,已经接收到该通知的OS子协作单元21在步骤S6请求 OS 3停止CPU并保存上下文,在步骤S7接收来自OS 3的关于上述 CPU停止已经完成的通知和OS3的上下文90 (近似于电源管理中的 CPU挂起处理),并在步骤S8将OS 3的上下文90发送至OS主协作 单元ll。
接下来,OS主协作单元11在步骤S9将OS 3的上下文90转移 至执行环境调度单元B。
接下来,OS子协作单元21在步骤S10向执行环境子管理和同步 单元22通知OS停止的完成。
接下来,在步骤Sll,执行环境子管理和同步单元22向执行环境 主管理和同步单元12通知CPU停止已完成。
接下来,执行环境主管理和同步单元12在步骤S12在执行环境 管理单元30设置执行环境管理单元30在OS停止后的设置信息,并 在步骤S13向执行环境调度单元13通知该处理已完成。接下来,执行环境调度单元13在步骤S14更新执行环境信息521 , 并在步骤S15向AP8/OS3通知该请求已完成。
将对通过另一个CPU上的OS停止处理和上下文保存处理(不具 有自动切换功能),的多处理器系统的状态转移进行描述。
图35示出了 SMPOS在由多个CPU构成的一个执行环境下执行 基本处理110、并且OS在由一个CPU构成的另一个执行环境下执行 其他处理120的状态,即OS停止处理之前的状态;以及图41示出了 SMPOS在由多个CPU构成的一个执行环境下执行基本处理110、并 且OS在由一个CPU构成的另一个执行环境下执行其他处理120的状 态,即OS停止处理之后的状态。换言之,图35所示的状态通过OS 停止处理转移至图41所示的状态,在图41所述的状态中另一个CPU 上的OS3停止。
(另一个CPU上的执行环境切换处理(不具有自动切换功能))
图54是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20对于另一个CPU所执行的执行环境切换处理 (不具有自动切换功能)的图。
参照图54,在由根据第一实施方式的执行环境主控制单元10和 执行环境子控制单元20对于另一个CPU所执行的执行环境切换处理 (不具有自动切换功能)中,执行环境调度单元13在步骤S1接收来 自AP8/OS 3的所述请求,在步骤S2读取RAM 52上的执行环境信息 521,以及在步骤S3向OS主协作单元11通知用于另一个CPU上的 执行环境的执行环境切换的请求和切换目的地的上下文90,以及向执 行环境主管理和同步单元12通知执行环境管理单元30在切换后的设 置信息。
接下来,OS主协作单元11在步骤S4向另一个CPU上的OS子 协作单元21通知执行环境切换请求和切换目的地的上下文90,并在 步骤S5向执行环境主管理和同步单元12通知等待执行环境切换的完 成。
接下来,己经接收到该通知的OS子协作单元21在步骤S6接受 处于操作中的OS 3的上下文90,并在步骤S7将OS 3的上下文90发送至OS主协作单元11。
接下来,OS主协作单元11在步骤S8将OS 3的上下文90转移 至执行环境调度单元13。
接下来,在步骤S9, OS子协作单元21向执行环境子管理和同步 单元22通知上下文提取己完成。
接下来,在步骤SIO,执行环境子管理和同步单元22向执行环境 主管理和同步单元12通知该上下文提取已完成。
接下来,执行环境主管理和同步单元12在步骤Sll在执行环境 管理单元30处设置执行环境管理单元30在CPU停止后的设置信息, 并在步骤S12向执行环境调度单元13通知该处理己完成。
接下来,执行环境调度单元13在步骤S13更新执行环境信息521 , 并在步骤S14向AP 8/OS 3通知该请求已完成接下来,执行环境主管理和同步单元12在步骤S15向执行环境 子管理和同步单元22通知执行环境管理单元30的设置已完成。
接下来,执行环境子管理和同步单元22在步骤S16向OS子协作 单元21通知该设置的完成。
接下来,OS子协作单元21在步骤S17设置切换目的地的先前接 收到的上下文90。
在执行如图54所示的切换处連时,首先执行如图53所示的另一 个CPU上的OS停止处理和上下文保存处理,然后重新设置另一个 CPU或者关掉电源。接下来,通过重新设置-释放或上电将另一个CPU 从清零状态重新启动,将另一个CPU上的OS子协作单元从清零状态 启动。其后,通过执行如图56所示的在具有上下文设置处理的另一个 CPU上的OS启动处理,即使在所述另一个CPU上的OS子协作单元 由于病毒等的影响而无法正常操作时,通过重新设置和断电能够再次 启动正常状态下的OS子协作单元,从而使得能够在另一个CPU上实 现及其稳定且安全的执行环境切换处理,尽管转移需要花费时间。
将对另一个CPU上的上述执行环境切换处理(不具有自动切换 功能)所引起的多处理器系统的状态转移进行描述。
图42示出了 SMPOS在由一个CPU构成的一个执行环境下执行基本处理110、并且每一个OS在由剩余CPU中的每一个构成的每一 个执行环境下执行其他处理120的状态,即上述执行环境切换处理之 前的状态;以及图43示出了 SMPOS在一个CPU构成的一个执行环 境下执行基本处理110的状态、SMP OS在剩余各个CPU中的多个 CPU构成的一个执行环境下执行其他处理120、以及每一个OS在由 剩余CPU中的每一个构成的每一个执行环境下执行其他处理120的状 态,即上述执行环境切换处理之后的状态。换言之,图42所示的状态 通过执行环境切换处理转移至图43所示的状态,在图43所示的状态 中在另一个CPU上的执行环境中执行切换。
此外,利用相同的方法,图43所示的状态通过上述执行环境切 换处理转移至图44所示的状态,在该状态中,SMP OS 2在由一个CPU 构成的一个执行环境下执行基本处理110、 SMP OS 2在由剩余各个 CPU中的多个CPU构成的一个执行环境下执行其他处理120、以及 SMP OS 2在所有剩余CPU构成的一个执行环境下执行其他处理120。 (初始状态下在另一个CPU上的OS启动处理(不具有自动切换 功能))
图55是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20在初始状态下对于另一个CPU所执行的OS 启动处理(不具有自动切换功能)的图。
参照图55,在由根据本实施方式的执行环境主控制单元10和执 行环境子控制单元20在初始状态下对于另一个CPU所执行的OS启 动处理(不具有自动切换功能)中,执行环境调度单元13在步骤SI 接收来自AP 8/OS 3的所述请求,在步骤S2读取RAM 52上的执行环 境信息521 ,以及在步骤S3向OS主协作单元11通知所述另一个CPU 的CPU启动请求,以及向执行环境主管理和同步单元12通知执行环 境管理单元30在CPU停止后的设置信息。
接下来,执行环境主管理和同步单元12在步骤S4在执行环境管 理单元30处设置执行环境管理单元30在CPU停止后的设置信息,并 在步骤S5向执行环境谡度单元13通知该处理的完成。
接下来,执行环^"違度单元13在步骤S6更新执行环境信息521 ,并在步骤S7向AP 8/OS 3通知该请求的完成。
接下来,执行环境主管理和同步单元12在步骤S8向OS主协作 单元11通知该设置的完成。
接下来,OS主协作单元ll在步骤S9向另一个CPU上的OS子 协作单元21请求启动CPU。
接下来,OS子协作单元21在步骤S10启动该CPU (近似于电源 管理中的CPU上电处理)。
(在具有上下文设置处理的另一个CPU上的OS启动处理(不具 有自动切换功能)、)
图56是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20对于具有上下文设置处理的另一个CPU所执 行的OS启动处理(不具有自动切换功能)的图。
参照图56,在由根据本实施方式的执行环境主控制单元10和执 行环境子控制单元20对于具有上下文设置处理的另一个CPU所执行 的OS启动处理(不具有自动切换功能)中,执行环境调度单元13在 步骤Sl接收来自AP 8/OS 3的所述请求,在步骤S2读取RAM 52上 的执行环境信息521,以及在步骤S3向OS主协作单元11通知用于 在执行环境之外追加所述CPU的请求和前一个上下文90,以及向执 行环境主管理和同步单元12通知执行环境管理单元30在CPU追加后 的设置信息。
接下来,执行环境主管理和同步单元12在步骤S4在执行环境管 理单元30处设置执行环境管理单元30在CPU停止后的设置信息,并 在步骤S5向执行环境调度单元13通知该处理的完成。
接下来,执行环境调度单元13在步骤S6更新执行环境信息521, 并在步骤S7向AP 8/OS 3通知该请求的完成。
接下来,执行环境主管理和同步单元12在步骤S8向OS主协作 单元11通知对执行环境管理单元30的设置己完成。
接下来,OS主协作单元11在步骤S9向另一个CPU上的OS子 协作单元21请求CPU启动和前一个上下文设置。
接下来,OS子协作单元21在歩暴S10启动该CPU并设置上下文(近似于电源管理中的CPU恢复处理)。
将对具有上下文设置处理的另一个CPU上的OS启动处理(不具
有自动切换功能)所引起的多处理器系统的状态转移进行描述。
图41示出了 SMPOS在由多个CPU构成的一个执行环境下执行 基本处理110、并且OS在由一个CPU构成的另一个执行环境下执行 其他处理120的状态,即OS启动处理之前的状态;以及图35示出了 SMP OS在由多个CPU构成的一个执行环境下执行基本处理110、并 且OS在由一个CPU构成的另一个执行环境下执行其他处理120的状 态,即OS启动处理之后的状态。换言之,图41所示的状态通过OS 启动处理转移至图35所示的状态,在图35所述的状态中另一个CPU 上的OS3启动。
(从执行环境子控制单元20的切换处理(不具有自动切换功能))
图57是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20所执行的从执行环境子控制单元的切换处理 (不具有自动切换功能)的图。
参照图57,在由根据本实施方式的执行环境主控制单元10和执 行环境子控制单元20所执行的从执行环境子控制单元20的切换处理 (不具有自动切换功能)中,OS子协作单元21在步骤Sl接收来自 OS 3的所述请求,并在步骤S2向OS主协作单元11通知该请求。
接下来,OS主协作单元11在步骤S3向执行环境调度单元13通 知该请求。
(另一个CPU上的执行环境子控制单元停止处理(不具有自动 切换功能))
图58是用于说明由根据本实施方式的执行环境主控制单元10对 于另一个CPU所执行的执行环境子控制单元停止处理(不具有自动切 换功能)的图。
参照图58,在由根据本实施方式的执行环境主控制单元10对于 另一个CPU所执行的执行环境子控制单元停止处理(不具有自动切换 功能)中,执行环境调度单元13在步骤Sl接收来自AP8/OS3的所 述请求,在步骤S2读取RAM52上的执行环境信息521,以及在步骤S3向OS主协作单元11通知用于停止另一个CPU上的执行环境中的 执行环境子控制单元的请求,以及向执行环境主管理和同步单元12 通知执行环境管理单元30在执行环境子控制单元停止后的设置信息。 接下来,OS主协作单元11在步骤S4请求执行环境主管理和同 步单元12在执行环境子控制单元停止后对执行环境管理单元30进行 设置。
接下来,在步骤S5,执行环境主管理和同步单元12在执行环境 管理单元30设置执行环境管理单元30在执行环境子控制单元停止后 的设置信息,并在步骤S6,向执行环境调度单元13通知该处理的完 成。
接下来,执行环境调度单元13在步骤S7更新执行环境信息521, 并在步骤S8向AP 8/OS 3通知该请求的完成。
接下来,执行环境主管理和同步单元12向OS主协作单元11通 知己完成了对执行环境管理单元30的设置,因而OS主协作单元11 在步骤S9停止所述CPU。
将对由另一个CPU上的执行环境子控制单元停止处理(不具有 自动切换功能)所引起的多处理器系统的状态转移进行描述。
图41示出了 SMPOS在由多个CPU构成的一个执行环境下执行 基本处理110、并且在由剩余CPU中的每一个构成的每一个执行环境 下设置执行环境子控制单元的状态,执行环境子控制单元停止处理之 前的状态;以及图45示出了 SMPOS在由多个CPU构成的一个执行 环境下执行基本处理110、所设置的执行环境子控制单元在由剩余 CPU之外的一个CPU构成的一个执行环境下停止的状态,即执行环 境子控制单元停止处理之后的状态。换言之,图41所示的状态通过执 行环境子控制单元停止处理转移至图45所示的状态,在图45所示的 状态下,停止另一个CPU上的执行环境子控制单元20。
此外,利用相同的方式,通过执行环境子控制单元停止处理,图 45所示的状态转移至图46所示的状态,在图46所示的状态下,SMP OS 2在由多个CPU构成的一个执行环境下执行基本处理110,并fim 行环境子控制单元20在剩余CPU中的每一个构成的每一个执行环境下停止。
(另一个CPU上的执行环境子控制单元启动处理(不具有自动 切换功能))
图59是用于说明由根据本实施方式的执行环境主控制单元10对 于另一个CPU所执行的执行环境子控制单元启动处理(不具有自动切
换功能)的图。
参照图59,在由根据本实施方式的执行环境主控制单元10对于 另一个CPU所执行的执行环境子控制单元启动处理(不具有自动切换 功能)中,执行环境调度单元13在步骤S1接收来自SP8/0S3的所 述请求,在步骤S2读取RAM52上的执行环境信息521,以及在步骤 S3向OS主协作单元11通知用于启动另一个CPU上的执行环境中的 执行环境子控制单元的请求,以及向执行环境主管理和同步单元12 通知执行环境管理单元30在执行环境子控制单元启动后的设置信息。
接下来,在步骤S4, OS主协作单元ll请求执行环境主管理和同 步单元12在执行环境子控制单元启动后对执行环境管理单元30进行 设置。
接下来,在步骤S5,执行环境主管理和同步单元12在执行环境 管理单元30处设置执行环境管理单元30在执行环境子控制单元启动 后的设置信息,并在步骤S6向执行环境调度单元13通知该处理的完 成。
接下来,执行环境调度单元13在步骤S7更新执行环境信息521 , 并在步骤S8向AP 8/OS 3通知该请求的完成。
接下来,在步骤S9,执行环境主管理和同步单元12向OS主协 作单元11通知对执行环境管理单元30的设置已完成,从而OS主协 作单元11释放所述CPU的停止状态。
将对另一个CPU上的执行环境子控制单元启动处理(不具有自 动切换功能)所引起的多处理器系统的状态转移进行描述。
图45示出了 SMP OS在由多个CPU构成的一个执行环境下执行 基本处理110、在由一个CPU之外的剩余CPU中的每一个构成的每 一个执行环境下设置执行环境子控制单元的状态,即执行环境子控制单元启动处理之前的状态;以及图41示出了 SMP OS在由多个CPU 构成的一个执行环境下执行基本处理110、并且在由剩余CPU中的每 一个构成的每一个执行环境下设置执行环境子控制单元的状态,即执 行环境子控制单元启动处理之后的状态。换言之,图45所示的状态通 过执行环境子控制单元启动处理转移至图41所示的状态,在图41所 示的状态下,启动另一个CPU上的执行环境子控制单元20。 (第一实施方式的效果)
根据本实施方式,能够建立执行环境100,该执行环境100的稳 定性或安全性级别随多处理器系统上所执行的每一个处理而改变。
例如,在执行应用8的基本处理(基本处理110)和要连同基本 处理110 —起执行、并任意追加或删除的伴随处理(其他处理120) 的情况下,能够在考虑执行基本处理110的执行环境100-0和执行其 他处理120的执行环境100-n的稳定性或安全性级别(提高针对基本 处理110的执行环境100-0的稳定性和安全性级别)的同时建立多处 理器系统。
理由在于根据要在多处理鲁系统上执行的处理来形成至少一个 安装有多个CPU 4和多个要在CPU 4上执行的OS 3、并具有CPU 4 和OS3的组合的执行环境。
此外,本实施方式能够加速处理。
理由在于由于执行环境主控制单元10、执行环境子控制单元 20和执行环境管理单元30彼此协同操作,因而消除了需要虚拟机来 使得应用8能够直接操作于CPU 4。
此外,根据本实施方式,能够减轻CPU的处理负载。
理由在于能够根据要在多处理器系统上执行的处理变化地形成 组合了 CPU 4和OS 3的执行环境。
此外,由于本实施方式使得甚至在SMPOS环境下也能够产生针 对其他处理的执行环境,因而提高基本处理的稳定性或安全性级别, 以使得针对其他处理120的执行环境100直接操作在CPU 4上,这样 能够以及其高的速度处理基本处理110和其他处理120。 (第二实施方式)(第二实施方式的构成)
将(a)基于CPU和(b)基于执行环境来详细描述根据本发明的 第二实施方式的执行环境管理单元30的构成。根据本实施方式的执行 环境管理单元30与第一实施方式的不同之处在于其具有自动切换 CPU4或执行环境100的自动切换功能。相应地,将主要描述本实施 方式与第一实施方式的区别。 ((A) CPU场合)
图60至图64是用于基于CPU来说明根据本实施方式的执行环 境管理单元30的构成的框图。
图60是用于基于CPU来说明根据本实施方式的执行环境管理单 元30的构成的框图。参照图60,根据本实施方式的执行环境管理单 元30与根据第一实施方式的执行环境管理单元30的不同之处在于根 据本实施方式的执行环境管理单元30还包括自动CPU切换单元33, 连接至外围总线和CPU管理数据存储装置32;以及自动CPU切换数 据存储装置34,连接至系统总线、CPU管理数据存储装置32和自动 CPU切换单元33。相应地,将主要就与第一实施方式的区别进行描述。
自动CPU切换单元33具有下列功能当CPU过滤单元31通过 系统总线接收到来自某一CPU 4的访问请求时,基于从自动CPU切 换数据存储装置34读取的自动CPU切换数据341 (稍后将进行描述) 来确定该访问请求是否为作为请求切换控制的条件的切换触发;以及 对于自动CPU切换数据341等的触发条件相对应实体进行更新。
自动CPU切换数据存储装置34具有下列功能存储自动CPU切 换数据341,以执行对自动CPU切换数据341的更新请求。
图61是用于说明根据本实施方式的自动CPU切换数据的构成的 图。参照图61,关于CPU 4-0 4-n中的每一个,自动CPU切换数据 341由触发条件、要在切换后分配的存储区域的起始点和终点、和表 示要在切换后许可的处理、读处理(R)或写处理(W)的许可比特 的实体构成。
接下来,将基于CPU对根据本实施方式的执行环境管理单元30 的功能进行描述。(数据更新功能)
图62是用于说明根据本实施方式的执行环境管理单元30的数据 更新功能的图。参照图62,在步骤S1中,执行环境管理单元30的数 据更新功能更新CPU管理数据321。基本上,只许可正在执行基本处 理的CPU访问CPU管理数据321。关于预定实体,许可正在执行其 他处理的CPU访问CPU管理数据321。 (读(R)访问中的自动切换功能)
图63是用于说明根据本实施方式的执行环境管理单元30在读 (R)访问中的自动切换功能的图。
参照图63,在根据本实施方式的执行环境管理单元30在读(R) 访问中的自动切换功能中,CPU过滤单元31在步骤S1接受来自任意 CPU的读访问,以及在步骤S2读取CPU管理数据321。此外,在步 骤S2,自动CPU切换单元33读取自动CPU切换数据341 。
随后,在步骤S3, CPU过滤单元31基于所读取的CPU管理数 据321来确定是否许可所接受的读访问,并许可所接受的读访问,以 及自动CPU切换单元33认识到所接受的读访问为切换触发。
随后,在步骤S4, CPU过滤单元31接受对读访问的响应,以及 自动CPU切换单元33认识到读访问已完成。
接下来,在步骤S5, CPU过滤单元31将对读访问的响应返回给 CPU,在步骤S6,自动CPU切换单元33更新与触发条件相对应的 CPU管理数据321的实体。
(写(W)访问中的自动切换功能)
图64是用于说明根据本实施方式的执行环境管理单元30在写 (W)访问中的自动切换功能的图。
参照图64,在根据本实施方式的执行环境管理单元30在写(W) 访问中的自动切换功能中,CPU过滤单元31在步骤S1接受来自任意 CPU的写访问,以及在步骤S2读取CPU管理数据321。此外,在步 骤S2,自动CPU切换单元33读取自动CPU切换数据341 。
随后,在步骤S3, CPU过滤单元31基于所读取的CPU管理数 据321来确定是否许可所接受的写访问,并许可所接受的写访问,以及自动CPU切换单元33认识到所接受的写访问为切换触发。
随后,在步骤S4,自动CPU切换单元33更新与触发条件相对应
的自动CPU管理数据321的实体。
图65示出了根据本实施方式的CPU管理数据存储装置32在切
换后的构成。
((B)执行环境场合)
图66至图71是用于基于执行环境来说明根据本实施方式的执行 环境管理单元30的构成的框图。
图66是用于基于执行环境来说明根据本实施方式的执行环境管 理单元30的构成的框图。参照图66,根据本实施方式的执行环境管 理单元30与根据第一实施方式的执行环境管理单元30的不同之处在 于根据本实施方式的执行环境管理单元30还包括自动执行环境切换 单元37,连接至外围总线和执行环境管理数据存储装置36;以及自动 执行环境切换数据存储装置38,连接至系统总线、执行环境管理数据 存储装置36和自动执行环境切换单元37。相应地,将主要描述本实 施方式与第一实施方式的区别。
自动执行环境切换单元37具有下列功能在执行环境过滤单元 35通过系统总线接收到来自某一 CPU 4的访问请求时,基于从自动执 行环境切换数据存储装置38读取的自动执行环境切换数据381 (稍后 将进行描述)来确定该访问请求是否为作为请求切换控制的条件的切 换触发;以及对与触发条件等相对应的自动执行环境切换数据381的 实体进行更新。
自动执行环境切换数据存储装置38具有下列功能存储自动执 行环境切换数据381,以执行更新自动执行环境切换数据381的请求。
图67是用于说明根据本实施方式的自动执行环境切换数据381 的构成的图。参照图67,关于CPU4-0 4-n中的每一个,自动执行环 境切换数据381由触发条件和彼此相互关联的执行环境序号所指示的 执行环境的实体构成。更具体地,执行环境100-0与CPU 4-0~4-2相 互关装,没有执行环境与CPU 4-3相互关联,执行环境100-2与CPU 44相互关联。接下来,将基于执行环境来描述根据本实施方式的执行环境管理 单元30的功能。
(数据更新功能)
图68是用于说明根据本实施方式的执行环境管理单元30的数据 更新功能的图。
参照图68,根据本实施方式的执行环境管理单元30的数据更新 功能在步骤S1更新自动执行环境切换数据381。基本上,只许可正在 执行基本处理的CPU访问自动执行环境切换数据381 。关于预定实体, 许可正在执行其他处理的CPU访问自动执行环境切换数据381。 (读(R)访问中的自动切换功能)
图69是用于说明根据本实施方式的执行环境管理单元30在读 (R)访问中的自动切换功能的图。
参照图69,在根据本实施方式的执行环境管理单元30在读访问 中的自动切换功能中,执行环境过滤单元35在步骤Sl接受来自任意 CPU的读访问,以及在S2读取执行环境管理数据361。此外,在 步骤S2,自动执行环境切换单元37读取自动执行环境切换数据381。
随后,在步骤S3,执行环境过滤单元35基于所读取的执行环境 管理数据361来确定是否许可所接受的读访问,并许可所接受的读访 问,以及自动执行环境切换单元37认识到所接受的读访问为切换触发。
随后,在步骤S4,执行环境d:滤单元35接受对读访问的响应, 以及自动执行环境切换单元37认识到读访问已完成。
接下来,在步骤S5,执行环境过滤单元35将对读访问的响应返 回给CPU,在步骤S6,自动执行环境切换单元37更新与触发条件相 对应的执行环境管理数据361的实体。 (写(W)访问中的自动切换功能)
图70是用于说明根据本实施方式的执行环境管理单元30在写 (W)访问中的自动切换功能的图。
参照图70,在根据本实施方式的执行环境管理单元30在写(W) 访问中的自动切换功能中,执行环境过滤单元35在步骤S1接受来自任意CPU的写访问,以及在步骤S2读取执行环境管理数据361。此 外,在步骤S2,自动执行环境切换单元37读取自动执行环境切换数 据381。
随后,在步骤S3,执行环境过滤单元35基于所读取的执行环境 管理数据361来确定是否许可所接受的写访问,并许可所接受的写访 问,以及自动执行环境切换单元37认识到所接受的写访问为切换触 发。
随后,在步骤S4,自动执行环境切换单元37更新与触发条件相 对应的执行环境管理数据361的实体。
图71是用于说明根据本实施方式的执行环境切换功能(不具有 自动切换功能)的图。
参照图71,在执行环境管理单元30具有自动切换功能的本实施 方式中,在没有将执行环境主控制单元10与执行环境子控制单元20 同步的情况下,执行环境主控制单元IO使得处理继续,并且执行环境 子控制单元20切换执行环境。 (第二实施方式的操作)
将对根据本实施方式的执行环境主控制单元10协同执行环境子 控制单元20所执行的操作进行详细描述。
(另一个CPU上的执行环境切换处理(具有自动切换功能))
图72是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20对于另一个CPU所执行的执行环境切换处理
(具有自动切换功能)的图。
参照图72,在由根据本实施方式的执行环境主控制单元IO和执 行环境子控制单元20对于另一个CPU所执行的执行环境切换处理(具 有自动切换功能)中,执行环境调度单元13在步骤Sl接收来自AP 8/OS3的所述请求,在步骤S2读取RAM52上的执行环境信息521, 以及在步骤S3向OS主协作单元11通知用于另一个CPU上的执行环 境中的执行环境切换的请求和切换目的地的上下文90,以及向执行环 境主管理和同步单元12通知执行环境管理单元30在切换后的设置信 息。接下来,OS主协作单元11在步骤S4向另一个CPU上的OS子 协作单元21通知执行环境切换请求和切换目的地的上下文90。
接下来,已经接收到该通知的OS子协作单元21在步骤S5接收 来自OS 3的处于操作中的OS 3的上下文卯,并在步骤S6将OS 3 的上下文90发送至OS主协作单元11 。
接下来,OS主协作单元11在步骤S7将OS 3的上下文90转移 至执行环境调度单元13。
接下来,执行环境调度单元13在步骤S8更新执行环境信息521 , 并在在步骤S9向AP 8/OS 3通知该请求已完成。
接下来,OS子协作单元21在步骤S10设置切换目的地的先前接 收到的上下文90。
图73示出了根据本实施方式的多处理器系统在切换后的构成。
尽管本实施方式中的切换触发是基于通过系统总线从某一个 CPU4接收到的访问请求是否满足触发条件来确定的,然而该确定也 可以基于不小于阈值的预定时间或CPU负载等是否满足触发条件来 进行,而不局限于访问请求,由此能够自动请求对应的预定切换控制。 (第二实施方式的效果)
根据本实施方式,由于执行环境管理单元30包括自动CPU切换 单元33 ,在CPU过滤单元31通过系统总线接收到来自某一个CPU 4 的访问请求时,自动CPU切换单元33基于从自动CPU切换数据存储 装置34读取的自动CPU切换数据341 (稍后将进行描述)来确定该 访问请求是否为作为用于请求切换控制的条件的切换触发,以及当该 请求为切换触发时,自动请求切换控制,能够减轻执行环境主控制单 元10的负载。
此外,根据本实施方式,由于不小于预订阈值的预定时间、CPU 负载等(不局限于访问请求)满足触发条件,因而自动请求对应的预 定切换控制,启用更多不同的切换控制。
(第三实施方式)
(第三实施方式的构成)
图74是示出了根据本发明的第三实施方式的执行环境子控制单元20的构成的框图。参照图74,根据本实施方式的执行环境子控制 单元20与根据第一实施方式的执行环境子控制单元20的构成的不同 之处在于根据本实施方式的执行环境子控制单元20还包括同一执行 环境调度单元23,具有与执行环境调度单元13相同的功能(调度功 能),并且连接至AP8/OS3、 RAM、 OS子协作单元21和执行环境子 管理和同步单元22。相应地,将主要描述本实施方式与第一实施方式 的区别。
(第三实施方式的操作)
(同一可靠性(安全性级别)执行环境切换处理(不具有自动切 换功能))
图75是用于说明由根据本实施方式的执行环境子控制单元20所 执行的同一可靠性执行环境切换处理(不具有自动切换功能)的图。
参照图75,在由根据本实施方式的执行环境子控制单元20所执 行的同一可靠性执行环境切换处理(不具有自动切换功能)中,同一 执行环境调度单元23在步骤Sl接收来自AP 8/OS 3的所述请求,在 步骤S2读取RAM 52上的执行环境信息521,以及在步骤S3向OS 子协作单元21通知用于切换执行环境的请求和所述执行环境中的切 换目的地的上下文卯,以及向执行环境子管理和同步单元22通知执 行环境管理单元30在切换后的设置信息。
接下来,OS子协作单元21在步骤S4接收来自OS 3的处于操作 中的OS 3的上下文90,在步骤S5将OS 3的上下文卯发送至同一执 行环境调度单元23,以及在步骤S6向执行环境子管理和同步单元22 通知上下文90的保存己完成。
接下来,执行环境子管理和同步单元22在步骤S9在执行环境管 理单元30设置执行环境管理单元30在切换后的设置信息,并在步骤 S8向同一执行环境调度单元23通知该处理己完成。
接下来,同一执行环境调度单元23在步骤S9更新执行环境信息 521,并在步骤S10向AP8/OS3通知该请求的完成。
接下来,执行环境子管理和同步单元22在步骤SIi向OS子协作 单元21通知该处理已完成,OS子协作单元21在步骤S12设置切换目的地的先前接收到的上下文90。
图76是用于说明由根据本实施方式的执行环境主控制单元10和 执行环境子控制单元20所执行的从同一执行环境调度单元的切换处 理(不具有自动切换功能)的图。
参照图76,在由根据本实施方式的执行环境主控制单元10和执 行环境子控制单元20所执行的从同一执行环境调度单元的切换处理 (不具有自动切换功能)中,同一执行环境调度单元23在步骤S1接 收来自AP 8/OS 3的所述请求,在步骤S2读取RAM 52上的执行环境 信息521,以及在步骤S3确定其自身没有启用任何调度,以向OS子 协作单元21通知该请求。
接下来,OS子协作单元21在步骤S5向OS主协作单元11通知 所述请求,OS主协作单元11向执行环境调度单元13通知该请求。
接下来,执行环境子管理和同步单元22在步骤S7在执行环境管 理单元30设置执行环境管理单元30在切换后的设置信息,并在步骤 S8向同一执行环境调度单元23通知该处理的完成。
接下来,同一执行环境调度单元23在步骤S9更新执行环境信息 521,并在步骤S10向AP8/OS3通知该请求的完成。
接下来,执行环境子管理和同步单元22在步骤Sll向OS子协作 单元21通知该处理的完成,并在步骤S12设置切换目的地的先前接 收到的上下文90。
(第三实施方式的效果)
根据本实施方式,由于执行环境子控制单元20包括同一执行环 境调度单元23,该同一执行环境调度单元23具有与执行环境调度单 元13相同的功能(调度功能),因而不但许可包括执行环境调度单元 13的执行环境主控制单元10而且也许可执行环境子控制单元20单独 产生给其他执行环境子控制单元20的执行环境切换控制指令。
此外,根据本实施方式,由于fe允许执行环境子控制单元20单 独产生给其他执行环境子控制单元20的执行环境切换控制指令,因而 可以减轻执行环境主控制单元10上的处理负载,从而减速处理,并且 进一步提高执行环境主控制单元10的稳定性和安全性级别。(第四实施方式)
图77是示出了根据本发明的第四实施方式的多处理器系统的构
成的框图.
参照图77,根据本实施方式的多处理器系统的构成与如图2所示 的根据第一实施方式的多处理器系统的构成的不同之处在于根据本实 施方式的多处理器系统具有执行环境子控制单元20,该执行环境子控 制单元20不仅连接至CPU4-l 4-n,而且还连接至CPU 4-0。相应地, 根据本实施方式的多处理器系统与第一实施方式的不同之处在于执 行环境主控制单元10操作于其上的CPU 4不是固定的,而是许可该 CPU移至执行环境主控制单元10所追加的任意CPU 4。 (第五实施方式)
图78和图79是示出了根据本发明的第五实施方式的多处理器系 统的一部分构成的框图。
参照图78和图79,根据本实施方式的多处理器系统与根据第一 至第四实施方式的多处理器系统的不同之处在于CPU 4包括用户监 视者41模式、超级监视者42模式和存储装置管理单元43,超级监视 者42模式的优先级比用户监视者的'嵩。
本实施方式启用如图78所示的状态,在图78所示的状态中,由 CPU 4上的执行环境主控制单元10控制SMP OS 2来执行基本处理 110,以转移至如图79所示的状态,在图79所示的状态中,由CPU4 上的执行环境子控制单元20控制OS 3来执行其他处理120。 (第六实施方式)
图80是示出了根据本发明的第六实施方式的多处理器系统的构 成的框图。
参照图80,根据本实施方式的多处理器系统与第一至第五实施方 式的区别在于根据上述第一至第五实施方式中的任意之一的多个多 处理器系统300-l 300-n被并行布置,以具有由执行环境管理单元30、 存储装置5和I/O装置6组成的分层构成。
除了包括根据上述第一至第五实施方式中的任意之一的多个多 处理器系统的构成之外,由于本实施方式还包括由执行环境管理单元30存储装置5和I/O装置6分层组成的构成,因而许可执行环境的多 种分离、切换、扩大和縮退等,以便能够根据基本处理iio或其他处 理120的安全性级别、CPU负载、OS 3的种类等来更加精细地控制执 行环境。
(第一示例性实施例)
本发明的示例性实施例1是根据第一实施方式的多处理器系统的 特定操作的示例。将参照上述图34、图37和图81来描述本示例性实 施例。图81是示出了根据本示例性实施例的多处理器系统的特定操作 的示例的流程图。
在步骤S901,用于基本处理的SMP OS 2对构成一个执行环境的 5个CPU进行操作。
在步骤S902,用户输入执行游戏的事件。
在步骤S903,向执行环境主控制单元10通知与事件相对应的游 戏执行环境的启动。
在步骤S904,执行环境主控制单元10确定该游戏执行环境是否 曾经被执行过。在该游戏执行环境曾经被执行时,转到步骤S9。
在步骤S卯5,在该游戏执行环境尚未执行时,执行环境主控制单 元10确定将5个CPU之中的一个CPU分配给游戏执行环境。
在步骤S卯6,执行环境主控制单元10通过在主执行环境中的 CPU停止处理来停止CPU。
在步骤S907,执行环境主控制单元10通过在另一个CPU上的执 行环境子控制单元启动处理来启动执行环境子控制单元20。
在步骤S908,执行环境主控制单元10通过在另一个CPU上的 OS启动处理(初始状态)来启动游戏执行环境,以结束该处理。
在步骤S909,执行环境主控制单元10通过在主执行环境中的切 换处理来启动游戏执行环境,以结束该处理。
图82是示出了根据本发明的示例性实施例1的具有执行顺序检 查的执行环境管理单元50的构成的图。参照图82,执行环境管理单 元30与执行顺序检查单元51和执行顺序检査存储单元52并联。更具 体地,可以用如图3所示的执行环境管理单元30等来代替具有执行顺序检査的执行环境管理单元50,执行环境管理单元30能够进一步使
用执行顺序检査功能(下面将对此进行描述),因而能够实现较高的安 全性。
执行顺序检查单元51具有下列功能基于执行顺序检查存储单
元52的信息来检查所要观测的CPU是否按照正确的顺序读取指令,
也就是是否保持正确的执行顺序。这使得执行执行环境主控制单元的
CPU能够监控执行执行环境子控制单元的CPU的操作。执行顺序检 査单元51还保持要观测的CPU是否正在指定区域内获取指令的状态。 该状态可以从执行执行环境主控制单元的CPU读出,或者可以被重新 设置。
图83是示出了根据本发明的示例性实施例1的执行顺序检査存 储单元52的构成的图。参照图83,执行顺序检查存储单元52中所描 述的是要观测的CPU及其观测距离。"起始"在这里表示从这开始许 可所要观测的CPU进行第一指令获取的物理地址,以及"结尾"表示 从这开始从"起始"到"结尾"范围内的第一指令获取不被允许的物 理地址。更具体地,图中所描述的是在0x0e000000与0x0e001000之 间的物理地址范围内,许可所要观测的CPU#3仅从0x0e000000开始 获取指令。在与其他地址有关的指令获取中,CPU不受影响。执行顺 序检查存储单元52只能通过执行执行环境控制单元的CPU来重写。
图84是用于说明如图82所示的具有执行顺序检查的执行环境管 理单元50的操作的一个示例的图。在图84中,由S和箭头旁边的数 字组成的代码表示步骤序号。在本示例中,将对其中所要观测的CPU 首先获取执行环境顺序检查存储装置52所许可的物理地址(下面成为 物理地址A)顶部的指令的情况进行描述。
步骤Sl:所要观测的CPU发出用于获取物理地址A的指令的请 求,以及执行顺序检查单元51和执行环境管理单元50接收该请求。
步骤S2:执行顺序检査单元51读取执行顺序检査存储单元52 的信息,并确定物理地址A的指令获取也被许可,以便由此中断该操 作。
图85是用于说明如图82所示的具有执行顺序检査的执行环境管理单元50的操作的一个示例的图。在图85中,由S和箭头旁边的数 字组成的代码表示步骤序号。在本示例中,将对在其中所要观测的 CPU在图84的指令获取之后获取执行顺序检查存储单元52所描述的 范围内的物理地址(下面称为物理地址B)的指令的情况进行描述。
步骤Sl..所要观测的CPU发出用于获取物理地址B的指令的请 求,以及执行顺序检査单元51和执行环境管理单元50接收该请求。
步骤S2:执行顺序检査单元51读取执行顺序检査存储单元52 的信息,并确定物理地址B的指令获取也被许(因为物理地址A的指 令获取已经被许可),并由此中断该操作。
图86是用于如图82所示的具有执行顺序检査的执行环境管理单 元50的操作的一个示例的图。在图86中,由S和箭头旁边的数字组 成的代码表示步骤序号。在本示例中,将对在其中所要观测的CPU首 先获取执行顺序检查存储单元52所描述的范围内的物理地址(下面称 为物理地址B)的指令的情况进行描述。
步骤S1:所要观测的CPU发出用于获取物理地址B的指令的请 求,以及执行顺序检查单元51和执行环境管理单元50接收该请求。
步骤S2:执行顺序检查单元51读取执行顺序检查存储单元52 的信息,并抑制许可物理地址B的指令获取(因为尚未执行对物理地 址A的指令获取)。
步骤S3:执行顺序检查单元51向执行环境管理单元30通知没有
指令获取被许可。
步骤S4:执行环境管理单元30中断访问处理,以向所述CPU返
回错误。
图87是用于说明如图82所示的具有执行顺序检查的执行环境管 理单元50的操作的一个示例的图。在图87中,由S和箭头旁边的数 字组成的代码表示步骤序号。在本示例中,将对通过CPU执行执行环 境主控制单元来重写执行顺序检査存储单元52的情况进行描述。
步骤Sl:执行执行环境主控制单元的CPU更新执行顺序检查存 储单元52。
图88是用于说明如图82所示的具有执行顺序检查的执行环境管理单元50的操作的一个示例的图。在图88中,由S和箭头旁边的数 字组成的代码表示步骤序号。在本示例中,将对从执行执行环境主控 制单元的CPU读取执行顺序检査单元51的状态的情况进行描述。
步骤Sl:执行执行环境主控制单元的CPU读取执行顺序检査单 元51的状态。当相关条目中的CPU获取指定范围内的指令时,返回 它处于检查状态的通知,当没有获取时,返回它不处于检査状态的通 知。
这使得执行执行环境主控制单元的CPU能够理解所要观测的 CPU正在执行的是哪一个指令范围,由此防止在诸如执行环境主控制 单元与执行环境子控制单元之间的同步之类的系统状态发生改变时的 病毒入侵,从而能够排除不可靠的代码。
图89是用于说明如图82所示的具有执行顺序检査的执行环境管 理单元50的操作的一个示例的图。在图89中,由S和箭头旁边的数 字组成的代码表示步骤序号。在本示例中,将对通过执行执行环境主 控制单元的CPU来清除执行顺序检査单元51的状态的情况进行描述。
步骤Sl:执行执行环境主控制单元的CPU清除执行顺序检查单 元51的状态。其后,将许可所要观测的CPU仅对从指定物理地址顶 部开始的地址进行另一个访问。
这是的执行执行环境主控制单元的CPU能够在任意时间点再次 对所要观测的CPU的操作进行观测。
图90是用于如图82所示的具有执行顺序检查的执行环境管理单 元50的操作的一个示例的图。在图90中,由S和箭头旁边的数字组 成的代码表示步骤序号。在本示例中,将对在其中执行顺序检査单元 51和执行环境管理单元30协同操作的情况进行描述。
步骤Sl:所要观测的CPU发出用于获取特定物理地址的指令的 请求,以及执行顺序检查单元51和执行环境管理单元50接收该请求。
步骤S2:执行顺序检査单元51读取执行顺序检査存储单元52 的信息,以便能够获取物理地址的指令。
步骤S3:执行环境管理单元30接收对特定物理地址的数据访问。
执行顺序检查单元51向执行环境管理单元30通知该指令获取不被许可。
步骤S4:执行环境管理单元30确定所述访问是根据所述CPU的
检查状态而确定了其许可/不许可的访问,由此获得关于当前从执行顺
序检查单元51发出所述访问的CPU的检查状态。
步骤S5:执行环境管理单元30确定该访问与其访问不被检查状 态下的CPU所许可的区域相关,并且由此向所述CPU返回错误。
这里,通过不仅向所述CPU而且还向执行执行环境主控制单元 的CPU通知错误,可以对存在错误的CPU执行诸如重新设置之类的 恢复。
作为执行顺序检査单元51与执行环境管理单元30之间的上述协 作,关于仅取决于数据访问的安全性,能够根据所要观测的CPU的程 序执行情形来灵活地限制数据访问,由此获得进一步改进的安全性。
尽管已经关于前述优选实施方式和示例性实施例对本发明进行 了描述,本发明不局限于上述实施方式和示例性实施例,并且能够在 其技术思想的范围内以多种方式来实现。
通过引用的合并
本申请要求了基于在2006年11月2日提交的日本专利申请No.
2006- 29卯19和在2007年9月25日提交的日本专利申请No.
2007- 247491的优先^并且包括这里专利申请的所有公开。
权利要求
1. 一种多处理器系统,包括多个CPU和要在所述CPU上执行的多个OS,其中,根据要在所述系统上执行的处理形成组合了所述CPU和所述OS的至少一个执行环境。
2. 根据权利要求l所述的多处理器系统,包括控制单元,所述控 制单元用于根据要在所述系统上执行的处理来控制对所述执行环境的 切换。
3. 根据权利要求1或2所述的多处理器系统,其中 所述多个OS中的至少一个是多处理器OS,在要在所述系统上执行的处理之中,预先安装在所述系统上的基 本处理是在所述多处理器OS上执行的,以及在要在所述系统上执行的处理之中,要在所述系统上任意追加或 删除的其他处理是在另一个OS上执行的。
4. 根据权利要求3所述的多处迤器系统,其中,所述控制单元 将形成用于基本处理的执行环境的所述CPU分配用于执行所述基本处理,以及当所述其他处理存在时,将形成用于其他处理的执行环境的所述 CPU分配用于执行所述其他处理。
5. 根据权利要求4所述的多处理器系统,其中,所述控制单元包括主控制单元,可操作于所述多处理器OS上,用于在所述用于基 本处理的执行环境中和在所述用于其他处理的执行环境中对所述 CPU进行分配,以控制所述基本处理在所述用于基本处理的执行环境 中的执行,以及所述主控制单元还用于控制所述执行环境之间的处理 的冲突,以及子控制单元,可操作于所述另一个OS上,用于在来自所述主控 為单元的通知下,控制所述其他处理在所述用于其他处理的执行环境 中的执行。
6. 根据权利要求5所述的多处理器系统,其中,所述主控制单元在所述用于其他处理的执行环境下接收来自所述子控制单元的、与所 述其他处理的执行状况相关的内容信息,以基于从所述子控制单元接 收到的内容信息来控制所述执行环境之间的处理的冲突。
7. 根据权利要求4至6中任一项所述的多处理器系统,包括执行 环境管理单元,所述执行环境管理单元基于系统中包括存储器在内的 共享资源针对所述用于基本处理的执行环境和每一个所述用于其他处 理的执行环境的分配状态,管理每一个所述执行环境对所述共享资源 的使用。
8. 根据权利要求7所述的多处理器系统,其中,针对分配给所述 用于基本处理的执行环境和所述用于其他处理的执行环境的每一个所 述CPU,所述执行环境管理单元保持关于所述执行环境对所述系统中 包括存储器在内的共享资源的分配的信息,作为管理信息。
9. 根据权利要求8所述的多处理器系统,其中 所述管理信息是针对形成每一个执行环境的每一个CPU设定作为所述共享资源的存储器中的占用区域的信息,以及所述执行环境管理单元包括过滤单元,所述过滤单元响应于来自 所述CPU的访问所述存储器的请求而参照所述管理信息,以向所述 CPU输出对所述访问请求的许可/不许可。
10. 根据权利要求9所述的多处理器系统,其中,所述执行环境 管理单元针对分配给所述用于其他处理的执行环境的每一个所述CPU,将 用于切换存储器占用区域的触发条件和切换后的存储器占用区域作为 CPU切换信息,以及包括切换单元,当关于所述CPU满足所述触发条件时,所述切 换单元从所述CPU切换信息中读出CPU中的存储器占用区域,以更 新所述CPU管理信息中的CPU的对应存储器占用区域。
11. 根据权利要求7所述的多处理器系统,其中,所述执行环境 管理单元保持关于所分配的所述CPU的对应信息和关于所述共享资 源对于所述用于基本处理的执行环境和每一个所述用于其他处理的执行环境的分配的信息,作为管理信息。
12. 根据权利要求8所述的多处理器系统,其中所述管理信息是针对每一个执行环境设定作为所述共享资源的 存储器中的占用区域的信息,以及所述执行环境管理单元包括过滤单元,所述过滤单元响应于来自 每一个所述执行环境的访问所述存储器的请求来参照所述管理信息, 以向所述执行环境输出对所述访问请求的许可/不许可。
13. 根据权利要求9或12所述的多处理器系统,其中,所述过滤 单元在拒绝所述访问请求时,将所述访问请求的访问地址变换为系统 中不存在的地址,并输出所获得的所述访问请求。
14. 根据权利要求12所述的多处理器系统,其中,所述执行环境 管理单元针对分配给所述用于其他处理的执行环境的每一个所述CPU,将 用于切换要分配的执行环境的触发条件和切换后的执行环境作为执行 环境切换信息,以及包括切换单元,当关于所述CPU满足所述触发条件时,所述切 换单元从所述CPU切换信息中读出CPU中的存储器占用区域,以更 新所述CPU管理信息中的CPU的对应存储器占用区域。
15. 根据权利要求10或14所述的多处理器系统,其中,所述触 发条件是所述CPU要在所述其他处理中访问的最终地址。
16. 根据权利要求7至I0中任一项所述的多处理器系统,其中, 所述主控制单元根据对所述执行环境的切换来更新所述执行环境管理 单元的所述管理信息。
17. 根据权利要求8至16中任一项所述的多处理器系统,其中 针对分配给所述用于基本处理的执行环境和所述用于其他处理的执行环境的每一个所述CPU,所述存储器保持关于所述执行环境对 于所述系统中包括存储器在内的共享资源的分配的信息作为存储器存 储管理信息,以及所述主控制单元包括执行环境调度单元,根据所述存储器存储管理信息产生指令,所述存储器存储管理信息是基于来自所述基本处理的应用或所述OS的请求而参照的,以及所述指令的执行之后,更新所述存储器存储管理信息,OS主协作单元,使得所述OS执行从所述执行环境调度单元通知的指令,以及执行环境主管理和同步单元,在所述执行环境管理单元处设定所述执行环境管理单元在所述指令的执行之后的设定信息。
18. 根据权利要求17所述的多处理器系统,其中,所述执行环境调度单元所产生的指令包括CPU控制指令。
19. 根据权利要求n所述的多处理器系统,其中,所述执行环境调度单元所产生的指令包括CPU控制信息和用于保存所述内容信息的指令,所述OS主协作单元获得所保存的所述内容信息,并将所述信息转移至所述执行环境调度单元,以及所述执行环境调度单元在所述指令被执行之后,基于所述内容信息更新所述存储器存储管理信息。
20. 根据权利要求17至19中任一项所述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知用于控制对所述执行环境的切换的指令和切换目的地的所述内容信息,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在切换后的设定信息,所述OS主协作单元从所述OS中获得处于操作中的OS的所述内容信息,并将所述信息转移至所迷执行环境调度单元,以及在执行了所述指令之后,设定从所述执行环境调度单元通知的切换目的地的所述内容信息,以及所述执行环境主管理和同步单元在所述执行环境管理单元处设定所述执行环境管理单元在切换后的设定信息。
21. 根据权利要求18或19所述的多处理器系统,其中所述执行环境调度单元向所述OS主贫^作单元通知CPU控制指令,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在CPU控制之后的设定信息,以在CPU控制之后更新所述管理信息,所述执行环境主管理和同步单元在所述执行环境管理单元处设定所述执行环境管理单元在CPU控制之后的设定信息,以及所述OS主协作单元在所述设定信息被设定之后,使得所述OS执行来自所述执行环境调度单元的CPU控制指令。
22. 根据权利要求18或19述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知CPU控制指令和用于设定前一个所述内容信息的指令,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在CPU控制之后的设定信息,以在CPU控制之后更新所述管理信息,所述执行环境主管理和同步单元在所述执行环境管理单元处设定所述执行环境管理单元在CPU控制之后的设定信息,以及所述OS主协作单元在所述设定信息被设定之后,使得所述OS执行CPU控制指令和用于设定来自所述执行环境调度单元的前一个所述内容信息的指令。
23. 根据权利要求17至22中任一项所述的多处理器系统,其中,所述子控制单元包括OS子协作单元,由所述OS主协作单元向所述OS子协作单元通知所述执行环境调度单元的指令,以使得所述另一个OS执行所述指令,以及执行环境子管理和同步单元,通知所述执行环境主管理和同步单元所述指令已被执行。
24. 根据权利要求23所述的多处理器系统,其中,所述执行环境调度单元所产生的指令包括用于控制所述另一个OS的执行的OS控制指令。
25. 根据权利要求23所述的多处理器系统,其中所述执行环境调度单元所产生的指令包括用于控制所述另一个OS的OS控制指令和用于保存所述另一个OS的所述内容信息的指令,所述OS子协作单元获得所保存的所述另一个OS的所述内容信息,并将所述信息转移至所述OS主协作单元,所述OS主协作单元将内容信息转移至所述执行环境调度单元,以及所述执行环境调度单元基于内容信息更新所述管理信息。
26. 根据权利要求23所述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知用于控制另一个CPU上的所述执行环境的切换的指令和切换目的地的所述内容信息,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在切换后的设定信息,以在执行所述指令之后,基于处于操作中的另一个OS的所述内容信息来更新所述管理信息,所述OS子协作单元基于所述OS主协作单元所通知的、用于控制另一个所述执行环境的切换的指令和切换目的地的所述内容信息,从另一个OS中获得处于操作中的另一个OS的所述内容信息,并将所述信息转移至所述OS主协作单元,以及在由所述执行环境管理单元设定了所述设定信息之后,设定切换目的地的所述内容信息,所述OS主协作单元将处于操作中的另一个OS的所述内容信息转移至所述执行环境调度单元,以及所述执行环境主管理和同步单元在所述指令被执行之后,在所述执行环境管理单元处设定所述执行环境管理单元在切换后的设定信息。
27. 根据权利要求23所述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知用于控制另一个CPU的CPU控制指令,并向所述执行环境主管理和同步单元通知所述执行环境管理单元另一个CPU控制之后的设定信息,以在所述执行环境管理单元设定了所述设定信息之后更新所述管理信息,所述执行环境主管理和同步单元在所述执行环境管理单元处设定所述执行环境管理单元在另一个CPU控制之后的设定信息,以及所述OS主协作单元在所述设定信息被设定之后,向所述OS子协作单元通知用于控制另一个CPU的CPU控制指令。
28. 根据权利要求23所述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知用于控飼另一个CPU的指令和用于设定前一个所述内容信息的指令,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在另一个CPU控制之后的设定信息,以在所述执行环境管理单元设定了所述设定信息之后更新所述管理信息,所述执行环境主管理和同步单元在所述执行环境管理单元处设定所述执行环境管理单元在另一个CPU控制之后的设定信息,以及所述OS主协作单元在所述设定信息被设定之后,向所述OS子协作单元通知用于控制另一个CPU的CPU控制指令和前一个所述内容信息。
29. 根据权利要求23至28中任一项所述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知用于控制所述另一个CPU上的所述执行环境的所述子控制单元的指令,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在所述子控制单元的控制之后的设定信息,以在所述执行环境主管理和同步单元设定了所述设定信息之后更新所述管理信息,以及所述OS子协作单元在所述管理信息被更新之后,基于所述子控制单元的控制指令来控制所述另一个CPU。
30. 根据权利要求23至29中任一项所述的多处理器系统,其中所述执行环境调度单元向所述OS主协作单元通知用于控制另一个CPU上的所述执行环境的切换的指令和切换目的地的所述内容信息,并向所述执行环境主管理和同步单元通知所述执行环境管理单元在另一个CPU的控制之后的设定信息,以基于从所述OS主协作单元转移的、处于操作中的另一个OS的所述内容信息来更新所述管理信/良,所述OS子协作单元基于由所述OS主协作单元通知的、用于控制切换的指令和切换目的地的所述内容信息,从另一个os中获得处于操作中的另一个OS的所述内容信息,将所述信息转移至所述OS主协作单元,以及在所述切换控制指令被执行之后,设定切换目的地的所述内容信息,以及所述OS主协作单元将处于操作中的另一个OS的所述内容信息转移至所述执行环境调度单元。
31. 根据权利要求23至30中任一项所述的多处理器系统,其中, 所述主控制单元在切换所述执行环境时,执行OS停止处理和将所述 内容信息保存在另一个CPU上的处理,以重新启动另一个CPU上的 所述OS子协作单元。
32. 根据权利要求23至29中任一项所述的多处理器系统,其中 所述OS子协作单元向所述OS主协作单元通知来自所述其他处理的所述另一个OS的请求,以及所述OS主协作单元向所述执行环境调度单元通知所述请求。
33. 根据权利要求32所述的多处理器系统,其中,所述子控制单 元包括同一执行环境调度单元,所述同一执行环境调度单元基于所述 管理信息确定是否允许对所述请求的调度,并在调度不被允许时,向 所述OS子协作单元通知所述请求,其中一旦接收到来自所述其他处 理的应用或所述另一个OS的请求就参照所述参考信息。
34. 根据权利要求23至29中任一项所述的多处理器系统,其中 所述子控制单元包括同一执行环境调度单元,所述同一执行环境调度单元基于所述管理信息确定是否允许对所述指令的调度,并当调 度被允许时,向所述OS子协作单元通知所述指令和切换目的地的所 述内容信息,其中一旦接收到来自所述其他处理的应用或所述另一个OS的、用于控制对所述执行环境的切换的指令就参照所述管理信息, 以及所述同一执行环境调度单元基于从所述另一个OS接收到的、处 于操作中的所述另一个OS的所述内容信息,更新所述管理信息,所 述内容信息是由所述OS子协作单元在所述执行环境管理单元设定了 所述执行环境管理单元在切换之后的设定信息之后通知的,所述OS子协作单元在通知之后,将从所述另一个OS接收到的、 处于操作中的所述另一个OS的所述内容信息转移至所述同一执行环 境调度单元,并在所述设定信息被设定之后设定切换目的地的所述内 容信息,以及所述执行环境子管理和同步单元在所述执行环境管理单元处设 定所述执行环境管理单元在切换后的设定信息。
35. 根据权利要求22至32中任一项所述的多处理器系统,其中,在停止所述执行环境的处理中,当所述执行环境子管理和同步单元在所述共享资源中记载的值为预定值时,所述执行环境主管理和同步单元将所述执行环境管理单元设定为与所述执行环境子管理和同步单元同步。
36. 根据权利要求23至29中任一项所述的多处理器系统,其中,在停止所述执行环境的处理中,当接收到由所述执行环境子管理和同步单元所发送的中断请求时,所述执行环境主管理和同步单元将所述执行环境管理单元设定为与所述执行环境子管理和同步单元同步。
37. 根据权利要求23至29中任一项所述的多处理器系统,其中,在停止所述执行环境的处理中,当实现与所述执行环境子管理和同步单元的障碍同步时,所述执行环境主管理和同步单元将所述执行环境管理单元设定为与所述执行环境子管理和同步单元同步。
38. 根据权利要求23至35中任一项所述的多处理器系统,其中,在对所述执行环境的切换控制中,当所述执行环境子管理和同步单元在所述共享资源中记载的值为第一预定值时,所述执行环境主管理和同步单元将所述执行环境管理单元设定为与所述执行环境子管理和同步单元同步,以及在所述执行环境管理单元的设定之后,当所述执行环境子管理和同步单元在所述共享资源中记载的值为第二预定值时,所述执行环境主管理和同步单元通过切换所述执行环境来与所述执行环境主管理和同步单元同步。
39. 根据权利要求34至36中任一项所述的多处理器系统,其中,在对所述执行环境的切换控制中,当接收到所述执行环境子管理和同步单元所发送的中断请求时,所述执行环境主管理和同步单元将所述执行环境管理单元设定为与所述执行环境子管理和同步单元同步,以及在所述执行环境管理单元的设定之后,当接收到所述执行环境主管理和同步单元所发送的中断请求时,所述执行环境子管理和同步单元将所述执行环境切换为与所述执行环境主管理和同步单元同步。
40. 根据权利要求23至34和37中任一项所述的多处理器系统, 其中,在对所述执行环境的切换控制中,当实现与所述执行环境子管理和同步单元的障碍同步时,所述执 行环境主管理和同步单元将所述执行环境管理单元设定为与所述执行 环境子管理和同步单元同步,以及在所述执行环境管理单元的设定之后,当实现与所述执行环境子 管理和同步单元的障碍同步时,所述执行环境子管理和同步单元通过 切换所述执行环境来与所述执行环境主管理和同步单元同步。
41. 根据权利要求1至40中任一项所述的多处理器系统,其中, 所述多处理器系统是对称多处理器系统,以及所述多处理器OS是对 称多处理器OS。
42. 根据权利要求4至41中任一项所述的多处理器系统,其中, 在要在所述系统上执行的处理之中,可靠性最高的第一处理在所述多处理器OS上执行,以及在要在所述系统上执行的处理之中,可 靠性低于所述第一处理的处理在另一个OS上执行,以及所述控制单 元根据在要在所述系统上执行的处理的可靠性级别来分配所述CPU。
43. 根据权利要求12所述的多处理器系统,其中,所述过滤单元 根据程序执行状况来确定是否允许访问。
44. 一种安装有多个CPU的多处理器系统中的系统构成方法,包 括步骤在要安装有多个可执行的OS的系统上,通过任意组合所述多个 CPU和所述多个OS来形成至少一个执行环境,以及根据要在所述系统上执行的处理来控制对所述执行环境的切换。
45. 根据权利要求44所述的多处理器系统中的系统构成方法,其 中,所述多个OS中的至少一个是多处理器OS,所述方法还包括步骤在所述多处理器OS上执行要在所述系统上执行的处理之中的预 先安装在所述系统上的基本处理,以及在另一个OS上执行要在所述系统上执行的处理之中的要在所述 系统上任意追加或删除的其他处理。
46. 根据权利要求45述的多处理器系统中的系统构成方法,其中,在所述控制步骤中,将形成用于基本处理的执行环境的所述CPU分配用于执行所述基本处理,以及当所述其他处理存在时,将形成用于其他处理的执行环境的所述CPU分配用于执行所述其他处理。
47. 根据权利要求46所述的多处理器系统中的系统构成方法,其中,所述控制步骤包括主控制步骤,可操作于所述多处理器OS上,用于在所述用于基本处理的执行环境中和在所述用于其他处理的执行环境中对所述CPU进行分配,以控制所述基本处理在所述用于基本处理的执行环境中的执行,以及所述主控制步骤还用于控制所述执行环境之间的处理的冲突,以及子控制步骤,可操作于所述另一个OS上,用于在来自所述主控制步骤的通知下,控制所述其他处理在所述用于其他处理的执行环境中的执行。
48. 根据权利要求47所述的多处理器系统中的系统构成方法,其中,在所述主控制步骤中,在所述用于其他处理的执行环境下接收来自所述子控制步骤的、与所述其他处理的执行状况相关的内容信息,以基于从所述子控制步骤接收到的内容信息来控制所述执行环境之间的处理的冲突。
49. 根据权利要求46至48中任一项所述的多处理器系统中的系统构成方法,包括执行环境管理步骤,所述执行环境管理基于系统中包括存储器在内的共享资源针对所述用于基本处理的执行环境和每一个所述用于其他处理的执行环境的分配状态,管理每一个所述执行环境对所述共享资源的使用。
50. 根据权利要求49所述的多处理器系统中的系统构成方法,其中,所述执行环境管理步骤包括过滤步骤,所述过滤步骤针对分配给所述用于基本处理的执行环境和所述用于其他处理的执行环境的每一个所述CPU,保持关于所述执行环境对所述系统中包括存储器在内的共享资源的分配的信息作为管理信息,并响应于来自所述CPU的访问所述存储器的请求来参照所述管理信息,以向所述CPU输出对所述访 问请求的许可/不许可,所述管理信息针对形成每一个执行环境的每一个CPU设定作为所述共享资源的存储器中的占用区域。
51. 根据权利要求50所述的多处理器系统中的系统构成方法,其 中,在所述过滤步骤中,在拒绝所述访问请求时,将所述访问请求的 访问地址变换为系统中不存在的地址,以输出所获得的所述访问请求。
52. 根据权利要求50所述的多处理器系统中的系统构成方法,其 中,所述执行环境管理步骤针对分配给所述用于其他处理的执行环境的每一个所述CPU,将 用于切换存储器占用区域的触发条件和切换后的存储器占用区域作为 CPU切换信息,以及包括切换步骤,当关于所述CPU满足所述触发条件时,所述切 换步骤从所述CPU切换信息中读出CPU中的存储器占用区域,以更 新所述CPU管理信息中的CPU的相应存储器占用区域。
53. 根据权利要求49所述的多处理器系统中的系统构成方法,其 中,在所述执行环境管理步骤中,被保持作为管理信息的是关于所分 配的所述CPU的对应信息和关于所述共享资源对于所述用于基本处 理的执行环境和每一个所述用于其他处理的执行环境的分配的信息。
54. 根据权利要求50所述的多处理器系统中的系统构成方法,其中,所述管理信息是针对每一个执行环境设定作为所述共享资源的 存储器中的占用区域的信息,'以及所述执行环境管理步骤包括过滤步骤,所述过滤步骤响应于来自 每一个所述执行环境的访问所述存储器的请求来参照所述管理信息, 以向所述执行环境输出对所述访问请求的许可/不许可。
55. 根据权利要求54所述的多处理器系统中的系统构成方法,其 中,所述执行环境管理步骤,针对分配给所述用于其他处理的执行环境的每一个所述CPU,将 用于切换要分配的执行环境的触发条件和切换后的执行环境作为执行 环境切换信息,以及包括切换步骤,当关于所述CPU满足所述触发条件时,所述切换步骤从所述CPU切换信息中读出CPU中的存储器占用区域,以更 新所述CPU管理信息中的CPU的相应存储器占用区域。
56. 根据权利要求50或55所述的多处理器系统中的系统构成方 法,其中,在所述其他处理中,所述CPU基于所述触发条件访问最终 地址。
57. 根据权利要求49至52中任一项所述的多处理器系统中的系 统构成方法,其中,在所述主控制步骤中,根据对所述执行环境的切 换在所述执行环境管理步骤更新所述管理信息。
58. 根据权利要求50至57中任一项所述的多处理器系统中的系 统构成方法,包括针对分配给所述用于基本处理的执行环境和所述用于其他处理 的执行环境的每一个所述CPU,将关于所述执行环境对系统中包括存 储器在内的共享资源的分配的信息保持在所述存储器中作为存储器存 储管理信息的步骤,其中所述主控制步骤包括执行环境调度步骤,根据所述存储器存储管理信息产生指令,所 述存储器存储管理信息是基于来自所述基本处理的应用或所述OS的 请求而参照的,并在所述指令的执行之后,更新所述存储器存储管理"(曰息,OS主协作步骤,使得所述OS执行通过所述执行环境调度步骤通知的指令,以及执行环境主管理和同步步骤,在所述执行环境管理步骤中设定在 所述指令的执行之后的设定信息。
59. 根据权利要求58所述的多处理器系统中的系统构成方法,其 中,在所述执行环境调度步骤中产生的指令包括CPU控制指令。
60. 根据权利要求58所述的多处理器系统中的系统构成方法,其中在所述执行环境调度步骤中产生的指令包括CPU控制指令和用 于保存所述内容信息的指令,在所述OS主协作步骤中,获得所保存的所述内容信息,并将所 述信息转移至所述执行环境调度步骤,以及在所述执行环境调度步骤中,在所述指令被执行之后,基于所述 内容信息更新所述存储器存储管理信息。
61. 根据权利要求58至60中任一项所述的多处理器系统中的系 统构成方法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知用于控 制对所述执行环境的切换的指令和切换目的地的所述内容信息,并向 所述执行环境主管理和同步步骤通知切换后的设定信息,在所述OS主协作步骤中,从所述OS中获得处于操作中的OS的 所述内容信息,并将所述信息转移至所述执行环境调度步骤,以及在 所述指令的执行之后,设定通过所述执行环境调度步骤通知的切换目 的地的所述内容信息,以及在所述执行环境主管理和同步步骤中,通过所述执行环境管理步 骤设定切换后的设定信息。
62. 根据权利要求59或60所述的多处理器系统中的系统构成方 法,其中在所述执行环境调度步骤,向所述OS主协作步骤通知CPU控制 指令,并向所述执行环境主管理和同步步,知CPU控制之后的设定 信息,以在CPU控制之后更新所述管理信息,在所述执行环境主管理和同步步骤中,通过所述执行环境管理步 骤设定CPU控制之后的设定信息,以及在所述OS主协作步骤中,在所述设定信息被设定之后,通过所 述执行环境调度步骤来使得所述OS执行所述CPU控制指令。
63. 根据权利要求59或60所述的多处理器系统中的系统构成方 法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知CPU控 制指令和用于设定前一个所述内容信息的指令,并向所述执行环境主 管理和同步步骤通知CPU控制之后的设定信息,以在CPU控制之后 更新所述管理信息,在所述执行环境主管理和同步步骤中,通过所述执行环境管理步 骤设定CPU控制之后的设定信息,以及在所述OS主协作步骤中,在所述设定信息被设定之后,使得所述OS执行所述CPU控制指令和用于设定来自所述执行环境调度步骤的前一个所述内容信息的指令。
64. 根据权利要求58至63中任一项所述的多处理器系统中的系 统构成方法,其中,所述子控制步骤包括OS子协作步骤,通过所述OS主协作步骤向所述OS子协作步骤 通知所述执行环境调度步骤中的所述指令,以使得所述另一个OS执 行所述指令,以及执行环境子管理和同步步骤,通知所述执行环境主管理和同步步 骤所述指令已被执行。
65. 根据权利要求64所述的多处理器系统中的系统构成方法,其 中,所述执行环境调度步骤所产生的指令包括用于控制所述另一个OS 的执行的OS控制指令。
66. 根据权利要求64所述的多处理器系统中的系统构成方法,其中在所述执行环境调度步骤中产生的指令包括用于控制所述另一 个OS的OS控制指令和用于保存所述另一个OS的所述内容信息的指 令,在所述OS子协作步骤中,获得所保存的所述另一个OS的所述 内容信息,并将所述信息转移至所述OS主协作步骤,在所述OS主协作步骤中,将内容信息转移至所述执行环境调度 步骤,以及在所述执行环境调度步骤中,基于内容信息更新所述管理信息。
67. 根据权利要求64所述的多处理器系统中的系统构成方法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知用于控 制另一个CPU上的所述执行环境的切换的指令和切换目的地的所述 内容信息,并向所述执行环境主管理和同步步骤通知切换后的设定信息,以在所述指令的执行之后,基于处于操作中的另一个OS的所述 内容信息来更新所述管理信息,在所述OS子协作步骤中,基于所述OS主协作步骤所通知的用于控制另一个所述执行环境的切换的指令和切换目的地的所述内容信息,从另一个OS中获得处于操作中的另一个OS的所述内容信息, 并将所述信息转移至所述OS主协作步骤,并在通过所述执行环境管理步骤设定了所述设定信息之后,设定切换目的地的所述内容信息,在所述OS主协作步骤中,将处于操作中的另一个OS的所述内容信息转移至所述执行环境调度步骤,以及在所述执行环境主管理和同步步骤,在所述指令被执行之后,对 所述执行环境管理步骤设定切换后的设定信息。
68. 根据权利要求64所述的多处理器系统中的系统构成方法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知用于控 制另一个CPU的CPU控制指令,并向所述执行环境主管理和同步步 骤通知另一个CPU控制之后的设定信息,以在通过所述执行环境管理 步骤设定了所述设定信息之后更新所述管理信息,在所述执行环境主管理和同步步骤中,对所述执行环境管理步骤 设定另一个CPU控制之后的设定信息,以及在所述OS主协作步骤中,在所述设定信息被设定之后,向所述 OS子协作步骤通知用于控制另一个CPU的CPU控制指令。
69. 根据权利要求64所述的多处理器系统中的系统构成方法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知用于控 制另一个CPU的指令和用于设定前一个所述内容信息的指令,并向所 述执行环境主管理和同步步骤通知另一个CPU控制之后的设定信息, 以在通过所述执行环境管理步骤设定了所述设定信息之后更新所述管 理信息,在所述执行环境主管理和同步步骤中,对所述执行环境管理步骤 设定另一个CPU控制之后的设定信息,以及在所述OS主协作步骤中,在所述设定信息被设定之后,向所述OS子协作步骤通知用于控制另一个CPU的CPU控制指令和前一个所述内容信息。
70. 根据权利要求64至69中任一项所述的多处理器系统中的系 统构成方法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知所述另 一个CPU上的所述执行环境的所述子控制步骤的控制指令,并向所述 执行环境主管理和同步步骤通知所述子控制步骤的控制之后的设定信 息,以在通过所述执行环境主管理和同步步骤设定了所述设定信息之 后更新所述管理信息,以及在所述OS子协作步骤中,在所述管理信息被更新之后,基于所 述子控制步骤的控制指令来控制所述另一个CPU。
71. 根据权利要求64至70中任一项所述的多处理器系统中的系 统构成方法,其中在所述执行环境调度步骤中,向所述OS主协作步骤通知用于控 制所述另一个CPU上的所述执行环境的切换的指令和切换目的地的 所述内容信息,并向所述执行环境主管理和同步步骤通知另一个CPU 之后的设定信息,以基于从所述OS主协作步骤转移的、处于操作中 的另一个OS的所述内容信息来更新所述管理信息,在所述OS子协作步骤中,基于由所述OS主协作步骤通知的、 用于控制切换的指令和切换目的地的所述内容信息,从另一个OS中 获得处于操作中的另一个OS的所述内容信息,将所述信息转移至所 述os主协作步骤,以及在执行了所述切换控制指令之后,设定切换目的地的所述内容信息,以及在所述OS主协作步骤中,将处于操作中的另一个OS的所述内容信息转移至所述执行环境调度步骤。
72. 根据权利要求64至71中任一项所述的多处理器系统中的系 统构成方法,其中,在所述主控制步骤中,在切换所述执行环境时, 执行OS停止处理和将所述内容信息保存在另一个CPU中的处理,以 重新启动另一个CPU。
73. 根据权利要求64至70中任一项所述的多处理器系统中的系 统构成方法,其中在所述OS子协作步骤中,向所述OS主协作步骤通知来自所述 其他处理的所述另一个OS的请求,以及在所述OS主协作步骤中,向所述执行环境调度步骤通知所述请求。
74. 根据权利要求73所述的多处理器系统中的系统构成方法,其 中,所述子控制步骤包括同一执行环境调度步骤,所述同一执行环境 调度步骤基于所述管理信息确定是否允许对所述请求的调度,并在调 度不被允许时,向所述OS子协作步骤通知所述请求,其中一旦接收 到来自所述其他处理的应用或所述另一个OS的请求就参照所述参考"f曰息。
75. 根据权利要求64至70中任一项所述的多处理器系统中的系 统构成方法,其中所述子控制步骤包括同一执行环境调度步骤,所述同一执行环境 调度步骤基于所述管理信息确定是否允许对所述指令的调度,并当调 度被允许时,向所述OS子协作步骤通知所述指令和切换目的地的所 述内容信息,其中一旦接收到来自所述其他处理的应用或所述另一个 OS的、用于控制对所述执行环境的切换的指令就参照所述管理信息, 以及所述同一执行环境调度步骤基于从所述另一个OS接收到的、处 于操作中的所述另一个OS的所述内容信息,更新所述管理信息,所 述内容信息是由所述OS子协作步骤在通过所述执行环境管理步骤设 定了在切换之后的设定信息之后通知的,所述OS子协作步骤在通知之后,将从所述另一个OS接收到的、 处于操作中的所述另一个OS的所述内容信息转移至所述同一执行环 境调度步骤,并在所述设定信息被设定之后设定切换目的地的所述内 容信息,以及在所述执行环境子管理和同步步骤中,对所述执行环境管理步骤 设定切换之后的设定信息。
76. 根据权利要求70至75中任一项所述的多处理器系统中的系统构成方法,其中,在所述执行环境主管理和同步步骤中,在停止所 述执行环境的处理中,当所述执行环境子管理和同步步骤在所述共享 资源中记载的值为预定值时,通过设定所述执行环境管理步骤来实现 与所述执行环境子管理和同步步骤的同步。
77. 根据权利要求64至70中任一项所述的多处理器系统中的系 统构成方法,其中,在执行环境主管理和同步步骤中,在所述停止所 述执行环境的处理中,当接收到由所述执行环境子管理和同步步骤所 发送的中断请求时,通过设定所述执行环境管理步骤来实现与所述执 行环境子管理和同步步骤的同步。
78. 根据权利要求64至70中任一项所述的多处理器系统中的系 统构成方法,其中,在所述执行环境主管理和同步步骤中,在停止所 述执行环境的处理中,当实现与所述执行环境子管理和同步步骤的障 碍同步时,通过设定所述执行环境管理步骤来实现与所述执行环境子 管理和同步步骤的同步。
79. 根据权利要求64至76中任一项所述的多处理器系统中的系 统构成方法,其中,在对所述执行环境的切换控制中,在所述执行环境主管理和同步步骤中,当所述执行环境子管理和 同步步骤在所述共享资源中记载的值为第一预定值时,通过设定所述 执行环境管理步骤来实现与所述执行环境子管理和同步步骤的同步, 以及在设定了所述执行环境管理步骤之后,当所述执行环境子管理和 同步步骤在所述共享资源中记载的值为第二预定值时,通过切换所述 执行环境来与所述执行环境主管理和同步步骤的同步。
80. 根据权利要求64至75和77中任一项所述的多处理器系统中 的系统构成方法,其中,在对所述执行环境的切换控制中,在所述执行环境主管理和同步步骤中,当接收到所述执行环境子 管理和同步步骤所发送的中断请求时,通过设定所述执行环境管理步 骤来实现与所述执行环境子管理和同步步骤的同步,以及在所述执行环境子管理和同步步骤中,在所述执行环境管理步骤 的设定之后,当接收到所述执行环境主管理和同步步骤所发送的中断请求时,通过切换所述执行环境来实现与所述执行环境主管理和同步 步骤的同步。
81. 根据权利要求64至75和78中任一项所述的多处理器系统中 的系统构成方法,其中,在对所述执行环境的切换控制中,在所述执行环境主管理和同步步骤中,当实现与所述执行环境子 管理和同步步骤的障碍同步时,通过设定所述执行环境管理步骤来实 现与所述执行环境子管理和同步步骤的同步,以及在所述执行环境子管理和同步步骤,在所述执行环境管理步骤的 设定之后,当实现与所述执行环境子管理和同步步骤的障碍同步时, 通过切换所述执行环境来实现与所述执行环境主管理和同步步骤的同 步。
82. 根据权利要求50所述的多处理器系统中的系统构成方法,其中,在所述过滤步骤中,根据程序执行状况来确定是否允许访问。
83. —种用于在安装有多个CPU的多处理器系统中构成执行环 境的程序,使得所述CPU执行以下处理在要装有多个可执行的OS的系统上通过任意组合所述多个CPU 和所述多个OS来形成至少一个执行环境的处理,以及切换处理,根据要在所述系统上执行的处理来控制对所述执行环 境的切换。
84. 根据权利要求83所述的程序,其中,所述多个OS中的至少 一个是多处理器OS,以及所述程序使得所述CPU在所述多处理器OS上执行要在所述系统上执行的处理之中的预 先安装在所述系统上的基本处理,以及在另一个OS上执行要在所述系统上执行的处理之中的要在所述 系统上任意追加或删除的其他处理。
85. 根据权利要求84所述的程序,其中,在所述切换处理中,将 形成用于基本处理的执行环境的戶万述CPU分配用于执行所述基本处 理,以及当所述其他处理存在时,将形成用于其他处理的执行环境的所述CPU分配用于执行所述其他处理。
全文摘要
为了在考虑稳定性或安全性级别的同时根据所要执行的处理的内容灵活地建立执行环境,多处理器系统包括执行环境主控制单元10,用于在决定CPU分配时确定CPU分配;执行环境子控制单元20,用于根据来自执行环境主控制单元10的指令控制执行环境的启动、停止及切换,以便与执行环境主控制单元10同步;以及执行环境管理单元30,用于接收每一个CPU 4或每一个执行环境100的共享资源的管理信息或参考拒绝信息的输入,以便将执行环境主控制单元10与执行环境子控制单元20a至20n或执行环境子控制单元20aA至20n彼此分隔开。
文档编号G06F9/46GK101535956SQ20078004100
公开日2009年9月16日 申请日期2007年11月1日 优先权日2006年11月2日
发明者井上浩明, 枝广正人, 酒井淳嗣, 阿部刚 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1