操作系统互斥实现的硬件方法
发布时间
阅读量:
阅读量
为了应对进程互斥导致进入临界区的问题,必须采取有效的措施。通过硬件手段实现互斥的有两种主要方法:禁止中断和专用机器指令。
1、禁止中断
在单一处理器环境下进行多任务处理时,各个进程无法在同一时刻占用CPU资源,而是必须轮流使用。另一方面,对于每一个进程而言,它会持续运行直至被操作系统打断或终止。因此,为了确保资源间的互斥性,只需要防止任何一个进程被操作系统打断即可实现这一目标;这可以通过使系统内核处于启用状态并禁止中断操作来达到目的
由于在临界区域内进程无法被中断而导致互斥机制得以实现。然而该方法的成本高昂导致进程只能轮流执行。
另外,在多处理机环境中,不允许中断仅影响执行当前指令的中央处理器而不影响其他中央处理器的工作,并因而无法实现对该临界区的互斥访问
2、专用机器指令
许多计算机(尤其是多处理机)设置了专用指令以克服互斥问题。根据所采用指令的类型区分,硬件方法分为TS命令与SWAP命令两种类型。
1)TS(Test and Set)指令
TS指令的作用是在识别特定标志后将其设置为True。 TS指令可以通过特定函数实现其功能
boolean TS(lock);
boolean lock;
{
boolean temp;
temp = lock;
lock = true;
全部评论 (0)
还没有任何评论哟~
