发明名称 在一多緖电脑中之电脑资料之解除配置
摘要 一种在多绪电脑中无须使用计算昂贵之旗号(semaphore)或回转锁定(spin lock),即能支援资料结构解除配置(deallocation)之装置、程式产品以及方法。具体而言,对一资料结构的存取是由一共享指标来控制,当收到将其资料结构解除配置的请求时,此共享指标首先被设成一数值,以向任何之后存取其指标的执行绪表示该资料结构不可用。此外,对于任何已持有之其共享指标复本,进而能在请求初始化后藉由共享指标来存取其资料结构之执行绪而言,藉由判断是否有任何执行绪正在执行可用其共享指标来存取其资料结构的程式码,所有这样的执行绪都被监视着以判断是否有任何执行绪仍在使用此共享指标。一旦满足此条件,便能确信没有执行绪可能藉由其共享指标来存取此资料结构。如此一来,资料结构便可解除配置。
申请公布号 TWI267782 申请公布日期 2006.12.01
申请号 TW093105594 申请日期 2004.03.03
申请人 万国商业机器公司 发明人 威廉 乔瑟夫 阿姆斯壮;彼得 乔瑟夫 黑尔曼;纳惹许 纳亚
分类号 G06F9/30(2006.01) 主分类号 G06F9/30(2006.01)
代理机构 代理人 蔡玉玲 台北市大安区敦化南路2段218号5楼A区
主权项 1.一种从一逻辑性分区电脑删除一分区的方法,该逻辑性分区电脑之类型包含由一分区管理器管理之复数个逻辑性分区,该逻辑性分区电脑更包含复数个执行緖执行于上,且该分区管理器存取一与被删除之该分区相关之分区控制块,该方法包含以下:增加一与该复数个执行緖中之一第一执行緖相关之序号至一奇数及一偶数値其中之一,当该第一执行緖进入该分区管理器之程式码时;增加该序号从一奇数与一偶数値之另一个,当该第一执行緖跳出该程式码时;以及解除配置该分区控制块,藉由:设定指向该分区控制块之一共享指标为一空値,以表示该分区控制块为不可用;撷取该序号之一値;等待直到每一该复数个执行緖不再使用该共享指标,藉由监视每个执行緖以判断每个执行緖是否正在执行使用该共享指标之程式码,包含判断该第一执行緖不再使用该共享指标,以回应满足复数个条件中的至少其中之一,该复数个条件包含一该第一执行緖非现用(inactive)之第一条件、一该第一执行緖正在该分区管理器之一闲置回圈中执行之第二条件、一该序号被设定为该奇数或偶数値的该其中之一之第三条件、以及一该序号已从该撷取値改变之第四条件;以及解除配置该分区控制块于等待后直到每一该复数个执行緖不再使用该共享指标。2.一种解除配置被执行于一电脑中之复数个执行緖所存取之一资料结构的方法,该方法回应解除配置该资料结构之一请求系包含:设定一共享指标至该资料结构为一预定値,该预定値告知之后存取该指标之一执行緖该资料结构为不可用;等待直到每一该复数个执行緖不再使用该共享指标,藉由监视每个执行緖以判断每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码;以及解除配置该资料结构在等待后直到每一该复数个执行緖不再使用该共享指标。3.如申请专利范围第2项所述之方法,其中判断每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码包含:判断该复数个执行緖中之一第一执行緖是否非现用。4.如申请专利范围第2项所述之方法,其中判断每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码包含:判断该复数个执行緖中之一第一执行緖是否正在执行一闲置回圈。5.如申请专利范围第4项所述之方法,其中该闲置回圈为一分区管理器闲置回圈。6.如申请专利范围第2项所述之方法,其中判断一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码包含:判断一与该复数个执行緖中之一第一执行緖相关之指示器是否表示该第一执行緖目前正在执行其他程式码。7.如申请专利范围第2项所述之方法,其中判断一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码更包含:判断一与该复数个执行緖中之一第一执行緖相关之指示器是否表示该第一执行緖已跳出该程式码。8.如申请专利范围第2项所述之方法,其中判断一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码包含:判断一与该复数个执行緖中之一第一执行緖相关之指示器是否表示该第一执行緖目前正在执行该程式码或该第一执行緖已跳出该程式码,其中该指示器包含一序号,当该第一执行緖进入该程式码时,该序号从一第一値被更新成一第二値,且当该第一执行緖跳出该程式码时,该序号从该第二値被更新成一第三値,且其中判断与该第一执行緖相关之该指示器是否表示该第一执行緖已跳出该程式码包含:将该指示器与一较早値作比较。9.如申请专利范围第2项所述之方法,更包含:增加一与该复数个执行緖中之一第一执行緖相关之序号,由选自一第一组数値之一第一値至选自一第二组数値之一第二値,当该第一执行緖进入该程式码时;以及增加该序号从该第二値至选自该第一组数値之一第三値,当该第一执行緖跳出该程式码时;其中等待直到每一该复数个执行緖不再使用该共享指标包含:撷取该序号之一値于监视每一执行緖之前,以及其中判断每一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码包含:判断与该第一执行緖相关之该序号是否具有选自该第二组数値之一値,以及判断该序号是否具有与该撷取値不同之一値。10.如申请专利范围第9项所述之方法,其中该第一组数値由复数个奇数组成,该第二组数値由复数个偶数组成。11.如申请专利范围第2项所述之方法,其中该电脑为一逻辑性分区电脑,且其中该程式码包含一可存取至该电脑之复数个逻辑性分区之分区管理器。12.如申请专利范围第11项所述之方法,其中该程式码包含该分区管理器之一不可调度部份。13.如申请专利范围第11项所述之方法,其中该资料结构包含该分区管理器使用之一分区控制块。14.如申请专利范围第2项所述之方法,其中设定该共享指标至该预定値包含:设定该共享指标为一空値。15.如申请专利范围第2项所述之方法,其中该复数个执行緖包含在一单緖处理器上执行之一第一执行緖。16.如申请专利范围第2项所述之方法,其中该复数个执行緖包含在一多緖处理器上执行之第一及第二执行緖。17.一种解除配置一资料结构之装置,包含:一记忆体,于其中常驻一资料结构;至少一处理器,用以执行复数个执行緖;以及程式码,用以被该至少一处理器执行以解除配置该资料结构,其回应一解除配置该资料结构之请求,藉由设定一指向该资料结构之共享指标为一预定値,以告知之后存取该指标之一执行緖该资料结构为不可用、等待直到每一该复数个执行緖不再使用该共享指标,透过监视每个执行緖以决定每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码、以及解除配置该资料结构在等待后直到每一该复数个执行緖不再使用该共享指标。18.如申请专利范围第17项所述之装置,其中该程式码经由判断该复数个执行緖中之一第一执行緖是否为非现用,以判断每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码。19.如申请专利范围第17项所述之装置,其中该程式码经由判断该复数个执行緖中之一第一执行緖是否正在执行一闲置回圈,以判断每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码。20.如申请专利范围第19项所述之装置,其中该闲置回圈为一分区管理器闲置回圈。21.如申请专利范围第17项所述之装置,其中该程式码经由判断一与该复数个执行緖中之一第一执行緖相关之指示器是否表示该第一执行緖目前正执行其他程式码,以判断一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码。22.如申请专利范围第17项所述之装置,其中该程式码进一步经由判断一与该复数个执行緖中之一第一执行緖相关之指示器是否表示该第一执行緖已跳出该程式码,来判断一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码。23.如申请专利范围第17项所述之装置,其中该程式码经由判断一与该复数个执行緖中之一第一执行緖相关之指示器是否表示该第一执行緖目前正在执行该程式码或该第一执行緖已跳出该程式码,来判断一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码,其中该指示器包含一序号,当该第一执行緖进入该程式码时,该序号从一第一値被更新成一第二値,且当该第一执行緖跳出该程式码时,该序号从该第二値被更新成一第三値,且其中该程式码经由比较该指示器与一较早値,来判断与该第一执行緖相关之该指示器是否表示该第一执行緖已跳出程式码。24.如申请专利范围第17项所述之装置,其中该程式码更用以当该第一执行緖进入该程式码时,增加一与该复数个执行緖中之一第一执行緖相关之序号,由选自一第一组数値之一第一値至选自一第二组数値之一第二値,以及用以当该第一执行緖跳出该程式码时,增加该序号从该第二値至选自该第一组数値之一第三値,其中该程式码藉由在监视每一执行緖之前撷取该序号之一値,以等待直到每一该复数个执行緖不再使用该共享指标,其中该程式码藉由判断与该第一执行緖相关之该序号是否具有选自该第二组数値之一値,以及该序号是否具有与该撷取値不同之一値,来判断每一执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码。25.如申请专利范围第24项所述之装置,其中该第一组数値由复数个奇数组成,该第二组数値由复数个偶数组成。26.如申请专利范围第17项所述之装置,其中该装置用以作为一逻辑性分区电脑,且其中该程式码包含一可存取至执行于该至少一处理器上之复数个逻辑性分区之分区管理器。27.如申请专利范围第26项所述之装置,其中该程式码包含该分区管理器之一不可调度部份。28.如申请专利范围第26项所述之装置,其中该资料结构包含该分区管理器使用之一分区控制块。29.如申请专利范围第17项所述之装置,其中该程式码藉由设定该共享指标为一空値,以设定该共享指标至该预定値。30.如申请专利范围第17项所述之装置,其中该至少一处理器包含一单緖处理器。31.如申请专利范围第17项所述之装置,其中该至少一处理器包含一多緖处理器。32.一种程式产品,包含:程式码,用以解除配置一可由一电脑中执行之复数个执行緖所存取之资料结构,其回应一解除配置该资料结构之请求,藉由设定一指向该资料结构之共享指标为一预定値、等待直到每一该复数个执行緖不再使用该共享指标,透过监视每个执行緖以决定每个执行緖是否正在执行可使用该共享指标以存取该资料结构之程式码、以及解除配置该资料结构在等待后直到每一该复数个执行緖不再使用该共享指标来完成,其中该预定値告知之后存取该指标之一执行緖该资料结构为不可用;以及一载有该程式产品之讯号负载媒体。33.如申请专利范围第32项所述之程式产品,其中该讯号负载媒体包含至少一传输媒体及一可录式媒体其中之一。图式简单说明:图1为根据本发明的一逻辑性分区电脑中之主要硬体元件的方块图。图2为一分区管理器记忆体空间之方块图,其说明图1中之逻辑性分区电脑用于分区管理的一些资料结构。图3为一流程图,其说明由图1电脑执行之一存取分区方块例行程序的程式流程。图4为一流程图,其说明由图1电脑执行之一存取分区管理器例行程序的程式流程。图5为一流程图,其说明由图1电脑执行之一删除逻辑性分区例行程序的程式流程。图6为一流程图,其说明由参考图5之可调度服务所执行的一等待例行程序之程式流程。
地址 美国