任务管理系统的制作方法

文档序号:6627142阅读:196来源:国知局
专利名称:任务管理系统的制作方法
技术领域
本发明涉及一种在并行执行多个任务的操作系统(OS)中的任务管理系统。
背景技术
历来公知在电子计算机上通过高速切换多个任务同时进行执行来实现当前执行并行处理时的任务的切换的任务管理系统。这样的任务管理系统,是电子计算机的操作系统的子程序。
参照图13到图17,说明现有的任务管理系统。图13是表示现有的任务管理系统100的结构的方框图。
如图13所示,现有的任务管理系统100具有任务管理部110和存储部120。
任务管理部110具有管理功能111、任务中断功能112、任务重新开始功能113、和任务切换功能114。
管理功能111控制任务中断功能112、任务重新开始功能113和任务切换功能114。任务中断功能112把执行状态的任务变更为执行待机状态。任务重新开始功能113把执行待机状态的任务变更为执行状态。任务切换功能114选择重新开始执行的任务以及进行任务用地址空间的切换。
存储部120,具有任务信息存储区域121和多个任务用地址空间122-1到122-n。
任务信息存储区域121是将用于识别各任务的任务号码和表示各任务状态的任务信息相关联并存储的区域。这里,在任务信息中包含CPU(中央处理装置)的寄存器的内容、该任务利用的任务用地址空间的指定符等为在后来时刻重新开始执行该任务所需要的数据、该任务的优先级、累计执行时间等管理上的数据。
任务用地址空间122-1到122-n管理每一任务的地址空间即任务用地址空间。任务用地址空间一般是与每一任务不同的逻辑地址空间。亦即,即使是相同的地址,由各任务实际访问的物理地址空间一般也不同(即使相同也是可以的)。
以下,说明现有的任务管理系统的操作。
图14是说明现有的任务管理系统100的管理功能111在执行任务的切换时进行的处理的流程图。
如图14所示,在步骤S101,管理功能111,在执行任务的切换时,对任务中断功能112进行指示,以使把当前执行状态的任务变更为执行待机状态。这里,执行状态的任务以下称为“任务A”。
在步骤S102,管理功能111对任务切换功能114进行指示,以使接下来选择作为重新开始执行对象的任务、切换任务用地址空间。这里,作为重新开始执行对象而选择的任务,以下称为“任务B”。
在步骤S103,管理功能111对任务重新开始功能113进行指示,以使成为执行任务B的状态,处理结束。
图15是说明现有的任务管理系统100的任务中断功能112在执行任务的切换时进行的处理的流程图。
如图15所示,在步骤S101A,任务中断功能112,根据来自步骤S101中的管理功能111的指示,把当前执行状态的任务(任务A)变更为执行待机状态。
在步骤S102A,任务中断功能112,在任务信息存储区域121中存储任务A的任务信息。
图16是说明现有的任务管理系统100的任务切换功能114在执行任务的切换时进行的处理的流程图。
如图16所示,在步骤S101B中,任务切换功能114,根据来自步骤S102的管理功能111的指示,参照任务信息存储区域121,考虑任务间的公平性和优先级等,从该任务管理系统100处理的任务中决定成为重新开始执行的对象的任务(任务B)。
在步骤S102B中,任务切换功能114,执行任务用地址空间的切换,以使可以利用任务B在以前执行状态时利用的任务用地址空间。
具体说,任务切换功能114,如设定CPU的段寄存器或变更页面表等,通过将逻辑地址和物理地址对应的机构的设定变更,执行任务地址空间的切换。
但是,在不使用这样的地址对应机构的电子计算机(即把物理地址作为唯一的地址空间的系统)中,在把分割物理地址空间的每一个作为任务用地址空间的情况下,不需要任务用地址空间的切换的设定处理。
图17是说明现有的任务管理系统100的任务重新开始功能113在执行任务的切换时进行的处理的流程图。
如图17所示,步骤S101C中,任务重新开始功能113,根据来自步骤S103中的管理功能111的指示,从任务信息存储区域121取得任务B的任务信息。
任务重新开始功能113,在步骤S102C,根据取得的任务信息设定CPU的寄存器内容,在步骤S103C,重新开始执行任务B。
作为上述那样的现有的任务管理系统的例子,公知具有在专利文献1中记载的任务开关控制功能、任务中断功能和任务重新开始功能的系统或者UNIX(注册商标)等多任务OS。
专利文献1特开2000-66904号公报。
但是,在现有的任务管理系统中存在以下问题在任务是执行待机状态的期间,在该任务的任务用地址空间中存储的数据中,即使发生对该任务的处理给予影响的变化也不能检测出该变化。
因此,会漏掉对由其他任务非法地改写任务的重要数据进行检测,对利用这样的数据的任务处理产生影响。

