进程处理方法及相关产品与流程

文档序号:25543360发布日期:2021-06-18 20:40

技术特征:

1.一种进程处理方法,其特征在于,包括:

在确定用户运行态发起第一进程以访问临界区域,和/或,确定内核运行态发起第二进程以访问所述临界区域时,判断所述临界区域是否正在被其他进程所访问;

若确定所述临界区域未正在被其他进程所访问,允许所述第一进程或所述第二进程访问所述临界区域。

2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:

若确定所述临界区域正在被其他进程所访问,则等待所述其他进程退出所述临界区域,并在确定所述其他进程退出所述临界区域时,允许所述第一进程或所述第二进程访问所述临界区域。

3.根据权利要求1所述的方法,其特征在于,判断所述临界区域是否正在被其他进程所访问,包括:

调用原子操作,并采用所述原子操作检测预设的配置参数的数值;

若采用所述原子操作确定所述配置参数的数值为预设值,则确定所述临界区域未正在被其他进程所访问;

若采用所述原子操作确定所述配置参数的数值不为预设值,则确定所述临界区域正在被其他进程所访问。

4.根据权利要求3所述的方法,其特征在于,在允许所述第一进程或所述第二进程访问所述临界区域之后,还包括:

在允许所述第一进程访问所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述第一进程的进程标识;

在允许所述第二进程访问所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述第二进程的进程标识。

5.根据权利要求4所述的方法,其特征在于,采用所述原子操作将所述配置参数的数值,设置为所述第一进程的进程标识,包括:

采用所述原子操作,利用所述用户运行态的虚拟地址,将内存单元中的所述配置参数的数值设置为所述第一进程的进程标识;

采用所述原子操作将所述配置参数的数值,设置为所述第二进程的进程标识,包括:

采用所述原子操作,利用所述内核运行态的虚拟地址,将内存单元中的所述配置参数的数值设置为所述第二进程的进程标识。

6.根据权利要求4所述的方法,其特征在于,在采用所述原子操作将所述配置参数的数值,设置为所述第一进程的进程标识之后,还包括:

在确定所述第一进程退出所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述预设值;

在采用所述原子操作将所述配置参数的数值,设置为所述第二进程的进程标识之后,还包括:

在确定所述第二进程退出所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述预设值。

7.根据权利要求1-6任一项所述的方法,其特征在于,允许所述第一进程或所述第二进程访问所述临界区域,包括:

确定所述第一进程的发起时间和所述第二进程的发起时间;在所述第一进程的发起时间早于所述第二进程的发起时间时,允许所述第一进程访问所述临界区域,在所述第二进程的发起时间早于所述第一进程的发起时间时,允许所述第二进程访问所述临界区域;

或者,所述第一进程具有优先级,所述第二进程具有优先级;允许所述第一进程和第二进程中优先级最高的进程,访问所述临界区域。

8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法,还包括:

在检测到发生进程异常退出情况时,调用原子操作;

在采用所述原子操作检测到预设的配置参数的数值,是发生异常退出的进程的进程标识时,采用所述原子操作,将所述配置参数的数值,设置为预设值。

9.一种处理器,其特征在于,所述处理器,包括:

第一确定单元,用于在确定用户运行态发起第一进程以访问临界区域,和/或,确定内核运行态发起第二进程以访问所述临界区域时,判断所述临界区域是否正在被其他进程所访问;

第二确定单元,用于若确定所述临界区域未正在被其他进程所访问,允许所述第一进程或所述第二进程访问所述临界区域。

10.根据权利要求9所述的处理器,其特征在于,所述处理器,还包括:

第三确定单元,用于若确定所述临界区域正在被其他进程所访问,则等待所述其他进程退出所述临界区域,并在确定所述其他进程退出所述临界区域时,允许所述第一进程或所述第二进程访问所述临界区域。

11.根据权利要求9所述的处理器,其特征在于,所述第一确定单元,包括:

检测模块,用于调用原子操作,并采用所述原子操作检测预设的配置参数的数值;

第一确定模块,用于若采用所述原子操作确定所述配置参数的数值为预设值,则确定所述临界区域未正在被其他进程所访问;

第二确定模块,用于若采用所述原子操作确定所述配置参数的数值不为预设值,则确定所述临界区域正在被其他进程所访问。

12.根据权利要求11所述的处理器,其特征在于,所述处理器,还包括:

