发明名称 |
一种多核操作系统可重构容错启动方法 |
摘要 |
一种多核操作系统可重构容错启动方法,设置同步信号为初始状态,设置自旋锁为未被占用;各处理器核完成初始化后,申请自旋锁;申请到自旋锁的处理器核进入核间互斥访问的临界区,其余处理器核阻塞在自旋锁上;第一个申请到自旋锁的处理器核将自己的处理器核ID设置为主核ID号,并设置同步信号,然后释放自旋锁;后续申请到自旋锁的处理器核通过读取到的值得知自己为从核,且主核ID对应的处理器核为主核,释放自旋锁;主核完成内存、总线设备及操作系统内核的初始化后通过设置核间同步信号启动从核,使主核和从核同时开始任务调度。本发明能够在主核故障时仍能正常启动其他处理器核运行,提高了多核计算机的可靠性。 |
申请公布号 |
CN104063295A |
申请公布日期 |
2014.09.24 |
申请号 |
CN201410295331.2 |
申请日期 |
2014.06.26 |
申请人 |
北京控制工程研究所 |
发明人 |
王婧;彭飞;刘波;华更新;龚健;高益军;杨桦;刘鸿瑾;张绍林;许娜 |
分类号 |
G06F11/16(2006.01)I;G06F9/445(2006.01)I |
主分类号 |
G06F11/16(2006.01)I |
代理机构 |
中国航天科技专利中心 11009 |
代理人 |
安丽 |
主权项 |
一种多核操作系统可重构容错启动方法,其特征在于实现步骤如下:(1)各个处理器核上电/复位后并行启动,设置使各个处理器核同步的核间同步信号VAR<sub>Sync</sub>为初始状态S<sub>0</sub>,设置处理器核间共用的自旋锁VAR<sub>Spinlock</sub>为未被占用;(2)各处理器核完成各自的初始化后,申请自旋锁VAR<sub>Spinlock</sub>;(3)第一个申请到自旋锁的处理器核将自己的处理器核ID设置为主核ID号VAR<sub>MID</sub>,并设置核间同步信号VAR<sub>Sync</sub>为中间状态S<sub>1</sub>,其余处理器核阻塞在自旋锁上;第一个申请到自旋锁的处理器核完成以上操作后,释放自旋锁VAR<sub>Spinlock</sub>;(4)后续申请到自旋锁的处理器核通过读取到核间同步信号VAR<sub>Sync</sub>的值为S<sub>1</sub>得知自己为从核、主核ID号VAR<sub>MID</sub>对应的处理器核为主核,于是立即释放自旋锁;(5)主核完成内存、总线设备及操作系统内核的初始化后通过设置核间同步信号VAR<sub>Sync</sub>为S<sub>2</sub>启动从核,使主核和从核同时开始任务调度;(6)所有从核循环读取核间同步信号VAR<sub>Sync</sub>的值,直到该值由S1变化为S<sub>2</sub>后开始多核并行调度。 |
地址 |
100080 北京市海淀区北京2729信箱 |