AutoSAR系列讲解(实践篇)8.5-C/S原理进阶

本文深入探讨了AutoSAR中的C/S接口同步调用和异步调用,包括带时限、循环等待和触发三种异步情况。同步调用允许设置超时限制,而异步调用涉及并行运行的代码,通过Timeout、Polling和Trigger机制处理数据返回。
摘要由CSDN通过智能技术生成

C/S原理进阶

->返回总目录<-
记得之前有小伙伴来问过我C/S接口异步和同步的问题,下面我们就展开来详细聊聊这个事。C/S接口大家应该比较熟悉了已经,同样放链接,忘记了的小伙伴可以回头看看2.3节3.4节

一、同步调用

同步调用Server是可以设置时限(Timeout)的,一旦超过时限,就Return(timeout)。直接上图讲解:
在这里插入图片描述
之前说过,同步调用就和直接调用函数类似,是直接从原文切换到被调用的函数中执行,但是这里又设置了一个时限,防止运行时间过长耽误其他处理。我们还是理一下流程:

实践的7.6节,我们将继续深入了解AUTOSAR系列的OS原理进阶。这一节主要讲解了任务调度算法和任务锁。 在AUTOSAR,任务调度是非常重要的,它决定了任务的执行顺序。本节介绍了两种常见的任务调度算法:静态优先级和动态优先级。静态优先级是在设计时就确定了每个任务的优先级,这样可以从任务优先级最高的开始执行,确保高优先级任务不被低优先级任务阻塞。动态优先级是根据任务的实时状态来决定任务的优先级,任务的状态可以根据一些指标,如任务运行时间长短等来确定。这种任务调度算法更加灵活,可以根据实际情况动态地调整任务的优先级。 除了任务调度算法外,本节还介绍了任务锁的概念。任务锁可以用来保护被多个任务访问的共享资源,确保在同一时间只有一个任务可以访问该资源。任务锁可以通过禁用断或者使用互斥锁来实现。禁用断的方式简单粗暴,但会导致系统的实时性降低,因此通常不推荐使用。互斥锁则是利用操作系统提供的相关API进行操作,可以确保在访问共享资源期间其他任务无法访问该资源,从而保证数据的完整性和一致性。 总的来说,在AUTOSAR,任务调度算法和任务锁是实现任务管理和资源保护的重要手段。了解这些原理可以帮助我们更好地设计和开发AUTOSAR架构。接下来,我们可以通过实际案例的练习来进一步巩固和应用这些知识。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪云飞星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值