第一配置单元,用于在所述第二确定单元允许所述第一进程或所述第二进程访问所述临界区域之后,在允许所述第一进程访问所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述第一进程的进程标识;

或者,第二配置单元,用于在所述第二确定单元允许所述第一进程或所述第二进程访问所述临界区域之后,在允许所述第二进程访问所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述第二进程的进程标识。

13.根据权利要求12所述的处理器,其特征在于,第一配置单元,具体用于:

采用所述原子操作,利用所述用户运行态的虚拟地址,将内存单元中的所述配置参数的数值设置为所述第一进程的进程标识;

所述第二配置单元,具体用于:

采用所述原子操作,利用所述内核运行态的虚拟地址,将内存单元中的所述配置参数的数值设置为所述第二进程的进程标识。

14.根据权利要求12所述的处理器,其特征在于,所述处理器,还包括:

第三配置单元,用于在所述第一配置单元采用所述原子操作将所述配置参数的数值,设置为所述第一进程的进程标识之后,在确定所述第一进程退出所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述预设值;

所述处理器,还包括:

第四配置单元,用于在所述第二配置单元采用所述原子操作将所述配置参数的数值,设置为所述第二进程的进程标识之后,在确定所述第二进程退出所述临界区域时,采用所述原子操作将所述配置参数的数值,设置为所述预设值。

15.根据权利要求9-14任一项所述的处理器,其特征在于,所述第二确定单元,具体用于:

确定所述第一进程的发起时间和所述第二进程的发起时间;在所述第一进程的发起时间早于所述第二进程的发起时间时,允许所述第一进程访问所述临界区域,在所述第二进程的发起时间早于所述第一进程的发起时间时,允许所述第二进程访问所述临界区域;

或者,所述第一进程具有优先级,所述第二进程具有优先级;允许所述第一进程和第二进程中优先级最高的进程,访问所述临界区域。

16.根据权利要求9-14任一项所述的处理器,其特征在于,所述处理器,还包括:

调用单元,用于在检测到发生进程异常退出情况时,调用原子操作;

第五配置单元,用于在采用所述原子操作检测到预设的配置参数的数值,是发生异常退出的进程的进程标识时,采用所述原子操作,将所述配置参数的数值,设置为预设值。

17.一种进程处理装置,其特征在于,所述进程处理装置包括一个或多个如权利要求9-16任一所述的处理器,用于从其他处理装置中获取待运算数据和控制信息,并执行指定的处理运算,将执行结果通过i/o接口传递给其他处理装置;

当所述进程处理装置包含多个所述处理器时,所述多个所述处理器间可以通过特定的结构进行连接并传输数据;

其中,多个所述处理器通过快速外部设备互连总线pcie总线进行互联并传输数据;多个所述处理器共享同一控制系统或拥有各自的控制系统;多个所述处理器共享内存单元或者拥有各自的内存单元。

18.一种组合处理装置,其特征在于,包括如权利要求17所述的进程处理装置,通用互联接口和其他处理装置;

所述进程处理装置与所述其他处理装置进行交互,共同完成用户指定的操作。

19.一种芯片,其特征在于,所述芯片包括如权利要求17所述的进程处理装置,或者,所述芯片包括如权利要求18所述的组合处理装置。

20.一种板卡,其特征在于,所述板卡包括如权利要求19所述的芯片。

21.一种电子装置,其特征在于,所述电子装置包括如权利要求19所述的芯片,或者,所述电子装置包括如权利要求20所述的板卡。


技术总结
本申请实施例提供一种进程处理方法及相关产品,该方法包括:在确定用户运行态发起第一进程以访问临界区域,和/或,确定内核运行态发起第二进程以访问临界区域时,判断临界区域是否正在被其他进程所访问;若确定临界区域未正在被其他进程所访问,允许第一进程或第二进程访问临界区域。处理器需要确定当前状态下临界区域没有被其他进程所访问,然后,处理器确定允许进入用户运行态的进程、进入内核运行态的进程,两者其中的一个进程访问临界区域的共用资源。进而,处理器中的进程可以正常进入临界区域,正常访问到共用资源;使得其中一个进程可以成功的访问资源,以完成处理任务。

技术研发人员:赵永刚;尚书林;董明义;李迅
受保护的技术使用者:北京比特大陆科技有限公司
技术研发日:2019.12.12
技术公布日:2021.06.18
再多了解一些
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1