任务互斥
被考次数: 1次
被考频率: 低频率
答错率:    41%
知识难度:
考试要求: 掌握     
知识路径:  > 嵌入式系统软件基础知识  > 嵌入式操作系统基础知识  > 处理器管理  > 同步与互斥(竞争条件、临界区、互斥、信号量、思锁等)  > 任务间的同步与互斥


本知识点历年真题试卷分布
>> 试题列表    
 

 
       在多道程序操作系统当中,两个或多个任务对同一个共享数据进行读写操作,最后的结果是不可预测,它取决于各个任务的具体运行情况。人们把这种现象叫着竞争条件。那么如何来解决竞争条件的问题呢?既然问题产生的根源在于两个或者多个任务对某一个共享数据同时进行读写操作,那么解决的方法就是在同一个时刻,只允许一个任务来访问这个共享数据。也就是说,如果当前已经有一个任务正在访问这个共享数据,那么其他的任务暂时都不能访问,只能等它先用完。这就是任务之间的互斥。
       可以用一种抽象的形式来表示这个问题。把一个任务在运行过程中所做的各种事情分为两类,第一类是任务内部的计算或其他的一些事情,这些事情肯定不会导致竞争条件的出现;第二类是对共享资源进行访问,这些访问可能会导致竞争条件的出现。人们将相应的那一部分程序称为是临界区,把需要互斥访问的共享资源称为是临界资源。这样,如果能够设计出某种方法,使得任何两个任务都不会同时进入到它们的临界区当中,那么就可以避免竞争条件的出现。不过,这只是一个最基本的要求。在具体实现的时候,还必须考虑其他的一些问题。为此,人们提出了实现互斥访问的四个条件:
       .在任何时候最多只能有一个任务位于它的临界区当中;
       .不能事先假定CPU的个数和系统的运行速度;
       .如果某一个任务没有位于它的临界区当中,它不能妨碍其他的任务去访问临界资源;
       .任何一个任务进入临界区的请求必须在有限的时间内得到满足,不能无限期地等待。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有