发明内容
因此,本发明鉴于以上的问题提出,其目的在于提供一种任务管理系统,该系统在任务是执行待机状态的期间,在存储在该任务的任务用地址空间中的数据中,可以检测给予该任务的处理影响的变化。
本发明的第一特征,是在并行执行多个任务的操作系统中的任务管理系统,其特征在于,具有执行待机状态变更部,其在把任务从执行状态变更为执行待机状态时,根据在该任务用地址空间中存储的数据生成该任务的验证符并存储在验证符存储区域中;和执行状态变更部,其在把任务从执行待机状态变更为执行状态时,根据在该任务用地址空间中存储的数据生成该任务的验证符,对与在上述验证符存储区域中存储的该任务的验证符是否一致进行验证。
根据这样的发明,执行状态变更部,通过对在从执行状态变更为执行待机状态时生成并存储在验证符存储区域中的任务的验证符、与从待机状态变更为执行状态时生成的任务的验证符进行核对,可以检测到在该任务是执行待机状态期间在该任务用地址空间中存储的数据发生变化。
在本发明的第一特征中,上述验证符存储区域存储将上述任务用地址空间内的规定地址范围和上述任务的验证符相关联的记录,上述执行待机状态变更部也可以对需要更新上述任务的验证符的记录中的上述任务的验证符进行更新,存储在上述验证符存储区域中。
在本发明的第一特征中,上述验证符存储区域存储将上述规定地址范围和上述任务的验证符以及有效标志相关联的记录,上述执行待机状态变更部也可以将在上述有效标志设定伪值的记录判断为需要更新上述任务的验证符的记录,更新该记录中的上述任务的验证符,存储在上述验证符存储区域中。
在本发明的第一特征中,上述执行待机状态变更部也可以将上述任务的验证符规定期间没有进行更新的记录判断为需要更新上述任务的验证符的记录,更新该记录中的上述任务的验证符,存储在上述验证符存储区域中。
在本发明的第一特征中,上述执行待机状态变更部以及上述执行状态变更部也可以将通过把在上述任务用地址空间中存储的数据输入到安全杂乱函数或者可逆编码函数中而计算出来的数据作为上述任务的验证符。
在本发明的第一特征中,上述执行待机状态变更部以及上述执行状态变更部也可以在上述规定地址范围比规定阈值小时,将通过把在上述任务用地址空间中存储的数据输入到可逆编码函数中而计算出来的数据作为上述任务的验证符;在上述规定地址范围比规定阈值大时,将通过把在上述任务用地址空间中存储的数据输入到安全杂乱函数中而计算出来的数据作为上述任务的验证符。
在本发明的第一特征中,也可以具有访问检测部,该访问检测部对在特定的上述记录中的规定地址范围内存储的数据曾被访问进行检测。
在本发明的第一特征中,上述任务用地址空间以分页方式管理,上述访问检测部也可以在检测到在包含上述特定的上述记录中的规定地址范围的页面内存储的数据曾被访问时,发生页面错误。
在本发明的第一特征中,也可以具有验证部,该验证部在发生上述页页错误时,在包含该页面错误发生的地址附近的规定地址范围的记录中,进行关于上述任务的验证符的上述验证。
根据这样的发明,因为仅在访问检测部检测到对在任务用地址空间中存储的数据发生访问时,验证部才进行关于上述任务的验证符的验证,而在不对该数据进行访问时,省略关于上述任务的验证符的验证,因此,能够使用于对在该任务是执行待机状态期间中、在该任务用地址空间中存储的数据发生变化进行检测的处理负荷变小。
如上所述,根据本发明,能够提供可以对在任务是执行待机状态期间中、在该任务的任务用地址空间中存储的数据中检测出会对该任务的处理给予影响的变化的任务管理系统。


