Presentation is loading. Please wait.

Presentation is loading. Please wait.

临界区问题的硬件指令解决方案 (Synchronization Hardware)

Similar presentations


Presentation on theme: "临界区问题的硬件指令解决方案 (Synchronization Hardware)"— Presentation transcript:

1 临界区问题的硬件指令解决方案 (Synchronization Hardware)

2 硬件同步机制 CPU制造者为临界区问题提供硬件支持 单处理器架构 – 利用“关中”途径 关中后,当前执行的代码段(临界区)不会被强占
“关中”法在多处理器架构中太低效,不解决问题

3 硬件同步机制(续) 提供硬件指令,体现原子操作(atomic)特征 Atomic = 不可中断 一种是“测试并赋值”
(test memory word and set value) 一种是“交换内存内容” (swap contents of two memory words)

4 TestAndSet指令 定义: boolean TestAndSet (boolean *target) {
boolean rv = *target; *target = TRUE; return rv: }

5 利用TestAndSet指令,设计解决方案
共享一个布尔变量lock,初始化为FALSE 算法: while (true) { while ( TestAndSet (&lock )) ; /* do nothing // critical section lock = FALSE; // remainder section }

6 Swap指令 定义: void Swap (boolean *a, boolean *b) { boolean temp = *a;
*b = temp: }

7 利用Swap指令,设计解决方案 共享一个布尔变量lock,初始化为FALSE 每个进程独有一个布尔变量key while (true) {
key = TRUE; while ( key == TRUE) Swap (&lock, &key ); // critical section lock = FALSE; // remainder section }

8 利用硬件指令的N进程临界区方案 无论运用TestAndSet指令,还是 Swap指令,似乎都不能满足Bounded Waiting条件

9 END


Download ppt "临界区问题的硬件指令解决方案 (Synchronization Hardware)"

Similar presentations


Ads by Google