首页 > 知识点讲解
       任务同步
知识路径: > 嵌入式系统软件基础知识 > 嵌入式操作系统基础知识 > 处理器管理 > 同步与互斥(竞争条件、临界区、互斥、信号量、思锁等) > 任务间的同步与互斥 > 
相关知识点:11个      
        一般来说,一个任务相对于另一个任务的运行速度是不确定的,也就是说,任务是在异步环境下运行的。每个任务都以各自独立的、不可预知的速度向前推进。但是在有些时候,在两个或多个任务中执行的某些代码片断之间,可能存在着某种时序关系或先后关系,因此这些任务必须协同合作、相互配合,使各个任务按一定的速度运行,以共同完成某一项工作,这就是任务间的同步。
        要实现任务之间的同步,可以使用信号量机制,通过引入P、V操作来设定两个任务在运行时的先后顺序。例如,可以把信号量视为某个共享资源的当前个数,然后由一个任务负责生成这种资源,而另一个任务则负责消费这种资源,这样,就构成了这两个任务之间的先后顺序。在具体实现上,一般把信号量的初始值设为N,N大于或等于0。然后在一个任务的内部使用V原语,增加资源的个数;而在另一个任务的内部使用P原语,减少资源的个数,从而实现这两个任务之间的同步关系。
        例如,假设有两个任务T1和T2。T1做的事情主要是代码片断A,T2做的事情主要是代码片断B。任务T1和T2同时位于系统当中,相互独立地运行。但由于这两个任务之间存在某种同步关系,要求代码A必须先执行,然后代码B才能执行。例如说,A负责采集信号,B负责对这些信号进行处理,显然,只有当A把信号采集进来之后,B才能去处理。由于在多道程序的操作系统当中,各个任务的执行是相互独立的,系统可能先调度任务T1去运行,也可能先调度任务T2去运行,这是由调度算法来决定的。因此无法保证任务T1肯定比任务T2先执行。但是为了实现任务之间的同步,必须保证,无论是任务T1先执行还是任务T2先执行,从最后的结果来看,代码片断A必须先执行,然后代码片断B才能执行。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


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