图1是本发明的第一实施方式的任务管理系统的功能方框图。
图2是本发明的第一实施方式的任务管理系统中的验证符存储区域中的管理内容的一例。
图3是表示本发明的第一实施方式的任务管理系统中的管理功能的动作的流程图。
图4是表示本发明的第一实施方式的任务管理系统中的验证功能的动作的流程图。
图5是表示本发明的第一实施方式的任务管理系统中的验证功能的动作的流程图。
图6是表示本发明的第一实施方式的任务管理系统中的验证功能的动作的流程图。
图7是本发明的第二实施方式的任务管理系统的功能方框图。
图8是表示本发明的第二实施方式的任务管理系统中的管理功能的动作的流程图。
图9是表示本发明的第二实施方式的任务管理系统中的访问检测功能的动作的流程图。
图10是用于说明本发明的第二实施方式的任务管理系统中的访问检测功能的动作的图。
图11是表示本发明的第二实施方式的任务管理系统中的访问检测功能的动作的流程图。
图12是用于说明本发明的第二实施方式的任务管理系统中的访问检测功能的动作的图。
图13是现有技术的任务管理系统的功能方框图。
图14是表示现有技术的任务管理系统中的管理功能的动作的流程图。
图15是表示现有技术的任务管理系统中的任务中断功能的动作的流程图。
图16是表示现有技术的任务管理系统中的任务切换功能的动作的流程图。
图17是表示现有技术的任务管理系统中的任务重新开始功能的动作的流程图。
具体实施例方式
(本发明的第一实施方式的任务管理系统的结构)本发明的第一实施方式的任务管理系统200是在并行执行多个任务的操作系统中的任务管理系统。特别地,本实施方式的任务管理系统200是对在任务用地址空间中存储的数据的变化进行检测的任务管理系统。
如图1所示,本实施方式的任务管理系统200具有任务管理部210和存储部220。
任务管理部210具有管理功能211、任务中断功能112、任务重新开始功能113、任务切换功能114、验证符生成功能215、和验证功能216。
任务中断功能112、任务重新开始功能113和任务切换功能114,与现有技术的任务管理系统100中的各功能112到114相同。
验证符生成功能215从在任务用地址空间中存储的数据生成该任务的验证符。
具体说,在验证功能216指示指定规定地址范围、生成任务的验证符时,验证符生成功能215根据在包含当前可利用的任务用地址空间的地址空间中指定的规定地址范围中存储的数据生成该任务的验证符。
这里,任务的验证符是通过把在规定地址范围内存储的数据输入到规定的变换函数中而算出的输出数据。
但是,作为这样的变换函数的性质,在对于相同输入数据计算出相同输出数据、另外对于任意的输入数据“A”的输出数据是“B”时,发现与输出数据成为相同“B”那样的输入数据“A”不同的输入数据“C”一定是非常困难的。
作为满足这样的性质的变换函数,可以考虑“MD5(Message Digest 5)”或“SHA(Secure Hash Algorithm)”等安全杂乱函数,或者对输入数据进行可逆编码的可逆编码函数(包含把输入数据作为原样输出数据的变换函数)等。
另外,安全杂乱函数输出不依赖于输入数据长度的长度的数据,但是计算处理负荷比较大。另一方面,可逆编码函数具有计算处理负荷比较小但是具有输出与输入数据长度对应的长度的数据的性质。
因此,验证符生成功能215,可以使用在指定的规定地址范围的宽度比较小时(例如比规定阈值小时),把可逆编码函数的输出作为输出数据采用,在这以外时(例如比规定阈值大时),把安全杂乱函数的输出作为输出数据采用的变换函数。
验证功能216验证从任务用地址空间中存储的数据生成的该任务的验证符是否与在验证符存储区域中存储的该任务的验证符一致。
管理功能211控制各功能112到216的执行。
存储部220具有任务信息存储区域121、多个任务用地址空间122-1到122-n、和验证符存储区域223。
任务信息存储区域121和多个任务用地址空间122-1到122-n和现有技术的任务管理系统100中的各功能121以及122-1到122-n相同。
验证符存储区域223是存储验证符存储数据的集合的区域。这里,对于任务管理系统200处理的各任务,关联对应验证符存储数据的集合中的一个。以下,把关联对应特定任务的验证符存储数据称为“任务A的验证符存储数据”或“任务B的验证符存储数据”。
验证符存储数据由连接成树状的部分验证符存储数据构成。部分验证符存储数据是由行集合组成的表形式,各行有地址范围栏、有效标志栏、连锁标志栏、验证符栏。亦即,验证符存储区域223存储关联任务用地址空间内的规定地址范围、有效标志、连锁标志、任务的验证符的记录。
在地址范围栏中作为地址范围存储有效的值。在有效标志栏以及连锁标志栏中存储“真值”或者“伪值”。在验证符栏中存储任务的验证符。
部分验证符存储数据的连接,通过连锁标志栏以及地址范围栏进行。亦即,在部分验证符存储数据中的特定行的连锁栏是“真值”时,在这样的特定行的地址范围栏内存储的地址范围中,存储别的部分验证符存储数据,这样的部分验证符存储数据也成为构成相同验证符存储数据的要素。
此外,验证符存储数据也有仅由1个部分验证符存储数据构成的情况。在这一场合,也可以省略各行的连锁标志栏。
图2表示的验证符存储区域400是验证符存储数据的具体例。由部分验证符存储数据401、部分验证符存储数据402、部分验证符存储数据403构成。这里,部分验证符存储数据402以及部分验证符存储数据403连接部分验证符存储数据401。具体说,部分验证符存储数据402存储在地址范围“0x80000000~0x800003ff”中,部分验证符存储数据403存储在地址范围“0xdc000000~0xdc0003ff”中。
此外,以下有时把构成验证符存储数据的部分验证符存储数据中的行为方便起见称为“验证符存储数据行”或“验证符存储数据的各行”。
在图1的例子中,验证符存储区域223为方便起见作为任务用地址空间122-1~122-n分离记述,但是本发明不限定于此,也可以适应验证符存储区域223的一部或者全部和任务用地址空间122-1~122-n重复的例子。
亦即,本发明也可以适应把任务的验证符存储数据存储在该任务用地址空间内的实施方式,或者只把构成任务的验证符存储数据的一部分的部分验证符存储数据存储在该任务用地址空间内的实施方式。
在本实施方式中构成执行待机状态变更部,它在管理机构211和验证符生成功能215和验证功能216把任务从执行状态变更为执行待机状态时从在该任务用地址空间内存储的数据生成该任务的验证符并存储在验证符存储区域223中。
另外,在本实施方式中构成执行状态变更部,它在管理机构211和验证符生成功能215和验证功能216把任务从执行待机状态变更为执行状态时从在该任务用地址空间内存储的数据生成该任务的验证符,验证和在验证符存储区域223中存储的该任务的验证符是否一致。
这里,执行待机状态变更部也可以更新需要更新任务的验证符的记录(验证符存储数据的行)中的任务的验证符后在验证符存储区域223中存储。
另外,执行状态变更部也可以把在有效标志中设定为“伪值”的记录(验证符存储数据的行)判断为需要更新任务的验证符的记录(验证符存储数据的行)、更新该记录(验证符存储数据的行)中的任务的验证符,在验证符存储区域223中存储。
另外,执行状态变更部也可以将任务的验证符规定期间不进行更新的记录(验证符存储数据的行)判断为需要更新任务的验证符的记录(验证符存储数据的行),更新在该记录(验证符存储数据的行)中的任务的验证符后在验证符存储区域223中存储。
(本发明的第一实施方式的任务管理系统的操作)以下参照图3到图6说明本实施方式的任务管理系统200的操作。此外,任务中断功能112和任务重新开始功能113和任务切换功能114的操作,因为和现有技术的操作相同,所以省略说明。
第一,参照图3说明任务管理系统200的管理功能211在执行任务切换时执行的操作。
如图3所示,在步骤S101,管理功能211在执行任务切换时,对于任务中断功能112指示把当前执行状态的任务变为执行待机状态。这里,把当前执行状态的任务称为“任务A”。
在步骤S111,管理功能211对于验证功能216指示更新任务A的验证符。
在步骤S102,管理功能211对于任务切换功能114指示使选择作为重新开始执行对象的任务,切换任务用地址空间。这里,把作为重新开始执行对象选择的任务称为“任务B”。
在步骤S112,管理功能211对于验证功能216指示执行关于任务B的验证。
在步骤S113,在管理功能211从验证功能216接收到验证成功的报告时,本操作前进到步骤S103,在这以外时,本操作前进到步骤S114。
在步骤S103,管理功能211对于任务重新开始功能113指示使任务B变成执行状态,本操作结束。
另一方面,在步骤S114,管理功能211执行异常检测处理,结束本操作。
这里,补充说明关于在步骤S114中进行的异常检测处理。作为异常检测处理,例如,考虑向电子计算机的管理者通知异常发生的处理、事件日志中记录异常发生的处理、向任务B通知异常发生的处理、和步骤S103相同的处理、使任务B结束的处理任何一个或者这些处理的组合等。
第二,参照图4,说明任务管理系统200的验证功能216在接受管理功能211指示更新任务的验证符时的操作。
如图4所示,在步骤S201,验证功能216在接受管理功能211指示更新任务的验证符时,把指定的任务的任务号码代入变量T。
在步骤S202,验证功能216,访问验证符存储区域233,在任务号码是“T”的任务的验证符存储数据中,确认为更新验证符栏所需要的行是否存在。
这里补充说明关于在步骤202中判断是否是为更新验证符栏所需要的行的判断基准。作为该判断基准,存在多个候补。
第一候补,是把有效标志栏为“伪值”的行认为是需要更新验证符栏的行的基准。
第二候补,是把在规定期间不更新验证符栏的行认为是需要更新验证符栏的行的基准。这里,所谓规定期间,例如是从完成步骤S201的处理开始到本操作结束的期间。
在步骤S203,在这样的行存在时,本操作前进到步骤S204,在这样的行不存在时,本操作结束。此外,以下,把这样的1行称为“行L”。
在步骤S204,验证功能216把行L的地址范围栏的值代入变量R。
在步骤S205,验证功能216对于验证符生成功能215指示使指定地址范围R,生成验证符。
在步骤S206,验证功能216把由验证符生成功能215生成的验证符的值,在存储在行L的验证符栏中的同时,在行L的有效标志栏中存储“真值”。其后,本操作前进到步骤S202。
第三,参照图5,说明任务管理系统200的验证功能216在接受管理功能211指示验证任务的验证符时的操作。
如图5所示,在步骤S301,验证功能216在接受管理功能211指示验证任务的验证符时,把指定的任务的任务号码代入变量T。
在步骤S302,验证功能216,访问验证符存储区域233,在任务号码是“T”的任务的验证符存储数据中,确认是否存在需要验证的行。
这里补充说明关于在步骤302中判断是否是需要验证的行的判断基准。例如这样的判断基准之一是把在规定期间不进行验证的行认为是需要进行验证的行的基准。这里,所谓规定期间,例如是从完成步骤S301的处理开始到本操作结束的期间。
在步骤S303,在这样的行存在时,本操作前进到步骤S304,在这样的行不存在时,本操作前进到步骤S307。此外,以下,把这样的1行称为“行L”。
在步骤S304,验证功能216进行关于行L的验证。关于行L的验证处理的具体例使用图6后述。
在步骤S305,在关于行L的验证成功时,本操作返回到步骤S302,在关于行L的验证失败时,本操作前进到步骤S306。
在步骤S306,验证功能216对于管理功能211报告验证失败,本操作结束。另一方面,在步骤S307,验证功能216对于管理功能211报告验证成功,本操作结束。
第四,参照图6,说明任务管理系统200的验证功能216在进行关于指定的行的任务的验证符时的操作。这里,在这样的操作中,也包含关于在图5的步骤S304所示行L的任务的验证符的验证。
如图6所示,在步骤S311,验证功能216,把在验证符存储区域223中存储的验证符存储数据中的指定的行代入变量L。
在步骤S312,验证功能216,参照行L的有效标准栏的值,判断行L的有效标准栏的值是否是“真值”。是“真值”的话,本操作前进到步骤S313,是“伪值”的话,本操作前进到步骤S318。
验证功能216,在步骤S313中把行L的地址范围栏的值代入变量R,在步骤S314中对于验证符生成功能215指示指定地址范围R,生成任务的验证符。
在步骤S315,验证功能216比较由验证符生成功能215生成的任务的验证符和行的验证符栏的值。
在步骤S316,在两者一致时,本操作前进到步骤S318,在这以外时,本操作前进到步骤S317。
在步骤S317,验证功能216对于管理功能211报告验证失败,本操作结束。另一方面,在步骤S318,验证功能216对于管理功能211报告验证成功,本操作结束。
(本发明的第一实施方式的任务管理系统的作用、效果)根据本实施方式的任务管理系统200,验证功能216通过核对在从执行状态变更为执行待机状态时生成并存储在验证符存储区域223中的验证符存储数据中的行的验证符栏的值(任务的验证符)和在从执行待机状态变更为执行状态时生成的任务的验证符,在该任务的执行待机状态期间,可以检测出在该任务用地址空间中存储的数据中发生了变化。
具体说,如图3所示,管理功能211,在步骤S214执行异常检测处理时,在任务是执行待机状态期间,意味着检测到在该任务用地址空间中存储的数据中发生了变化。
因此,根据本实施方式的任务管理系统200,检测不到进而漏掉特定任务非法地改写其他任务的重要的数据或在存储部220中存储的数据随意变化的可能性极小。
(本发明的第二实施方式的任务管理系统的结构)参照图7,说明本发明的第二实施方式的任务管理系统300的结构。以下,关于本发明的第二实施方式的任务管理系统300的结构主要说明和上述本发明的第一实施方式的任务管理系统200的结构的不同点。
如图7所示,本实施方式的任务管理系统300具有任务管理部310和存储部320。
任务管理部310具有管理功能311、任务中断功能112、任务重新开始功能113、任务切换功能114、验证符生成功能215、验证功能216、和访问检测功能317。
任务中断功能112和任务重新开始功能113和任务切换功能114,和现有技术的任务管理系统100中的各功能112到114相同。
验证符生成功能215和验证功能216和上述第一实施方式的任务管理系统200中的各功能215以及216相同。
访问检测功能317检测对验证对象的地址范围的访问。
具体说,访问检测功能317检测对在特定的记录(检测符存储数据的行)中的地址范围栏内设定的地址范围(规定地址范围)中存储的数据的访问。
另外,访问检测功能317也可以在检测到对在包含特定的记录中的规定地址范围的页面中存储的数据的访问时使发生页面错误。
这里,验证符生成功能215和验证功能216和访问检测功能317构成验证部,该验证部在发生页面错误时,在包含该页面错误发生的地址附近的规定地址范围的记录中进行关于任务的验证符的验证。
管理功能311控制各功能112到317的执行。
存储部320具有任务信息存储区域121、多个任务用地址空间122-1到122-n、验证符存储区域223、和页面表存储区域324。
任务信息存储区域121以及多个任务用地址空间122-1到122-n和现有技术的任务管理系统100中的任务信息存储区域121以及多个任务用地址空间122-1到122-n的结构相同。
验证符存储区域223和上述第一实施方式的任务管理系统200中的验证符存储区域223的结构相同。
页面表存储区域324是存储用于以分页方式管理任务用地址空间的页面表的区域。页面表如图7所示,用于关联页面和地址范围。这样的页面表,因为在具有分页方式虚拟存储装置的电子计算机中是一般的数据,所以省略详细说明。
(本发明的第二实施方式的任务管理系统的操作)以下参照图8到图12说明本实施方式的任务管理系统300的操作。此外,任务中断功能112和任务重新开始功能113和任务切换功能114的操作,因为和现有技术的操作相同,验证功能216的操作,因为和上述第一实施方式的操作相同,所以省略说明。
第一,参照图8说明任务管理系统300的管理功能311在进行任务切换时执行的操作。
如图8所示,在步骤S101,管理功能311在进行任务切换时,对于任务中断功能112指示把当前执行状态的任务变为执行待机状态。这里,把当前执行状态的任务称为“任务A”。
在步骤S111,管理功能311对于验证功能216指示更新任务A的验证符。
在步骤S102,管理功能311对于任务切换功能114指示使选择作为重新开始执行对象的任务,切换任务用地址空间。这里,把作为重新开始执行对象选择的任务称为“任务B”。
在步骤S122,管理功能311对于访问检测功能317指示使进行关于任务B的访问检测的设定。
在步骤S103,管理功能311对于任务重新开始功能113指示使任务B变成执行状态,本操作结束。
第二,参照图9,说明任务管理系统300的访问检测功能317在由管理功能211指示进行关于任务的访问检测的设定时的操作。
在步骤S401,访问检测功能317,在由管理功能211指示进行关于任务的访问检测的设定时,把指定的任务的任务号码代入变量T。
在步骤S402,访问检测功能317,访问验证符存储区域233,在任务号码是“T”的任务的验证符存储数据中,确认是否存在需要进行访问检测的设定的行。
这里,补充说明在步骤S402是否需要进行访问检测的设定的行的判断基准。例如,这样的判断基准之一是有效标志栏的值是“真值”,而且规定期间不成为步骤S404的处理对象的行被认为是需要进行访问检测的进行的行的基准。这里,所谓规定期间,例如是从完成步骤S401的处理开始到本操作结束为止的期间。
在步骤S403,在这样的行存在时,本操作前进到步骤S404,在这样的行不存在时,本操作结束。此外,以下把这样的1行称为“行L”。
在步骤S404,访问检测功能317把行L的地址范围栏的值代入变量R。
在步骤S405,访问检测功能317设定为,操作页面表存储区域324中存储的页面表,在检测到对在包含地址范围R的页面中存储的数据的访问时使发生页面错误。
补充说明步骤S405的处理的“包含地址范围R的页面”的意义。
这里,所谓“包含地址范围R的页面”是被完全包含在用“R”指定的地址范围的页面、以及包含用“R”指定的地址范围的两端点的地址的页面。
例如,地址范围R在如图10所示那样的范围时,所谓“包含地址范围R的页面”是被完全包含在用“R”指定的地址范围的页面(页面C)、包含用“R”指定的地址范围的两端点的地址的页面(页面B以及D),即页面B、C、D。
作为在步骤S405的处理的具体的实施手段,考虑通过变更存储特定页面的管理数据的页面表的条目,设定对该页面禁止读写,或者不把该特定页面与物理页面(页面帧)关联对应那样设定等。
第三,参照图11说明在发生页面错误时任务管理系统300的访问检测功能317执行的操作。
在步骤S501,访问检测功能317把发生页面错误的任务的任务号码代入变量T,把发生页面错误的地址代入变量A。
在步骤S502,访问检测功能317访问验证符存储区域223,在任务号码是“T”的任务的验证符存储数据中,确认地址范围栏的值是“A”的附近的行是否存在。
这里补充说明在步骤S502的处理。在步骤S502的处理中,作为用于判断地址范围栏的值是否是“A”的附近的判断基准,考虑以下的基准。
例如,考虑根据地址范围栏的值包含“A”判断“是‘A’的附近”的基准(基准C1)、根据包含地址范围栏的值的页中包含“A”判断“是‘A’的附近”的基准(基准C2)、根据包含地址范围栏的值的页范围及其前后的数页中包含“A”判断“是‘A’的附近”的基准(基准C3)等。
例如,在“A”是图12所示的值时,在采用基准C1时,只有地址范围R1是“A”的附近;采用基准C2时,地址范围R1以及R2是“A”的附近;采用基准C3时,地址范围R1、R2、R3是“A”的附近。
在步骤S503,在这样的行存在时,本操作前进到步骤S504,在这样的行不存在时,本操作结束。此外,以下把这样的1行称为“行L”。
在步骤S504,访问检测功能317对验证功能216指示关于行L进行验证。
在步骤S505,访问检测功能317,在从验证功能216接收到验证成功的报告时,本操作前进到步骤S506,在这以外时,本操作前进到步骤S507。
在步骤S506,访问检测功能317把行L的有效标志栏的值设定为“伪值”,本操作结束。
步骤S506的处理的目的是,通过访问在任务用地址空间中存储的数据,因为有该数据内容变化的可能性,记载需要再生成该任务的验证符,以及在有意更新在该任务用地址空间中存储的数据后,在该任务用地址空间的附近再次发生页面错误时,防止错误地报告验证失败。
但是,在步骤S506的处理是任选的。亦即,在步骤S505,访问检测功能317在从验证功能216接收到验证成功的报告时,本操作也可以不执行步骤S506结束。
在步骤S507,访问检测功能317进行异常检测处理,本操作结束。此外,步骤S507的异常检测处理,是和在上述第一实施方式中在管理功能211进行任务切换时执行的步骤S114的处理同样的处理。
(本发明的第二实施方式的任务管理系统的作用、效果)根据本实施方式的任务管理系统300,因为只在访问检测功能317检测到向在任务用地址空间中存储的数据发生访问时,验证功能216才进行关于上述任务的验证符的验证,在不向该数据进行访问时,省略关于上述任务的验证符的验证,因此可以减小为检测在该任务在执行待机状态期间在该任务用地址空间中存储的数据发生变化的处理负荷。
另外,根据本实施方式的任务管理系统300,即使是在数据中实际发生变化时,在不由特定的任务访问该数据时,有时不能检测到该数据变化,但是不由该任务访问这样的事情,同时该数据的变化,有时也对该数据的处理无影响。
亦即,根据本实施方式的任务管理系统300,可以只检测有可能影响任务的处理的数据的变化。
另外,根据本实施方式的任务管理系统300,因为任务在执行待机状态期间在该任务用地址空间中存储的数据发生变化这一事情可以在由该任务访问该数据时以非常高的概率检测出,所以检测不到进而漏掉该任务的重要数据被非法地改写或在存储部320中存储的数据随意变化,而对使用该数据的该任务给予影响的可能性极小。
权利要求
1.一种任务管理系统,是在并行执行多个任务的操作系统中的任务管理系统,其特征在于,包括执行待机状态变更部,其在把任务从执行状态变更为执行待机状态时,根据在该任务用地址空间中存储的数据生成该任务的验证符并存储在验证符存储区域中;和执行状态变更部,其在把任务从执行待机状态变更为执行状态时,根据在该任务用地址空间中存储的数据生成该任务的验证符,对与在上述验证符存储区域中存储的该任务的验证符是否一致进行验证。
2.根据权利要求1所述的任务管理系统,其特征在于,上述验证符存储区域存储将上述任务用地址空间内的规定地址范围和上述任务的验证符相关联的记录,上述执行待机状态变更部,对需要更新上述任务的验证符的记录中的上述任务的验证符进行更新,存储在上述验证符存储区域中。
3.根据权利要求2所述的任务管理系统,其特征在于,上述验证符存储区域存储将上述规定地址范围和上述任务的验证符以及有效标志相关联的记录,上述执行待机状态变更部将上述有效标志设定为伪值的记录判断为需要更新上述任务的验证符的记录,更新该记录中的上述任务的验证符,存储在上述验证符存储区域中。
4.根据权利要求2所述的任务管理系统,其特征在于,上述执行待机状态变更部将上述任务的验证符规定期间没有被更新的记录判断为需要更新上述任务的验证符的记录,更新该记录中的上述任务的验证符,存储在上述验证符存储区域中。
5.根据权利要求1至4中任意一项所述的任务管理系统,其特征在于,上述执行待机状态变更部以及上述执行状态变更部将通过把在上述任务用地址空间中存储的数据输入到安全杂乱函数或者可逆编码函数中而计算出来的数据作为上述任务的验证符。
6.根据权利要求2到4中任意一项所述的任务管理系统,其特征在于,上述执行待机状态变更部以及上述执行状态变更部,在上述规定地址范围比规定阈值小时,将通过把在上述任务用地址空间中存储的数据输入到可逆编码函数中而计算出来的数据作为上述任务的验证符;在上述规定地址范围比规定阈值大时,将通过把在上述任务用地址空间中存储的数据输入到安全杂乱函数中而计算出来的数据作为上述任务的验证符。
7.根据权利要求2到4中任意一项所述的任务管理系统,其特征在于,包括访问检测部,其对在特定的上述记录中的规定地址范围内存储的数据曾被访问,进行检测。
8.根据权利要求7所述的任务管理系统,其特征在于,上述任务用地址空间以分页方式管理,上述访问检测部,在检测到在包含上述特定的记录中的规定地址范围的页面内存储的数据曾被访问时,发生页面错误。
9.根据权利要求8所述的任务管理系统,其特征在于,包括验证部,其在发生上述页面错误时,在包含该页面错误发生的地址附近的规定地址范围的记录中,进行关于上述任务的验证符的上述验证。
全文摘要
在任务处于执行待机状态的期间中、在该任务的任务用地址空间中存储的数据中检测出会对该任务处理给予影响的变化。本发明的任务管理系统(210)具有执行待机状态变更部和执行状态变更部,该执行待机状态变更部在把任务从执行状态变更到执行待机状态时,根据在该任务用地址空间中存储的数据,生成该任务的验证符并存储在验证符存储区域(223)中;该执行状态变更部在把任务从执行待机状态变更到执行状态时,根据在该任务用地址空间(122-1~122-n)中存储的数据,生成该任务的验证符并验证是否与在上述验证符存储区域(223)中存储的该任务的验证符一致。
文档编号G06F9/46GK1716208SQ20051008046
公开日2006年1月4日 申请日期2005年7月1日 优先权日2004年7月2日
发明者江头彻, 稻村雄, 竹下敦 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1